https://github.com/delboy1978uk/bone-controller
Controller package for Bone Framework. Part of the core Bone packages
https://github.com/delboy1978uk/bone-controller
bone-framework php-framework
Last synced: 30 days ago
JSON representation
Controller package for Bone Framework. Part of the core Bone packages
- Host: GitHub
- URL: https://github.com/delboy1978uk/bone-controller
- Owner: delboy1978uk
- License: mit
- Created: 2020-03-02T14:50:05.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-29T18:36:56.000Z (about 1 month ago)
- Last Synced: 2026-01-30T02:06:37.493Z (about 1 month ago)
- Topics: bone-framework, php-framework
- Language: PHP
- Size: 309 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bone-controller
[](https://packagist.org/packages/delboy1978uk/bone-controller) [](https://packagist.org/packages/delboy1978uk/bone) [](https://packagist.org/packages/delboy1978uk/bone-controller) [](https://packagist.org/packages/delboy1978uk/bone-controller)
 [](https://scrutinizer-ci.com/g/delboy1978uk/bone-controller/?branch=master) [](https://scrutinizer-ci.com/g/delboy1978uk/bone-controller/?branch=master)
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`:
```php
$controller = new YourController();
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:
```php
use Bone\BoneDoctrine\EntityManagerAwareInterface;
use Bone\BoneDoctrine\Traits\HasEntityManagerTrait;
class MyController implements EntityManagerAwareInterface
{
use HasEntityManagerTrait;
}
```