Evolution CMS Урок 1: Настройка окружения для работы
composer create-project evolutioncms/evolution:2.0.x-dev .
php install/cli-install.php --database_server=localhost --database=DB --database_user=USER --database_password=PASS --table_prefix=evo_ --cmsadmin=admin --cmsadminemail=email@gmail.com --cmspassword=123456 --language=en --mode=new --installData=n --removeInstall=y
3 комментария
Здесь core\src\Support\BladeDirective.php прописал. Но вызов в Blade не компилируется. Так понимаю, нужно кеш view сбросить?
Есть файл core/config/view.php в котором определен ключ массива directive. Там перечислен список директив добавляемые в blade.
Т.е. за директиву makeUrl отвечает метод makeUrl из класса EvolutionCMS\Support\BladeDirective.
Таким образом, чтобы добавить совою директиву — необходимо зарезервировать для нее имя и подготовить код который будет заниматься преобразованием blade стиля в нативный php. Ну для примера, это будет exampleDirective. Чтобы добавить новую или изменить директиву в конфиге, нам не нужно править файл core/config/view.php (поскольку в версии 2.0.1 могут добавиться новые директивы и как вы будете потом обновлять движок со всеми этими конфликтами?). По эмы создаем файлик core/custom/config/view/directive/exampleDirective.php с содержанием вида . Где YouClass это имя вашего класса, а youMethod как уже догадались — сам метод отвечающий за преобразование blade в нативный php.
Где и как правильно создать класс YouClass, чтобы он попал в автозагрузку это отдельная история. Поэтому рассмотрим варианты проще
Анонимный класс
Анонимная функция
Именно так вы должны добавлять директиву
Пока осваиваюсь ограничился функцией