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
An article explaining how to use AOP in your applications is available here: http://marcelog.github.com/articles/ding_php_aop_aspect_oriented_progr...
Recent releases


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.


Release Notes: @Bean can now be defined inside @Component's (a la @Configuration). Event listeners are now discovered in JIT way. There is some annotations code cleanup. The file cache will now clear the stat cache for the given file when trying to make a fetch.