Releases: devvoh/parable
Parable PHP Framework 0.12.9
Parable PHP Framework Changelog
0.12.9
Changes
\Parable\GetSet\BaseInput
has been de-abstracted and renamed. It's now available as\Parable\GetSet\InputStream
. This deprecates thePut
,Patch
andDelete
GetSetters. This fixes #23.
Parable PHP Framework 0.12.8
Parable PHP Framework Changelog
0.12.8
Bugfixes
\Parable\Http\Url
now has separate base path and script name. So even if you place all but the public files outside of the server's document root, the index.php is still stripped to build the base url. This fixes #22.
Parable PHP Framework 0.12.7
Parable PHP Framework Changelog
This marks the 66th release of Parable. This project is now in every way the longest-running, actively developed and biggest-in-scope project I've ever developed, especially with the code (warts and all) visible to everyone. And I'm far from done.
Many thanks to @jerry1970, @dmvdbrugge and @FaaPz for all their feedback, issues and PRs. You guys are helping me make something great here 😁
So now we move on to the changelog for 0.12.6 & 0.12.7.
Note: The small, release-less updates such as 0.12.6 usually don't get their own release because the changes are usually too small to really make a difference to anyone. If they fix reported issues, there'll always be a release.
0.12.7
Changes
\Parable\Http\Output\Json
has better error checking inprepare()
, doing its best to make sure the content ends up as json. If it can't it'll throw an exception. This fixes issue #18.\Parable\Http\Request
has received some love:getHeader($key)
now also matches on different capitalisation, to make matching easier.getCurrentUrl()
was added, which builds the current url from$_SERVER
data.getHttpHost()
was added, which does its best to return the most reliable value.getRequestUrl()
was added.getScriptName()
was added.getBody()
was added, returning the value ofphp://input
passed to the request.
ORM\Database
has gainedsetCharset()
andgetCharset()
, so it's now possible to specifically set it. This will also be picked up from the config (keydatabase.charset
). This fixes issue #19. Fixed by @jerry1970.
Bugfixes
\Parable\GetSet\BaseInput
now auto-detects whether data is json or form-data and attempts to load it both ways. PHP doesn't care whether it'sx-www-form-urlencoded
or passed in the body, so it's all about what the data is.\Parable\Model\ORM
was using the literal propertyid
to check for a primary key. Now uses$this->getTableKey()
instead.\Parable\Routing\Route
didn'trtrim
the / off of the urls. This made matchingurl
withurl/
impossible.
0.12.6
Changes
\Parable\Framework\Toolkit::redirectToRoute()
now also accepts a$parameters
array, to build route Urls with params like\Parable\Routing\Router::getRouteUrlByName()
does.
Bugfixes
Init\Example
(structure file) did not yet use or explain the use ofHOOK_x
constants on\Parable\Framework\App
.
Parable PHP Framework 0.12.5
Parable PHP Framework Changelog
0.12.5
Changes
\Parable\ORM\Model
now has the possibility oftoArrayWithoutEmptyValues
andexportToArrayWithoutEmptyValues
, and the defaulttoArray
andexportToArray
now return empty values.\Parable\ORM\Repository
now offersbuildAndSet()
andbuildOrSet()
. This fixes issue #10.- All hook
->trigger(...)
calls now make use of constants so that hooking into them is somewhat more comfortable as well. This fixes issue #11. - It's now possible to add
errorMode
to the database config so you can set the error mode. Use the values defined onPDO
for this:ERRMODE_SILENT
,ERRMODE_WARNING
orERRMODE_EXCEPTION
.ERRMODE_SILENT
is the default, so it's no change for you. Setting more punishing error modes should be a conscious choice. This fixes issue #12. - Typo in
Init\Example
fixed, was still referencinginitLocations
, whereas that'sinits
now. This fixes #14. \Parable\Http\Request
now no longer sets Method in its__construct
method, but checks the$_SERVER
values every timegetMethod
is called.\Parable\Http\Response::setHttpCode()
now throws an Exception when an invalid code is set.
Bugfixes
- You can now set a different
homeDir
thanpublic
, for those who need a different location due to their hosting setup. This makes it possible to keep all app-related code outside of the end-user-accessible dirs. This fixes #13. \Parable\Console
now supports--option=value
style options, as well as arguments. Simple$command->addArgument("name", $required = bool)
and you can use them. Arguments are in-order, but can be either preceeded or succeeded by options. This fixes #15.\Parable\Http\Response
now returns using the same HTTP protocol it was requested with, since it asks\Parable\Http\Request
what it should be. This fixes issue #16.
I'm also including the changelog for 0.12.1-0.12.4 here.
0.12.4
Bugfixes
\Parable\Framework\Toolkit::redirectToRoute()
did not usegetUrl
to build the url on top of the baseUrl.
0.12.2 - 0.12.3
Bugfixes
- Left-over but un-DI-ed
$toolkit
property on\Parable\Framework\View
was preventing use of toolkit in views. - Removed
composer.lock
since it's useless to end users.
0.12.1
Bugfixes
- Hook related to dispatching was being triggered twice. Fixed now.
Parable PHP Framework 0.12.0
0.12.0
Note: Breaks backwards compatibility. See list below for details how to upgrade from 0.11.x
Changes
- New
Config
array layout. See the exampleConfig
for the changes! Routing
,Init
and additionalConfig
files now load the same asCommands
already did. OnlyConfig\App
is an expected part of Parable, and from there you can just pass in arrays with class names (see new example in structure) and Parable will get the values from them in the order you provide them in. This removes the need forsortOrder
in Configs, makesRouting
files easier to split up for readability, and forInits
it really doesn't change much.Config
files now need to implement\Parable\Framework\Interfaces\Config
, no more extends.Routing
files now need to implement\Parable\Framework\Interfaces\Routing
, no more extends.- Replaced
strpos
method of deciding whether a method was public or not withReflection
logic. Affects\Parable\ORM\Model::toArray()
and\Parable\ORM\Model::reset()
. - No longer add structure folder to the autoload path in
tests/bootstrap.php
, since we no longer use the_struct
files in testing. \Parable\Framework\App\loadInits()
has been moved up in the run procedure, allowing more triggers:parable_load_inits_after
,parable_load_routes_before/after
,parable_init_database_before/after
,parable_dispatch_before/after
Parable PHP Framework 0.11.5
0.11.5
Changes
- Rename all the files in
structure
to have a_struct
suffix, so that IDEs don't pick up on then anymore.
Parable PHP Framework 0.11.4
0.11.4
Bugfixes
\Parable\DI\Container
had a bug where in some odd instances, while deciding the dependencies to DI for a class, the parameter's class would benull
and attempting to get thename
property fromnull
, of course, failed.
Parable PHP Framework 0.11.3
0.11.3
Changes
\Parable\GetSet
now has a new type of resource - those that require their data be parsed fromphp://input
.- Three
GetSet
types added due to the above:\GetSet\Delete
,\GetSet\Patch
and\GetSet\Put
. This should make API builders really happy ;) \Parable\ORM\Model
now returns only boolean values on success or fail, instead of a false on fail and aPDOStatement
on success.- Changed the command for
\Command\HelloWorld
fromhelloworld
tohello-world
because somebody cares too much about that stuff.
Bugfixes
\Parable\Http\Response
now only tries to prepend the output buffer if there's data in the buffer andResponse::$content
is already a string.
Parable PHP Framework 0.11.2
0.11.2
Changes
- Fixed up the README.md file, since it was a bit outdated. Also changed the 'feel' of the text to represent the maturing state of Parable.
- Renamed
init
command toinit-parable
, then immediately renamed itinit-structure
and added a check whether a structure was already initialized, adding a warning if it was.
Parable PHP Framework 0.11.1
0.11.1
Well, that was fast!
Bugfixes
- Fixed a bug (#8) in
\Parable\Http\Url
, where it was directly looking at$_SERVER['REQUEST_SCHEME']
, which isn't always available. Added\Parable\Http\Request::getScheme
to try out multiple options to figure it out instead.