Download the PHP package knj/d2o without Composer
On this page you can find all versions of the php package knj/d2o. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package d2o
D2O
Installation
Use Composer.
D2O from PDO
If D2O, you can use PDO and PDOStatement with only 1 statement using method chaining:
otherwise need to $dbh
as PDO and $stmt
as PDOStatement and at least 3 statements are required:
Methods
state ( string $statement )
D2O::state()
is to be called by D2O directly. It is almost the same as PDO::prepare()
but returns D2O instance itself.
bind ( [ array $parameters [, string $bind_type = 'value' ] ] )
D2O::bind()
is to be called after D2O::state()
. It is similar to PDOStatement::bindValue()
but returns D2O instance.
run ( [ array $parameters [, string $bind_type = 'value' ] ] )
D2O::run()
is to be called after D2O::state()
. It is similar to PDOStatement::execute()
but returns D2O instance.
pick ( string $fetch_style )
D2O::pick()
is to be called after D2O::run()
. It is almost the same as PDOStatement::fetch()
. It does not return the instance but query result.
format ( string $fetch_style )
D2O::format()
is to be called after D2O::run()
. It is almost the same as PDOStatement::fetchAll()
. It does not return the instance but query result.
getStatement()
D2O::getStatement()
returns PDOStatement object in D2O. To give an example, you can use PDOStatement::fetchAll()
with it instead of D2O::format()
.
Differences between D2O and PDO
PDOStatement lies inside of D2O
Using PDO, extra variable is required to contain PDOStatement instance. However, D2O has PDOStatement as its property so that it can provide method chaining.
Example of sequential insertion:
Data binding
D2O saves coding when you bind values on placeholders:
- You don't have to use colons
- You don't have to
PDO_PARAM_*
when the value is string, integer, or null - You can specify data type more concisely, like
'str'
instead ofPDO::PARAM_STR
And D2O never calls PDOStatement::bindParam()
.