Aura v2 Packages

With v2, we add the concept of “kernel” (*_Kernel) and “project” (*_Project) packages. Whereas library packages have no dependencies, kernel and project packages combine other packages together, and so are dependent on those packages.

Provides a dependency injection container system with native support for constructor- and setter-based injection, lazy-loading of services, and inheritable configuration of setters and constructor params.

A PDO extension that provides lazy connections, array quoting, identifier quoting, query profiling, value binding, and convenience methods for common fetch styles. Because it extends PDO, existing code that uses PDO can use this without any changes to the existing code.

From v1 to v2

Use PSR-4 instead of PSR-0. These are compatible autoloader standards, at least as far as Aura is concerned. This means shallower src/ and tests/ directories.

Where possible, support PHP 5.3. PHP 5.4 adoption has just not been as wide as we had expected, and we don’t want to artifically limit Aura use any more than necessary. Practically speaking, this means that if a package does not use traits, it can be backported to PHP 5.3.

Remove the meta/ directory as an artifact of multiple-packaging-system support.

Packages ending in _Kernel and _Project are co-dependent packages intended to set up Composer projects via create-project. The _Kernel package is the core code for the project, and the _Project package is the project skeleton. (Packages without these suffixes are still truly independent and fully decoupled libraries.)