The guiding principle behind the v2 releases is to continue the process that led to Aura in the first place: identifying and then separating functionality into independent, fully decoupled libraries.
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.
The current v2 packages are:
|Aura.Autoload||aura/autoload||2.0.0‑beta1||Provides a PSR-4 compliant autoloader implementation.
|Aura.Cli||aura/cli||2.0.0‑beta1||Provides the equivalent of request (Context) and response (Stdio) classes for a command line environment, including Getopt support.
|Aura.Cli_Kernel||aura/cli‑kernel||2.0.0‑beta1||The kernel files for an Aura CLI project.
|Aura.Cli_Project||aura/cli‑project||2.0.0‑beta1||A minimal command-line framework built from Aura v2 packages
|Aura.Di||aura/di||2.0.0‑beta1||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.
|Aura.Dispatcher||aura/dispatcher||2.0.0‑beta1||Creates objects from a factory and invokes methods using named parameters; also provides a trait for invoking closures and object methods with named parameters.
|Aura.Framework_Project||aura/framework‑project||2.0.0‑beta1||A minimal web+CLI framework built from Aura v2 packages
|Aura.Html||aura/html||2.0.0‑beta1||Provides HTML escapers and helpers, including form input helpers.
|Aura.Includer||aura/includer||2.0.0‑beta1||Include multiple files from specified directories, in order, with variables extracted into a limited include scope.
|Aura.Project_Kernel||aura/project‑kernel||2.0.0‑beta1||The shared kernel files for an Aura project.
|Aura.Router||aura/router||2.0.0‑beta1||A web router implementation; given a URI path and a copy of $_SERVER, it will extract path-info parameter values for a specific route.
|Aura.Sql||aura/sql||2.0.1||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.
|Aura.SqlQuery||aura/sqlquery||2.0.0||Object-oriented query builders for MySQL, Postgres, SQLite, and SQLServer; can be used with any database connection library.
|Aura.SqlSchema||aura/sqlschema||2.0.0‑beta1||Provides facilities to read table names and table columns from a database using PDO.
|Aura.View||aura/view||2.0.0‑beta2||Provides an implementation of the TemplateView and TwoStepView patterns, with support for helpers and for closures as templates, using PHP itself as the templating language.
|Aura.Web||aura/web||2.0.0‑beta1||Provides web Request and Response objects for use by web controllers. These are representations of the PHP web environment, not HTTP request and response objects proper.
|Aura.Web_Kernel||aura/web‑kernel||2.0.0‑beta1||The kernel files for an Aura web project.
|Aura.Web_Project||aura/web‑project||2.0.0‑beta1||A minimal web framework built from Aura v2 packages
Some notable differences between v1 and v2 packages follow.
Use PSR-4 instead of PSR-0. These are compatible autoloader standards, at least as far as Aura is concerned. This means shallower
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.
meta/ directory as an artifact of multiple-packaging-system support.
library type instead of
aura-package, and drop the custom
aura-package Composer installer.
Packages ending in
_Project are co-dependent packages intended to set up Composer projects via
_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.)