Просмотр поста

.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
Добавлено: 10.04.2017 / 15:43
Для удобства скину основные переменные для работы с DI контейнером (типа шпаргалки).
/** @var Psr\Container\ContainerInterface $container */
$container = App::getContainer();

/** @var PDO $db */
$db = $container->get(PDO::class);

/** @var Johncms\Api\UserInterface $systemUser */
$systemUser = $container->get(Johncms\Api\UserInterface::class);

/** @var Johncms\Api\ToolsInterface $tools */
$tools = $container->get(Johncms\Api\ToolsInterface::class);

/** @var Johncms\Api\EnvironmentInterface $env */
$env = App::getContainer()->get(Johncms\Api\EnvironmentInterface::class);

/** @var Johncms\Api\BbcodeInterface $bbcode */
$bbcode = $container->get(Johncms\Api\BbcodeInterface::class);

/** @var Johncms\Api\ConfigInterface $config */
$config = $container->get(Johncms\Api\ConfigInterface::class);

/** @var Zend\I18n\Translator\Translator $translator */
$translator = $container->get(Zend\I18n\Translator\Translator::class);


Добавлено: 10.04.2017 / 15:46
Учтите, что по сравнению с JohnCMS 7.0.0 тут как раз и были важнейшие изменения.
Была введена прослойка интерфейсов API и теперь есть что-то более похожее на полноценную абстракцию. Мы можем менять ядро, при этом не нарушать обратную совместимость модулей в пределах одной мажорной версии.