Skip to content

Releases: devvoh/parable

Parable PHP Framework 0.12.9

06 Sep 07:51
Compare
Choose a tag to compare
Pre-release

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 the Put, Patch and Delete GetSetters. This fixes #23.

Parable PHP Framework 0.12.8

28 Aug 08:40
Compare
Choose a tag to compare
Pre-release

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

24 Aug 18:33
Compare
Choose a tag to compare
Pre-release

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 in prepare(), 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 of php://input passed to the request.
  • ORM\Database has gained setCharset() and getCharset(), so it's now possible to specifically set it. This will also be picked up from the config (key database.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's x-www-form-urlencoded or passed in the body, so it's all about what the data is.
  • \Parable\Model\ORM was using the literal property id to check for a primary key. Now uses $this->getTableKey() instead.
  • \Parable\Routing\Route didn't rtrim the / off of the urls. This made matching url with url/ 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 of HOOK_x constants on \Parable\Framework\App.

Parable PHP Framework 0.12.5

22 Jul 15:11
Compare
Choose a tag to compare
Pre-release

Parable PHP Framework Changelog

0.12.5

Changes

  • \Parable\ORM\Model now has the possibility of toArrayWithoutEmptyValues and exportToArrayWithoutEmptyValues, and the default toArray and exportToArray now return empty values.
  • \Parable\ORM\Repository now offers buildAndSet() and buildOrSet(). 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 on PDO for this: ERRMODE_SILENT, ERRMODE_WARNING or ERRMODE_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 referencing initLocations, whereas that's inits now. This fixes #14.
  • \Parable\Http\Request now no longer sets Method in its __construct method, but checks the $_SERVER values every time getMethod is called.
  • \Parable\Http\Response::setHttpCode() now throws an Exception when an invalid code is set.

Bugfixes

  • You can now set a different homeDir than public, 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 use getUrl 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

06 Jul 10:26
Compare
Choose a tag to compare
Pre-release

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 example Config for the changes!
  • Routing, Init and additional Config files now load the same as Commands already did. Only Config\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 for sortOrder in Configs, makes Routing files easier to split up for readability, and for Inits 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 with Reflection 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

03 Jul 22:27
Compare
Choose a tag to compare
Pre-release

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

03 Jul 11:21
Compare
Choose a tag to compare
Pre-release

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 be null and attempting to get the name property from null, of course, failed.

Parable PHP Framework 0.11.3

02 Jul 21:55
Compare
Choose a tag to compare
Pre-release

0.11.3

Changes

  • \Parable\GetSet now has a new type of resource - those that require their data be parsed from php://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 a PDOStatement on success.
  • Changed the command for \Command\HelloWorld from helloworld to hello-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 and Response::$content is already a string.

Parable PHP Framework 0.11.2

02 Jul 00:33
Compare
Choose a tag to compare
Pre-release

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 to init-parable, then immediately renamed it init-structure and added a check whether a structure was already initialized, adding a warning if it was.

Parable PHP Framework 0.11.1

01 Jul 23:50
Compare
Choose a tag to compare
Pre-release

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.