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


Reply via email to