Download the PHP package hexmakina/crudites without Composer
On this page you can find all versions of the php package hexmakina/crudites. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package crudites
Crudités ?
"Crudités, it's a cup of carrots sticks"
Create - Retrieve - Update - Delete - Introspection, Transaction, Errors & Schema
Crudites is a PHP PDO wrapper
Exception
CruditeException
extends \Exception
and is thrown by all Crudites components
Source
The Source object stores and validates a DSN (Data Source Name)
Instantiation
It is created using a DSN string, the constructor will extract and validates all the required information
mysql:host=localhost;dbname=testdb
mysql:host=localhost;port=3307;dbname=testdb
Exceptions
If the database's name or a proper driver cannot be found, a CruditesException
is thrown with the message
_DSN_NO_DBNAME_
_DSN_NO_DRIVER_
_DSN_UNAVAILABLE_DRIVER_
Properties
The object stores
- The DSN string (constructor parameter)
- The database name (extracted from the DSN string)
The object validates the driver's name (extracted from DSN string) by calling \PDO::getAvailableDrivers()
Methods
When instantiated, the object provides two methods:
DSN()
, returns the DSN string (string)name()
, returns the database name (string)
Connection
The Connection object relies on PDO to connect to a database.
Instantiation
It is created using
- a DSN string
- a username (optional)
- a password (optional)
- a list of driver options (optional)
Exceptions
The DSN string is validated using the Source object, and may throw CruditesException
A PDO object is created and may throw a PDOException
Default Options
The PDO::ATTR_ERRMODE is the only option that cannot be overridden
Properties
The object stores:
- a Source object;
- a database name (string)
- a PDO object
Methods
When instantiated, the object provides the following methods:
Database related
- useDatabase(string name)
- driverName()
- databaseName()
Query execution
- prepare(string statement)
- query()
- alter()
- lastInsertId(string name)
- errorInfo()
- errorCode()
Transactions
- transact()
- commit()
- rollback()
Database
The object represent a SQL database, handles connection and introspection.
Introspection is a two step process:
- The
INFORMATION_SCHEMA
is queried and FK and UNIQUE constraints are stored in the object properties upon instantiation - The table introspection, called inspection, is executed on demand using
inspect(table_name)
and the results are stored in the table cache property. Inspection uses introspection to create a complete representation of a table: fields, data type, defaults & constraints
Instantiation
It is created using a Connection
object. The connection is stored and the database instrospection is executed.
Properties
Connection
object- Table cache (array)
- List of foreign keys, indexed by table (array)
- List of unique constraints, indexed by table (array)
Methods
When instantiated, the object provides the following methods:
- name(), returns the database name
- connection(), returns the
Connection
object - inspect(string table_name), return a Table object