ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v6:marks_scratchpad

Marks Scratchpad

Returning Objects

  • How about adding a method that returned a recordset as a JSON object. Been doing a lot of work recently with ajax feeds of jquery plugins, and have to hand craft them all.
  • Add a feature above to return as a google datatable
  • The recordset could provide headers from the metacolumns, so we could get cols and rows. This is similar to the rstohtml function, i think. Maybe it should just be an unsupported addon

Pear Compatibility

John tried to have a set of methods that were compatible with pear mdb, which seems to have been replaced by mdb2. Should we create an mdb2 compatibility module, so we could do e.g.

use \ADOdb\pear\mdb2

or whatever…

serverInfo

Server info should return consistent number of keys as well as names in associative mode.

Namespace idea

Vendor = ADOdb
Package Names = abstraction,activerecord,datetime,session

autoload order

  1. abstraction\connector\
  2. abstraction\recordset\
  3. abstraction
\ADOdb\abstraction\connector\mysql
/adodb/abstraction/connector/mysql.php extends /adodb/abstraction/connection.php

This is autoloaded by the connector

\ADOdb\abstraction\recordset\mysql

This would be sufficient to use the database abstraction class. This would be what i imagine what the lightweight class would be.

The main class would have all the necessary class methods, but e.g. would load extra classs as needed:

class \ADodb\abstraction\connection
{
    public function cacheExecute($args)
    {
    if not class loaded class \ADodb\abstraction\caching
      $this->c = new \ADodb\abstraction\caching;
 
    return $this->c->connection($args);
    }
}

To add all the functionality to the we would have to load :

\ADOdb\abstraction\datadict\mysql 
\ADOdb\abstraction\helpers

Bringing the $db connection into other classes

Would we always pass the database connection in via the constructor? or via a setDatabaseConnection method after instantiation? I've often made stuff like this available via a global, e.g.

$GLOBALS['_ADOdbConnection'] = $db; 

I've no idea if its frowned upon in OO style coding. It would have to have a unique naming convention for multiple DB connectors

Note 02/02/2016

Just found that this is the way it is done in te existing sessions management using a $GLOBALS['ADODB_SESSION_CONN'] connection

v6/marks_scratchpad.txt · Last modified: by 127.0.0.1