PHP Микрофреймворк HLEB

Скачать (90 KB)Скачать c GitHub
Предназначение Установка Настройка Структура проекта Маршрутизация Типы маршрутов Группы маршрутов Защита маршрутов Конструктор страниц Контроллеры Модели Получение данных Базы данных Дополнительно

Получение данных

Общедоступные данные

Под общедоступным, в данном случае, считается возможное использование в классах контроллеров и подключаемых файлах папки "views".

Функция getByName() - даёт доступ к именованным маршрутам, которым назначено название с помощью метода name(). Возвращает строковой URL адреса маршрута по его имени.

Если это динамический маршрут, то необходимо вторым параметром передать массив с указанием замены переменных в адресе. Например, для маршрута:
Route::get('/{arg1}/{arg2}/third/', 'Динамический именованный маршрут')->name('Test');
Получение URL-адреса "/first/second/third/" будет таким:
// В подключаемых файлах из папки "views" <?php print getByName('Test', ['arg1' => 'first', 'arg2' => 'second']); ?>
// В классах контроллеров $url = getByName('Test', ['arg1' => 'first', 'arg2' => 'second']);
Функция getMainUrl() - возвращает относительный текущий URL.

Функция getMainClearUrl() - возвращает относительный текущий URL без GET-параметров.

Функция getFullUrl() - принимает один аргумент в виде относительного URL и возвращает его полное(абсолютное) значение.

Функция getStandardUrl() - стандартизирует полный или относительный URL, в качестве принятого аргумента, согласно значению константы HLEB_PROJECT_ENDING_URL, и конвертирует кириллические адреса в нормальный вид (все вышеобозначенные функции стандартизируют по умолчанию). Предназначено для внутренних URL проекта.
print getFullUrl(getMainClearUrl); // Полный адрес текущего URL без GET-параметров: "https://phphleb.ru/ru/v1/interaction/"

Взаимодействие в контроллерах

Объект Request содержит значения из URL по совпадению с динамическим маршрутом (а также методы, взаимодействующие со служебными параметрами $_SERVER и др.). Например, при запросе "site.com/first/" и наличии маршрута:
Route::before('TestMiddlewareBefore')->get('/{test}/')->controller('TestController')->after('TestMiddlewareAfter');
В каждом из контроллеров будет доступен объект Request c методом обращения get():
... use Hleb\Constructor\Handlers\Request; ... var_dump( Request::get()); // array(1) { ["test"]=> string(5) "first" } var_dump( Request::get('test')); // string(5) "first"
Переданные с контроллером значения предназначены для исключительного использования, представляют из себя массив с данными, передаваемый вторым необязательным аргументом в метод controller(). Строковые ключи этого массива преобразуются в аргументы метода класса контроллера. Например, если бы вызов был:
Route::get('/')->controller('TestController', ['Значение id', 'Значение name']);
В классе "TestController" у метода index() в таком случае должны быть два принимающих аргумента:
// Файл /app/Controllers/TestController.php ... function index($id, $name) { ... } ...

redirect()

Функция redirect() используется в контроллерах before() и controller(), но не в after(), так как содержимое страницы уже будет выведено. Принимает один обязательный строковой аргумент с URL адресом редиректа и второй необязательный числовой аргумент с кодом редиректа, по умолчанию 303.
redirect(getByName('home'));




Предназначение Установка Настройка Структура проекта Маршрутизация Типы маршрутов Группы маршрутов Защита маршрутов Конструктор страниц Контроллеры Модели Получение данных Базы данных Дополнительно


HLEB - PHP Микрофреймворк Свободная лицензия. Без гарантий. © fomiash 2019