Давайте соберем готовые ответы на вопросы с разных тем, что бы люди не спрашивали по сто раз одно и тоже.
Как создать новую страницу
Подключаем модули контейнера
Давайте соберем готовые ответы на вопросы с разных тем, что бы люди не спрашивали по сто раз одно и тоже.
Как создать новую страницу
Подключаем модули контейнера
<?php define('_IN_JOHNCMS', 1);
require($_SERVER['DOCUMENT_ROOT'].'/system/bootstrap.php');
require($_SERVER['DOCUMENT_ROOT'].'/system/head.php');
?>
Тело страницы
<?
require($_SERVER['DOCUMENT_ROOT'].'/system/end.php'); Там ещё надо кое какие штуки подключать
intelligent, Например?
контейнер видимо
/** @var Interop\Container\ContainerInterface $container */
$container = App::getContainer();/** @var Johncms\Counters $counters */
$counters = App::getContainer()->get('counters');/** @var Johncms\Config $config */
$config = $container->get(Johncms\Config::class); PaRtiZzaN, правильно
Молодцы, правильное и полезное дело.
Только вот с данными из контейнера будут изменения.
Я в данный момент пишу (уже почти написал) внутренний API, который представляет из себя набор интерфейсов, описывающих все те данные, которые мы можем затребовать из контейнера.
https://github.com/john-cms/jo ... s/Api
В JohnCMS 7.1.0 который ожидается в следующем месяце это уже будет.
Для совместимости с версией 7.0.0 я временно создал алиасы сервисов: https://github.com/john-cms/jo ... p#L19
Но в новых разработках, при запросах объектов из контейнера, рекомендую ориентироваться только ена интерфейсы, ибо реализация может меняться. А так вы будете иметь гарантированную (в пределах мажорной версии) совместимость с ядром.
AlkatraZ, alias + deprecated спасут ситуацию
Вот то, что СЕЙЧАС (JohnCMS 7.0.0) можно требовать из контейнера
/** @var Interop\Container\ContainerInterface $container */
$container = App::getContainer();
/** @var PDO $db */
$db = $container->get(PDO::class);
/** @var Johncms\User $systemUser */
$systemUser = $container->get(Johncms\User::class);
/** @var Johncms\Tools $tools */
$tools = $container->get('tools');
/** @var Johncms\Environment $env */
$env = App::getContainer()->get('env');
/** @var Johncms\Bbcode $bbcode */
$bbcode = $container->get('bbcode');
/** @var Johncms\Config $config */
$config = $container->get(Johncms\Config::class);
/** @var Zend\I18n\Translator\Translator $translator */
$translator = $container->get(Zend\I18n\Translator\Translator::class);