Parable PHP Framework 0.9.0
Pre-release
Pre-release
0.9.0
Note: This version might be incompatible with previous versions. If you've ever set specific ->select()
values on a \ORM\Query
object, you'll have to rewrite those calls to pass an array of items rather than a comma-separated string.
It is the intention for the 0.9.x branch to be the last pre-release branch before a 1.0.0 release. For this, the focus is on bug fixes and some refactors that will solve long-standing issues or shortcomings in Parable subsystems. 1.0.0 should be backwards-compatible with 0.9.0, unless bugs pop up which require backwards-compatibility-breaking changes.
The focus for a 1.0.0 release will be documentation and testing.
Changes
\ORM\Query
has been upgraded significantly:- It now requires an array with values for select, so they can all be prefixed with the table name and quoted appropriately.
- It no longer requires a database connection to build a query, but when no database is present, it does basic quoting instead of real quoting. Only for testing and dev purposes, not for production!
- All queries now have their table names added to the field names, to prevent ambiguity in joins. In join-less queries, it can't hurt.
\Cli
has been replaced by\Console
and everybody rejoiced. Seeparable.php
for a simple implementation. It still needs work, but it's a start.\DI\Container::store
now allows passing a custom name if you want to. This makes it possible to store a specific instance under a specific name (say, an interface name).- Config files no longer implement
\Parable\Framework\Interfaces\Config
but extend\Parable\Framework\Config\Base
. This serves the same purpose but takes away the need to redeclaregetSortOrder
every time. Routes.php
has been moved to\Routes\App.php
and is now in the namespace\Routes
. This satisfies PSR-2 requirements and looks nice. Also makes it possible to set up your routes in separate files and order them that way.- Package-specific
Exception
classes have been added toDI
,Framework
,ORM
andRouting
. array
type hints in method parameters have been consistently added where applicable.- Docblock type hints have been improved and, where needed, fixed.
Bugfixes
- Due to the changes in
\ORM\Query
, joins should now work properly.join()
has been replaced withinnerJoin()
, andleftJoin()
,rightJoin()
andfullJoin()
have been added. parable.php
was not copying theInit/Example.php
file, which isn't helpful. Fixed now.- There was one reference to
Query::select()
which was still passing a string. This has been altered to pass an array instead.