Loading .idea/sonarlint/issuestore/index.pb +3 −1 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ F public/index.php,0/e/0e61f67641b441bb3ee38e903c594d99cafa14b4 _ /src/Repository/ReadFileLineByLineRepository.php,7/c/7c103dcd8c0314a8821f84f7886754511983a720 X (src/Actions/ReadFileLineByLineAction.php,b/b/bb599184d4f741824c29e585018cdb8069747a80 No newline at end of file .idea/sonarlint/securityhotspotstore/index.pb +3 −1 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ F public/index.php,0/e/0e61f67641b441bb3ee38e903c594d99cafa14b4 _ /src/Repository/ReadFileLineByLineRepository.php,7/c/7c103dcd8c0314a8821f84f7886754511983a720 X (src/Actions/ReadFileLineByLineAction.php,b/b/bb599184d4f741824c29e585018cdb8069747a80 No newline at end of file src/Actions/ReadFileLineByLineAction.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Actions; use Generator; class ReadFileLineByLineAction { /** * Принимает путь до файла, * проверяет, что файл существует и выводит пользователю построчный вывод используя yield * (файл можешь создать любой) * * @param string $filePath путь до файла * @return string|Generator */ public function act(string $filePath): Generator { if (!file_exists($filePath)) { throw new Exception("неверный путь"); } $file = fopen($filePath, 'r'); while (!feof($file)) { yield fgets($file); } fclose($file); } } src/Controller/ReadFileLineByLineController.php +6 −4 Original line number Diff line number Diff line Loading @@ -2,10 +2,10 @@ namespace App\Controller; use App\Actions\ReadFileLineByLineAction; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use function App\Repository\readFileLineByLine; class ReadFileLineByLineController extends AbstractController { Loading @@ -16,11 +16,13 @@ class ReadFileLineByLineController extends AbstractController * @param string $filePath путь до файла * @return Response */ #[Route('/readbyline/{filePath}', name: 'app_read_file_line_by_line')] public function index(string $filePath) : Response { public function index( string $filePath, ReadFileLineByLineAction $action ) : Response { $file = ""; try{ foreach (readFileLineByLine($filePath) as $line) { foreach ($action->act($filePath) as $line) { $file .= $line; } } catch (\Exception $exception) { Loading src/Repository/ReadFileLineByLineRepository.phpdeleted 100644 → 0 +0 −26 Original line number Diff line number Diff line <?php namespace App\Repository; use Exception; use Generator; /** * Принимает путь до файла, * проверяет, что файл существует и выводит пользователю построчный вывод используя yield * * @param string $filePath путь до файла * @return Generator * @throws Exception если казанного фала нет */ function readFileLineByLine(string $filePath): Generator { if (!file_exists($filePath)){ throw new Exception("неверный путь"); } $file = fopen($filePath, 'r'); while (!feof($file)){ yield fgets($file); } fclose($file); } Loading
.idea/sonarlint/issuestore/index.pb +3 −1 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ F public/index.php,0/e/0e61f67641b441bb3ee38e903c594d99cafa14b4 _ /src/Repository/ReadFileLineByLineRepository.php,7/c/7c103dcd8c0314a8821f84f7886754511983a720 X (src/Actions/ReadFileLineByLineAction.php,b/b/bb599184d4f741824c29e585018cdb8069747a80 No newline at end of file
.idea/sonarlint/securityhotspotstore/index.pb +3 −1 Original line number Diff line number Diff line Loading @@ -7,3 +7,5 @@ F public/index.php,0/e/0e61f67641b441bb3ee38e903c594d99cafa14b4 _ /src/Repository/ReadFileLineByLineRepository.php,7/c/7c103dcd8c0314a8821f84f7886754511983a720 X (src/Actions/ReadFileLineByLineAction.php,b/b/bb599184d4f741824c29e585018cdb8069747a80 No newline at end of file
src/Actions/ReadFileLineByLineAction.php 0 → 100644 +29 −0 Original line number Diff line number Diff line <?php namespace App\Actions; use Generator; class ReadFileLineByLineAction { /** * Принимает путь до файла, * проверяет, что файл существует и выводит пользователю построчный вывод используя yield * (файл можешь создать любой) * * @param string $filePath путь до файла * @return string|Generator */ public function act(string $filePath): Generator { if (!file_exists($filePath)) { throw new Exception("неверный путь"); } $file = fopen($filePath, 'r'); while (!feof($file)) { yield fgets($file); } fclose($file); } }
src/Controller/ReadFileLineByLineController.php +6 −4 Original line number Diff line number Diff line Loading @@ -2,10 +2,10 @@ namespace App\Controller; use App\Actions\ReadFileLineByLineAction; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use function App\Repository\readFileLineByLine; class ReadFileLineByLineController extends AbstractController { Loading @@ -16,11 +16,13 @@ class ReadFileLineByLineController extends AbstractController * @param string $filePath путь до файла * @return Response */ #[Route('/readbyline/{filePath}', name: 'app_read_file_line_by_line')] public function index(string $filePath) : Response { public function index( string $filePath, ReadFileLineByLineAction $action ) : Response { $file = ""; try{ foreach (readFileLineByLine($filePath) as $line) { foreach ($action->act($filePath) as $line) { $file .= $line; } } catch (\Exception $exception) { Loading
src/Repository/ReadFileLineByLineRepository.phpdeleted 100644 → 0 +0 −26 Original line number Diff line number Diff line <?php namespace App\Repository; use Exception; use Generator; /** * Принимает путь до файла, * проверяет, что файл существует и выводит пользователю построчный вывод используя yield * * @param string $filePath путь до файла * @return Generator * @throws Exception если казанного фала нет */ function readFileLineByLine(string $filePath): Generator { if (!file_exists($filePath)){ throw new Exception("неверный путь"); } $file = fopen($filePath, 'r'); while (!feof($file)){ yield fgets($file); } fclose($file); }