Ding is a PHP framework that provides dependency injection (by Setter, Constructor, and Method), Aspect Oriented Programming, XML, YAML, Events support, and some JSR 250/330 annotations as bean definition providers, lightweight, can be deployed as a PHAR file, simple, and quick MVC, syslog, TCP client and server with non-blocking sockets, timers, and custom error, signal, and exception handling, PAGI integration (for the Asterisk gateway interface), and PAMI integration (for Asterisk management). It is similar to Java's Seasar and Spring.
| Tags | PHP DI aop mvc tcp asterisk PAMI PAGI XML YAML jsr annotation container bean dependency injection event driven dispatch |
|---|---|
| Licenses | Apache 2.0 |
| Implementation | PHP 5.3 |
Last announcement
You can now find Ding at packagist, at: http://packagist.org/packages/marcelog/ding
Also, to user composer to install Ding, see the updated inst...
Recent releases


Release Notes: This release moves signal definitions to the container constructor to avoid notices about undefined constants when running under a Web server module SAPI (pcntl is disabled under Web server modules).


Release Notes: This release adds MVC pre- and post-dispatch interceptors, adds a check for cyclic dependencies when creating beans, and fixes a bug that prevented caching beans known by class in the container.


Release Notes: AOP: proceed() now accepts arguments to override the original invocation arguments.


Release Notes: This release added @Inject, @Named, @Primary, @Singleton, @Prototype, @PreDestroy, and @PostConstruct. @Resource now accepts an optional name argument for specifying bean names.


Release Notes: Bugfixes: bean definitions werent internally cached correctly; the annotations provider was not correctly creating a new instance of a bean definition when creating a child bean; this release will correctly remove aliases from a child bean definition.