phpgroupware-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Phpgroupware-developers] SQL generator for phpgroupware


From: Kai Hofmann
Subject: RE: [Phpgroupware-developers] SQL generator for phpgroupware
Date: Mon, 8 Sep 2003 10:05:51 +0200

Hi Edgar,

> This mail is for give you a brief presentation of `sql generator'.
> Which is a set of classes that try to help the development of
> applications in phpGroupWare that needs to interact with RDBMS.
> 
> This is created in two layers:
> - Primitive SQL generation
> - Entity-Relation handling

sounds like a JDO implementation for PHP ;-)


But how about a bit more code reuse - by using things like PEAR classes:

DB_DataObject
DataObject performs 2 tasks:
1. Builds SQL statements based on the objects vars and the builder methods.
2. acts as a datastore for a table row.
The core class is designed to be extended for each of your tables so that
you put the
data logic inside the data classes.
included is a Generator to make your configuration files and your base
classes.


DB_QueryTool
This package is an OO-abstraction to the SQL-Query language, it provides
methods such
as setWhere, setOrder, setGroup, setJoin, etc. to easily build queries.
It also provides an easy to learn interface that interacts nicely with
HTML-forms using
arrays that contain the column data, that shall be updated/added in a DB.
This package bases on an SQL-Builder which lets you easily build
SQL-Statements and execute them.


MDB
It provides a common API for all support RDBMS. The main difference to most
other DB abstraction packages is that MDB goes much further to ensure
portability. Among other things MDB features:
* An OO-style query API
* A DSN (data source name) or array format for specifying database servers
* Datatype abstraction and on demand datatype conversion
* Portable error codes
* Sequential and non sequential row fetching as well as bulk fetching
* Ordered array and associative array for the fetched rows
* Prepare/execute (bind) emulation
* Sequence emulation
* Replace emulation
* Limited Subselect emulation
* Row limit support
* Transactions support
* Large Object support
* Index/Unique support
* Module Framework to load advanced functionality on demand
* Table information interface
* RDBMS management methods (creating, dropping, altering)
* RDBMS independent xml based schema definition management
* Altering of a DB from a changed xml schema
* Reverse engineering of xml schemas from an existing DB (currently only
MySQL)
* Full integration into the PEAR Framework
* Wrappers for the PEAR DB and Metabase APIs
* PHPDoc API documentation

Currently supported RDBMS:
MySQL
PostGreSQL
Oracle
Frontbase
Querysim
Interbase
Firebird
MSSQL



MDB_QueryTool
This package is an OO-abstraction to the SQL-Query language, it provides
methods such
as setWhere, setOrder, setGroup, setJoin, etc. to easily build queries.
It also provides an easy to learn interface that interacts nicely with
HTML-forms using
arrays that contain the column data, that shall be updated/added in a DB.
This package bases on an SQL-Builder which lets you easily build
SQL-Statements and execute them.


Only as inspiration


Greetings

   Kai


-- 
*****    Open Source und Linux im professionellen Einsatz    *****
**  komplexe Mailserver, Groupware, Office: sprechen Sie uns an **
Dipl.-Inform. Kai Hofmann                    Team Softwarelösungen
pro|business AG, EXPO Plaza 1 (Deutscher Pavillon), 30539 Hannover
E-Mail: address@hidden,   Tel.: 0511/60066-332, Fax: -355
WWW: http://www.probusiness.de/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]