Commit 5ad8e594 authored by Александр Плохих's avatar Александр Плохих 🌔
Browse files

Merge branch 'main' into 'PTPS|Function_9'

# Conflicts:
#   public/public/TestData/FileToRead.txt
#   public/public/TestData/TestData.php
#   public/public/index.php
parents ee7b03ac 5eeac1de
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
<?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);
    }
}
+16 −0
Original line number Diff line number Diff line
<?php

namespace App\Actions;

class UniqElementsAction
{
    /**
     * Удаляет дубликаты, оставив только уникальные значения
     * @param array $array
     * @return array
     */
    public static function uniqElements(array $array): array
    {
        return array_unique($array, SORT_REGULAR);
    }
}
 No newline at end of file
+19 −1
Original line number Diff line number Diff line
@@ -8,9 +8,27 @@ namespace App\TestData;

class TestData
{

    public const FILE_PATH = "TestData/FileToRead.txt";

    public const NON_UNIQE_ARRAY = [
        [
            'laravel',
            'php',
        ],
        [
            'codeigniter',
            'php',
        ],
        [
            'laravel',
            'php',
        ],
        [
            'c++',
            'java',
        ],
    ];
    
    public const START_DATE = "13.04.2024";
    public const END_DATE = "13.04.2025";

+16 −9
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@

require_once __DIR__ . '/../vendor/autoload.php';

use App\Actions\ReadLogFileAction;
use App\Actions\UniqElementsAction;
use App\Actions\DiffDaysAction;
use App\Actions\CountFriday13;
use App\Actions\HowDaysToNYAction;
@@ -16,16 +18,29 @@ try {
    foreach (ReadFileLineByLineAction::read(TestData::FILE_PATH) as $line) {
        echo $line;
    }
echo '<hr>';

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>';

echo 'IdSearchAction: <br>';
var_dump(IdSearchAction::search(TestData::ARRAY_FOR_SEARCHING));
echo '<hr>';

echo 'DiffDaysAction <br>';
echo 'PrepareMenuAction: <br>';
var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU));
echo '<hr>'

echo 'DiffDaysAction <br>'
var_dump(DiffDaysAction::count(
    new DateTimeImmutable(TestData::START_DATE),
    new DateTimeImmutable(TestData::END_DATE)
@@ -40,14 +55,6 @@ echo 'SortPriceAction: <br>';
var_dump(SortPriceAction::sort(TestData::PRICE_COUNT_ARRAY));
echo '<hr>';

echo 'PrepareMenuAction: <br>';
var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU));
echo '<hr>';

echo 'IdSearchAction: <br>';
var_dump(IdSearchAction::search(TestData::ARRAY_FOR_SEARCHING));
echo '<hr>';

echo 'CountFriday13: <br>';
var_dump(CountFriday13::count(TestData::YEAR));
echo '<hr>';