Creole Class Reference

List of all members.

Public Member Functions

Public Attributes


Member Function Documentation

Creole::PERSISTENT ()

 

Constant that indicates a connection object should be used.

Creole::NO_ASSOC_LOWER ()

 

Flag to pass to the connection to indicate that no case conversions should be performed by ResultSet on keys of fetched rows.

Creole::registerDriver ( $  phptype,  $  dotpath )

 

Register your own RDBMS driver class.

You can use this to specify your own class that replaces a default driver or adds support for a new driver. Register your own class by specifying the 'phptype' (e.g. mysql) and a dot-path notation to where your Connection class is relative to any location on the include path. You can also specify '*' as the phptype if you want to register a driver that will handle any native type (e.g. if creating a set of decorator classes that log SQL before calling native driver methods). YOU CAN ONLY REGISTER ONE CATCHALL ('*') DRIVER.

Note: the class you need to register is your Connection class because this is the class that's responsible for instantiating the other classes that are part of your driver. It is possible to mix & match drivers -- i.e. to write a custom driver where the Connection object just instantiates stock classes for ResultSet and PreparedStatement. Note that if you wanted to "override" only the ResultSet class you would also have to override the Connection and PreparedStatement classes so that they would return the correct ResultSet class. In the future we may implement a more "packaged" approach to drivers; for now we want to keep it simple.

Parameters:
string $phptype The phptype (mysql, mssql, etc.). This is first part of DSN URL (e.g. mysql://localhost/...). You may also specify '*' to register a driver that will "wrap" the any native drivers.
string $dotpath A dot-path locating your class. For example 'creole.drivers.mssql.MSSQLConnection' will be included like: include 'creole/drivers/mssql/MSSQLConnection.php' and the classname will be assumed to be 'MSSQLConnection'.

Returns void

Creole::deregisterDriver ( $  phptype)

 

Removes the driver for a PHP type. Note that this will remove user-registered drivers _and_ the default drivers.

Parameters:
string $phptype The PHP type for driver to de-register.

See also registerDriver()

Creole::getDriver ( $  phptype)

 

Returns the class path to the driver registered for specified type.

Parameters:
string $phptype The phptype handled by driver (e.g. 'mysql', 'mssql', '*').

Returns string The driver class in dot-path notation (e.g. creole.drivers.mssql.MSSQLConnection) or NULL if no registered driver found.

Creole::getConnection ( $  dsn,  $  flags = 0 )

 

Create a new DB connection object and connect to the specified database

Parameters:
mixed $dsn "data source name", see the self::parseDSN method for a description of the dsn format. Can also be specified as an array of the format returned by DB::parseDSN().
int $flags Connection flags (e.g. PERSISTENT).

Returns object Newly created Connection object or an SQLException object on error

See also self::parseDSN()

Creole::parseDSN ( $  dsn)

 

Parse a data source name.

This isn't quite as powerful as DB::parseDSN(); it's also a lot simpler, a lot faster, and many fewer lines of code.

A array with the following keys will be returned: phptype: Database backend used in PHP (mysql, odbc etc.) protocol: Communication protocol to use (tcp, unix etc.) hostspec: Host specification (hostname[:port]) database: Database to use on the DBMS server username: User name for login password: Password for login

The format of the supplied DSN is in its fullest form:

phptype://username:password+hostspec/database

Most variations are allowed:

phptype://username:password+hostspec:110//usr/db_file.db phptype://username:password/database_name phptype://username:password phptype://username phptype://hostspec/database phptype://hostspec phptype

Parameters:
string $dsn Data Source Name to be parsed

Returns array An associative array

Creole::import ( $  class)

 

Include once a file specified in DOT notation. Package notation is expected to be relative to a location on the PHP include_path.

Parameters:
string $class

Returns mixed unqualified classname or SQLException

  • if class does not exist and cannot load file
  • if after loading file class still does not exist

Creole::isError ( $  value)

 

Tell whether a result code is an error

Parameters:
int $value result code

Returns bool whether $value is an error public

Creole::typeHint ( &$  value,  $  type,  $  class,  $  func,  $  param = 1 )

 

Verifies that $value is of type $type.

Parameters:
object $value
string $type
string $class
string $func
int $param

& Creole::getInstance ()

 


Member Data Documentation

Creole::$driverMap

 

Initial value:

array ( mysql => creole.drivers.mysql.MySQLConnection, pgsql => creole.drivers.pgsql.PgSQLConnection, mssql => creole.drivers.mssql.MSSQLConnection, )


This file is part of the Creole[php4] library.


Copyright © 2004 Hans Lellelid  
Creole[php4] CVS