Translate
Эта версия фреймворка устарела, воспользуйтесь HLEB2

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

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

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

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

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

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

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

Получение пути к директориям

Функции storage_path(), public_path() и view_path() позволяют получить строковое значение, содержащее полный путь соответственно к директориям "/storage/public", "/public" и "/view".



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



Группа поддержки в Телеграм - @phphleb

Задать вопрос в блоге, который сделан с использованием фреймворка HLEB.

Этот сайт-инструкция к фреймворку HLEB сделан с использованием фреймворка HLEB.

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