Обсуждение | Днари
Тема закрыта by
Вилы Выкидные
Причина: захотел - закрыл :)
Причина: захотел - закрыл :)
Вилы Выкидные (24.04.2021 в 12:01)
а теперь учись, как правильно
а теперь учись, как правильно
call_user_func_array($routes['/'](), $_REQUEST);
.67. Правильно в твоей извращенной логике. В роутах никто не хранит объекты контроллеров
Dark_AKC (24.04.2021 в 12:02)
Правильно в твоей извращенной логике. В роутах никто не хранит объекты контроллеров
Правильно в твоей извращенной логике. В роутах никто не хранит объекты контроллеров
да ты ещё большее дно, чем оказалось, в роуте хранится коллбэк функция, никакого объекта там нет пока она не будет вызвана .67.
говорит мне иди ООП почитай ну-ну
Что если условный заказчик или тимлид попросит тебя перенести роуты в формат json? Что ты будешь делать?
Dark_AKC (24.04.2021 в 12:08)
Что если условный заказчик или тимлид попросит тебя перенести роуты в формат json? Что ты будешь делать?
Что если условный заказчик или тимлид попросит тебя перенести роуты в формат json? Что ты будешь делать?
буду вспоминать, как ты написал, что в коллбэке роута висит готовый объект
Но ведь объект можно создать в момент совпадения роута. А до тех пор хранить строковое представление контроллера
php
json
Вызов
________
посл. ред. 24.04.2021 в 12:22; всего 3 раз(а); by Dark_AKC
php
$routes = ['/' => ['controller' => IndexController::class, 'action' => 'indexAction']];
json
{
"/": {
"controller": "IndexController",
"action": "indexAction"
}
}
Вызов
list($cont, $act) = $routes['/'];
if (class_exists($cont) && method_exists($cont, $act)) {
$App = new $cont;
$App -> $act(...$_REQUEST);
}
________
посл. ред. 24.04.2021 в 12:22; всего 3 раз(а); by Dark_AKC
Dark_AKC (24.04.2021 в 12:19)
Но ведь объект можно создать в момент совпадения роута. А до тех пор хранить строковое представление контроллера
php
json
Вызов
Но ведь объект можно создать в момент совпадения роута. А до тех пор хранить строковое представление контроллера
php
$routes = ['/' => ['controller' => IndexController::class, 'action' => 'indexAction']];
json
{
"/": {
"controller": "IndexController",
"action": "indexAction"
}
}
Вызов
list($cont, $act) = $routes['/'];
if (class_exists($cont) && method_exists($act)) {
$App = new $cont;
$App -> $act(...$_REQUEST);
}
это ты потом будешь рассказывать нанимателю, когда он уволит тебя с работы, узнав, что доплачивал за лишние строки кода
и вот это - list($cont, $act) = $routes['/']; начиная с версии 7.4.3 будет работать и без list - [$cont, $act] = $routes['/'];
и вот так - if (class_exists($cont) && method_exists($act)) уже никто не делает, потому что если в конструкторе класса есть проверка с отлупом или редиректом, то зачем тогда проверять наличие метода, нужно создать объект, если отработает отлуп то и проверка метода не нужна, а если нет отлупа, то ПОСЛЕ создания объекта нужно проверять существование метода вызывать его, но так тоже уже не делают, потому что есть is_callable() которая проверит, можно ли запустить метод объекта
Ну как, почитал я ООП?
Вилы Выкидные, а ты кем работаешь?
649469590 (24.04.2021 в 12:34)
Вилы Выкидные, а ты кем работаешь?
Вилы Выкидные, а ты кем работаешь?
дедом
Критики с дивана мамины) Какая Вам разница? Вам скинули на халяву в ЗЦ, если такие умные так не пользуйтесь)
1. Наниматель платит за выполнение задачи, а не количество написанных строк
2. (list) Я уже пару лет как не пишу на php. Неудивительно, что я забыл про эту фичу
3. Сначала ты говоришь, что method_exists не нужен, потом оказывается нужен. Дальше ты вообще проверяешь возможность вызова метода с помощью is_callable
Что тут вообще происходит мать твою?!
2. (list) Я уже пару лет как не пишу на php. Неудивительно, что я забыл про эту фичу
3. Сначала ты говоришь, что method_exists не нужен, потом оказывается нужен. Дальше ты вообще проверяешь возможность вызова метода с помощью is_callable
Что тут вообще происходит мать твою?!