项目作者: delboy1978uk

项目描述 :
Controller package for Bone Framework. Part of the core Bone packages
高级语言: HTML
项目地址: git://github.com/delboy1978uk/bone-controller.git
创建时间: 2020-03-02T14:50:05Z
项目社区:https://github.com/delboy1978uk/bone-controller

开源协议:MIT License

下载


bone-controller

Latest Stable Version Total Downloads Latest Unstable Version License

build status Code Coverage Scrutinizer Code Quality

Controller package for Bone Framework

installation

bone-controller is part of the core functionality of delboy1978uk/bone, and as such will already be installed in your
app.

usage

The Bone\Controller\Controller comes with a serializer, view engine, translator, and site config info. Just extend it in your own
class to get these features, and in your package registration class, pass it through Bone\Controller\Init:

  1. $controller = new YourController();
  2. return Init::controller($controller, $c); // where $c is the container

The Init class is a convenience class which checks for the following, and populates from the DI container.

Feature Interface Trait
Entity Manager Bone\BoneDoctrine\Traits\EntityManagerAwareInterface Bone\BoneDoctrine\Traits\HasEntityManagerTrait
i18n Bone\I18n\I18nAwareInterface Bone\I18n\Traits\HasTranslatorTrait
Logger Bone\Log\Traits\HasLoggerTrait Bone\Log\Traits\HasLoggerTrait
PDO Connection Bone\Db\DbProviderInterface Bone\Db\HasDbTrait
Serializer Bone\Controller\SerializerAwareInterface Bone\Controller\Traits\HasSerializer
Session Bone\Server\SessionAwareInterface Bone\Server\Traits\HasSessionTrait
Site Config Bone\Server\SiteConfigAwareInterface Bone\Server\Traits\HasSiteConfigTrait
View Bone\View\ViewAwareInterface Bone\View\Traits\HasViewTrait

In your own controller, implement the Interface and use the Trait:

  1. use Bone\BoneDoctrine\EntityManagerAwareInterface;
  2. use Bone\BoneDoctrine\Traits\HasEntityManagerTrait;
  3. class MyController implements EntityManagerAwareInterface
  4. {
  5. use HasEntityManagerTrait;
  6. }