Hey all,
This is a followup on the status of Zend\Db. As of today, Zend\Db is
code-complete for the list of tasks I planned on completing for the
Beta3 release of Zend Framework. In no special order, and not an
exhaustive list, those tasks included:
* Zend\Db\Adapter:
* Driver - abstraction for extension integration
* Platform - abstraction for vendor nuisances
(including some aspects of the SQL dialect, like quoting)
* Has the ability to execute or prepare queries
* Has the ability to determine if a result set is produced,
and iterate
* Has the ability to abstract the parameterization type:
named, positional etc.
* Zend\Db\ResultSet
* Simply, provides a container that allows for result set iteration
* Allows for a row prototype object that will clone for iteration
of data
* Zend\Db\TableGateway
* Table Gateway pattern implementation
* Zend\Db\Sql
* Minimal initial implementation of SQL abstraction component
* Has the ability to produce a full SQL or parameterized statement
* Zend\Db\Metadata
* Abstraction API for retrieving information about a schema/database
* Includes Tables, Columns, Constraints (Primary, Unique, FK)
Currently, this is awaiting merging into master. The pull request is
located here:
https://github.com/zendframework/zf2/pull/819
All of this can be demonstrated by my example set located here:
https://github.com/ralphschindler/Zend_Db-Examples
That said, there is still plenty to do ....
=== More Drivers! ===
Currently, I support this set:
* MySQL through ext/mysqli extension
* Sqlite through ext/Pdo_Sqlite extension
* SQL Server through ext/sqlsrv extension
Conceivably, more drivers should work though PDO, since all the pieces
are in place, but I have not tested them out. More drivers will be
available in Beta4.
* Postrgres, Oracle, Db2 (and in iSeries) to name a few
=== Better Zend\Db\Sql abstraction & Zend\Db\Sql\Ddl Abstraction ===
DDL abstraction is crucial for building out a better unit testing suite.
It is also useful for development time database object creation.
=== Better Unit Testing ===
Currently, there are no unit tests. That is because to do this
correctly, we really need Zend\Db\Sql\Ddl. For the reasoning, see the
original RFC document:
http://framework.zend.com/wiki/display/ZFDEV2/RFC+-+Zend+Db
At this point, I'd encourage everyone to have a look and play with the
code, either directed at the pull request, in master (when it is
merged), or at Beta3 release. I will also have a phar available, in my
Zend_Db examples repository.
Send all your feedback!
Ralph
--
List: fw-general@lists.zend.com
Info: http://framework.zend.com/archives
Unsubscribe: fw-general-unsubscr...@lists.zend.com