定制 chimera/di-symfony 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

chimera/di-symfony

Composer 安装命令:

composer require chimera/di-symfony

包简介

A set of compiler passes that connects all components together

README 文档

README

Total Downloads Latest Stable Version Unstable Version

Build Status Code Coverage

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.

统计信息

  • 总下载量: 66.26k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-05-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固