Skip to content

Releases: ghousseyn/phiber

Bug fixes

14 Feb 11:38
Compare
Choose a tag to compare
v1.0.5

transactions fixed

v1.0.4: Merge pull request #71 from ghousseyn/core-35

06 Jun 00:05
Compare
Choose a tag to compare

Install to subfolders

05 Sep 15:38
Compare
Choose a tag to compare
Merge pull request #61 from ghousseyn/beta

Beta

Beta

01 Sep 09:00
Compare
Choose a tag to compare
Merge pull request #60 from ghousseyn/alpha

oosql config fixed - entity wrong scope corrected, oosqlTest fixed

Beta

29 Aug 08:54
Compare
Choose a tag to compare
Merge pull request #59 from ghousseyn/alpha

wire::setLog() made public

Beta

28 Aug 05:41
Compare
Choose a tag to compare
Merge pull request #58 from ghousseyn/alpha

Bug fix: Router unable to locate module

v0.9.9: Merge pull request #57 from ghousseyn/alpha

28 Aug 05:40
Compare
Choose a tag to compare

v0.9.8b: Merge pull request #55 from ghousseyn/alpha

27 Aug 17:47
Compare
Choose a tag to compare
Fixed Notice on array key when not set on mysql.php

Beta RC 3

25 Aug 05:05
Compare
Choose a tag to compare

Fixes:
-- Wire::logger() is needed throughout the application and needed to be public.
-- View fixed (view::getView() was accessing itself through its parent)

Beta RC 2

20 Aug 04:38
Compare
Choose a tag to compare

Change log

1 - Features:

  • ORM

--- Better Relationships detection (1:1, 1:n, n:1)
--- Support for PostgreSQL added
--- Transactions support added
--- Sub queries support added
--- Automatic/manual aliasing added
--- OOSQL Query Builder now supports IN and Between clauses
--- Save related fields after a SELECT with oosql::save(true)
--- Update record after insert on rows with Identity possible without a SELECT

  • Events

--- Trigger and listen to events from anywhere (no need to implement or extend)
--- Attach Closures to events
--- Register instances (objects) or class names (instantiate on event)
--- Attach Controller, Plugin or a Model directly with $this->attach(string $eventname)
--- New option to specify the name of the method that should be executed on event (Defaults to "update")
--- Specify a hash to be used to locate an object on event (necessary for Closures if you plan to deattach or re-attach later)

  • Collection

--- Collection::addBulk() added to add big arrays in one go (improves speed on big resultsets)
--- Collection::toArray() added to return a collection's content as a native array
--- Collection::toJSON() added to return a collection's content as JSON encoded string
--- Collection::removeWhere() returns remove items now

  • View

--- Disable/Enable partial views and layout from within controllers, plugins and models added
--- Set View (partial views) and layout files dynamically
--- Added T_() function to output escaped content directly on views
--- IoC on View component (view::showtime() no longer called from the main run method)

2 - Enhancements

  • Core

--- New start script to register libraries, pre-boot actions and on boot events
--- Closure based routes can pass the execution to a default dispatch by returning true
--- Phiber class is a singleton now to keep state and allow for performance gain
--- Enhanced autoloading by better and faster path assembling (replaced for loop with an implode)
--- wire::hashObject() returns a unique hash for the class called in (no spl_object_hash used)

  • ORM

--- OOSQL object is shared now
--- Prepared statements are kept against a hash of their respective query (use one prepared statement throughtout the request life)
--- Due to caching of prepared queries bulk insert and update now leverages prepared statements and gained more speed
--- Resultsets are passed to a Collection in one go rather than a loop using Collection::addBulk() (see features above)
--- Inserts return a hydrated object of the inserted row with its identity field injected using lastID (works with PostgreSQL too)

  • Events

--- Better performance with fatser eventfull::notify, eventfull::attach and eventfull::detach using the in-memory direct access of observers array (no serialization) and the ability to register class names instead of heavy objects
--- Use of Closures to listen for events
--- New built-in events from Phiber (phiber.boot, phiber.dispatch, phiber.shutdown)
--- Easier object attachements from within controllers, plugins and models