The first new release of Solar in three months, version 0.26.0 alpha, has arrived! There are over 150 separate changes and improvements noted in the change log.
The single biggest change is a move from the Facade pattern to the Factory pattern for classes using adapters, such as Access, Auth, Cache, Log, Sql, and Role. If you’ve been using
Solar::factory() to create your adapter instances, you should have no problems at all with this change, because the mechanics of instantiation are encapsulated for you.
The front-controller and page-controller now support automatic discovery of alternative output formats from the URI. For example, if the URI ends in ".rss" and that page-action allows the ".rss" format, the controller will automatically load up the ".php.rss" view and turn off the layout (instead of just the ".php" view with the default layout). This means you can use one action method to provide data for multiple output formats automatically.
Solar_Sql has a lot of little improvements: built-in profiling, emulated prepare-statment using PDO, new
fetch*() methods to eventually replace the
select(*) method, table-column definition retrieval via
fetchTableCols(), and much more.
There’s a new data filter class, although it has not been incorporated to the rest of Solar yet (look for that in a future release).
Finally, with a lot of work from Travis Swicegood, we have moved to PHPUnit3 for unit testing. Much as I love Solar_Test, there are some good arguments against using the testing library embedded in a framework to test the framework itself.
The full log of change notes follows, but it is really long, so consider yourself warned. 😉