chimera/di-symfony
Composer 安装命令:
composer require chimera/di-symfony
包简介
A set of compiler passes that connects all components together
README 文档
README
The term Chimera (/kɪˈmɪərə/ or /kaɪˈmɪərə/) has come to describe any mythical or fictional animal with parts taken from various animals, or to describe anything composed of very disparate parts, or perceived as wildly imaginative, implausible, or dazzling.
There are many many amazing libraries in the PHP community and with the creation and adoption of the PSRs we don't necessarily need to rely on full stack frameworks to create a complex and well designed software. Choosing which components to use and plugging them together can sometimes be a little challenging.
The goal of this set of packages is to make it easier to do that (without compromising the quality), allowing you to focus on the behaviour of your software.
This package provides creates the configuration of the dependency injection
container based on the packages you have required in your application. By
relying on symfony/dependency-injection we put the complexity of wiring the
components together in compilation time (instead of runtime).
There's a lot of hidden complexity in this wiring process, which definitely affects the organisation of the compiler passes, but the reason for that is to ensure that only things related to your software gets executed when handling requests.
Installation
Package is available on Packagist, you can install it using Composer.
composer require chimera/di-symfony
PHP Configuration
In order to make sure that we're dealing with the correct data, we're using assert(),
which is a very interesting feature in PHP but not often used. The nice thing
about assert() is that we can (and should) disable it in production mode so
that we don't have useless statements.
So, for production mode, we recommend you to set zend.assertions to -1 in your php.ini.
For development you should leave zend.assertions as 1 and set assert.exception to 1, which
will make PHP throw an AssertionError
when things go wrong.
Check the documentation for more information: https://secure.php.net/manual/en/function.assert.php
Usage
Symfony DI component is just amazing, and it has everything we need to compile the
container and just load it from a set of generated files, but the control of when
to update those files now lies in the Kernel/MicroKernel. However we don't necessarily
need to have a Kernel controlling that, we can use lcobucci/di-builder
and simply get a Symfony DI container. That's what this package uses under the
hood to create the services.
License
MIT, see LICENSE.
chimera/di-symfony 适用场景与选型建议
chimera/di-symfony 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 66.26k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 05 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 chimera/di-symfony 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 chimera/di-symfony 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 66.26k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-05-10