diff --git a/public/public/Actions/ReadLogFileAction.php b/public/public/Actions/ReadLogFileAction.php new file mode 100644 index 0000000000000000000000000000000000000000..43f72948668bfe39aae583aa2b442360655650f1 --- /dev/null +++ b/public/public/Actions/ReadLogFileAction.php @@ -0,0 +1,26 @@ +<?php + +namespace App\Actions; + +use Exception; + +class ReadLogFileAction +{ + /** + * Принимает путь до файла, + * проверÑет, что файл ÑущеÑтвует и выводит пользователю веÑÑŒ контент файла + * (файл можешь Ñоздать любой) + * + * @param string $filePath путь до файла + * @return void + * @throws Exception при отÑутÑвии фаила по переданному пути + */ + public static function read(string $filePath): void + { + if (!file_exists($filePath)) { + throw new Exception("По данному пути ничего не найдено: $filePath"); + } + + echo file_get_contents($filePath); + } +} diff --git a/public/public/TestData/FileToRead.txt b/public/public/TestData/FileToRead.txt new file mode 100644 index 0000000000000000000000000000000000000000..e84df9d8c0b7fac87258cbe0189f20c08cfbf3cc --- /dev/null +++ b/public/public/TestData/FileToRead.txt @@ -0,0 +1,5 @@ +1 H +2 E +3 L +4 L +5 O \ No newline at end of file diff --git a/public/public/TestData/TestData.php b/public/public/TestData/TestData.php index f8f83aecc0763a1652526bfd43751b01eb3ba39f..8c43fb418e4af83539b7982fff57c1c156ded679 100644 --- a/public/public/TestData/TestData.php +++ b/public/public/TestData/TestData.php @@ -8,6 +8,8 @@ namespace App\TestData; class TestData { + public const FILE_PATH = "TestData/FileToRead.txt"; + public const NON_UNIQE_ARRAY = [ [ 'laravel', diff --git a/public/public/index.php b/public/public/index.php index a6acc2dbcf625b55b187e48479ffcbc9efcf62f4..d8b95a8eb8eaa1526f7ca80a0b75a4d30097b2dd 100644 --- a/public/public/index.php +++ b/public/public/index.php @@ -2,7 +2,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; - +use App\Actions\ReadLogFileAction; use App\Actions\UniqElementsAction; use App\Actions\DiffDaysAction; use App\Actions\CountFriday13; @@ -12,6 +12,14 @@ use App\Actions\IdSearchAction; use App\Actions\PrepareMenuAction; use App\TestData\TestData; +echo 'ReadLogFileAction: <br>'; +try { + ReadLogFileAction::read(TestData::FILE_PATH); +} catch (Exception $ex) { + echo $ex->getMessage(); +} +echo '<hr>'; + echo 'UniqElementsAction: <br>'; var_dump(UniqElementsAction::uniqElements(TestData::NON_UNIQE_ARRAY)); echo '<hr>';