mirror of
https://github.com/dg/dibi.git
synced 2025-08-04 05:07:36 +02:00
DibiObject replaced with trait DibiStrict
This commit is contained in:
@@ -13,8 +13,10 @@ use Nette\Diagnostics\Debugger;
|
||||
*
|
||||
* @package dibi\nette
|
||||
*/
|
||||
class DibiNettePanel extends DibiObject implements Nette\Diagnostics\IBarPanel
|
||||
class DibiNettePanel implements Nette\Diagnostics\IBarPanel
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var int maximum SQL length */
|
||||
static public $maxLength = 1000;
|
||||
|
||||
|
@@ -16,8 +16,10 @@ use DibiHelpers;
|
||||
* Dibi panel for Tracy.
|
||||
* @package dibi\nette
|
||||
*/
|
||||
class Panel extends \DibiObject implements Tracy\IBarPanel
|
||||
class Panel implements Tracy\IBarPanel
|
||||
{
|
||||
use \DibiStrict;
|
||||
|
||||
/** @var int maximum SQL length */
|
||||
static public $maxLength = 1000;
|
||||
|
||||
|
@@ -14,8 +14,10 @@
|
||||
* @property-read int $affectedRows
|
||||
* @property-read int $insertId
|
||||
*/
|
||||
class DibiConnection extends DibiObject
|
||||
class DibiConnection
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var array of function (DibiEvent $event); Occurs after query is executed */
|
||||
public $onEvent;
|
||||
|
||||
|
@@ -11,8 +11,10 @@
|
||||
*
|
||||
* @package dibi
|
||||
*/
|
||||
class DibiDataSource extends DibiObject implements IDataSource
|
||||
class DibiDataSource implements IDataSource
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var DibiConnection */
|
||||
private $connection;
|
||||
|
||||
|
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
class DibiDateTime extends DateTime
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
public function __construct($time = 'now', DateTimeZone $timezone = NULL)
|
||||
{
|
||||
|
@@ -20,8 +20,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiFirebirdDriver extends DibiObject implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
class DibiFirebirdDriver implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
const ERROR_EXCEPTION_THROWN = -836;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
|
@@ -21,8 +21,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiMsSql2005Driver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -12,8 +12,10 @@
|
||||
* @package dibi\drivers
|
||||
* @internal
|
||||
*/
|
||||
class DibiMsSql2005Reflector extends DibiObject implements IDibiReflector
|
||||
class DibiMsSql2005Reflector implements IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -20,8 +20,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiMsSqlDriver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiMsSqlDriver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -12,8 +12,10 @@
|
||||
* @package dibi\drivers
|
||||
* @internal
|
||||
*/
|
||||
class DibiMsSqlReflector extends DibiObject implements IDibiReflector
|
||||
class DibiMsSqlReflector implements IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -26,8 +26,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiMySqlDriver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiMySqlDriver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
const ERROR_ACCESS_DENIED = 1045;
|
||||
const ERROR_DUPLICATE_ENTRY = 1062;
|
||||
const ERROR_DATA_TRUNCATED = 1265;
|
||||
|
@@ -12,8 +12,10 @@
|
||||
* @package dibi\drivers
|
||||
* @internal
|
||||
*/
|
||||
class DibiMySqlReflector extends DibiObject implements IDibiReflector
|
||||
class DibiMySqlReflector implements IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -27,8 +27,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiMySqliDriver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiMySqliDriver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
const ERROR_ACCESS_DENIED = 1045;
|
||||
const ERROR_DUPLICATE_ENTRY = 1062;
|
||||
const ERROR_DATA_TRUNCATED = 1265;
|
||||
|
@@ -19,8 +19,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiOdbcDriver extends DibiObject implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
class DibiOdbcDriver implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -23,8 +23,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiOracleDriver extends DibiObject implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
class DibiOracleDriver implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -20,8 +20,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiPdoDriver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiPdoDriver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var PDO Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -20,8 +20,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiPostgreDriver extends DibiObject implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
class DibiPostgreDriver implements IDibiDriver, IDibiResultDriver, IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var resource Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -20,8 +20,10 @@
|
||||
*
|
||||
* @package dibi\drivers
|
||||
*/
|
||||
class DibiSqlite3Driver extends DibiObject implements IDibiDriver, IDibiResultDriver
|
||||
class DibiSqlite3Driver implements IDibiDriver, IDibiResultDriver
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var SQLite3 Connection resource */
|
||||
private $connection;
|
||||
|
||||
|
@@ -12,8 +12,10 @@
|
||||
* @package dibi\drivers
|
||||
* @internal
|
||||
*/
|
||||
class DibiSqliteReflector extends DibiObject implements IDibiReflector
|
||||
class DibiSqliteReflector implements IDibiReflector
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -13,6 +13,8 @@
|
||||
*/
|
||||
class DibiEvent
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** event type */
|
||||
const CONNECT = 1,
|
||||
SELECT = 4,
|
||||
|
@@ -23,8 +23,10 @@
|
||||
* @method DibiFluent leftJoin($table)
|
||||
* @method DibiFluent on($cond)
|
||||
*/
|
||||
class DibiFluent extends DibiObject implements IDataSource
|
||||
class DibiFluent implements IDataSource
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
const REMOVE = FALSE;
|
||||
|
||||
/** @var array */
|
||||
|
@@ -11,6 +11,7 @@
|
||||
*/
|
||||
class DibiHelpers
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/**
|
||||
* Prints out a syntax highlighted version of the SQL command or DibiResult.
|
||||
|
@@ -11,8 +11,10 @@
|
||||
*
|
||||
* @package dibi
|
||||
*/
|
||||
class DibiLiteral extends DibiObject
|
||||
class DibiLiteral
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var string */
|
||||
private $value;
|
||||
|
||||
|
@@ -11,8 +11,10 @@
|
||||
*
|
||||
* @package dibi
|
||||
*/
|
||||
class DibiFileLogger extends DibiObject
|
||||
class DibiFileLogger
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var string Name of the file where SQL errors should be logged */
|
||||
public $file;
|
||||
|
||||
|
@@ -11,8 +11,10 @@
|
||||
*
|
||||
* @package dibi
|
||||
*/
|
||||
class DibiFirePhpLogger extends DibiObject
|
||||
class DibiFirePhpLogger
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** maximum number of rows */
|
||||
static public $maxQueries = 30;
|
||||
|
||||
|
@@ -22,8 +22,10 @@
|
||||
* @property-read bool $autoIncrement
|
||||
* @property-read mixed $default
|
||||
*/
|
||||
class DibiColumnInfo extends DibiObject
|
||||
class DibiColumnInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var array */
|
||||
private static $types;
|
||||
|
||||
|
@@ -15,8 +15,10 @@
|
||||
* @property-read array $tables
|
||||
* @property-read array $tableNames
|
||||
*/
|
||||
class DibiDatabaseInfo extends DibiObject
|
||||
class DibiDatabaseInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiReflector */
|
||||
private $reflector;
|
||||
|
||||
|
@@ -15,8 +15,10 @@
|
||||
* @property-read string $name
|
||||
* @property-read array $references
|
||||
*/
|
||||
class DibiForeignKeyInfo extends DibiObject
|
||||
class DibiForeignKeyInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var string */
|
||||
private $name;
|
||||
|
||||
|
@@ -16,8 +16,10 @@
|
||||
* @property-read bool $unique
|
||||
* @property-read bool $primary
|
||||
*/
|
||||
class DibiIndexInfo extends DibiObject
|
||||
class DibiIndexInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var array (name, columns, [unique], [primary]) */
|
||||
private $info;
|
||||
|
||||
|
@@ -14,8 +14,10 @@
|
||||
* @property-read array $columns
|
||||
* @property-read array $columnNames
|
||||
*/
|
||||
class DibiResultInfo extends DibiObject
|
||||
class DibiResultInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiResultDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -19,8 +19,10 @@
|
||||
* @property-read array $indexes
|
||||
* @property-read DibiIndexInfo $primaryKey
|
||||
*/
|
||||
class DibiTableInfo extends DibiObject
|
||||
class DibiTableInfo
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var IDibiReflector */
|
||||
private $reflector;
|
||||
|
||||
|
@@ -26,8 +26,10 @@
|
||||
*
|
||||
* @property-read int $rowCount
|
||||
*/
|
||||
class DibiResult extends DibiObject implements IDataSource
|
||||
class DibiResult implements IDataSource
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var array IDibiResultDriver */
|
||||
private $driver;
|
||||
|
||||
|
@@ -22,6 +22,8 @@
|
||||
*/
|
||||
class DibiResultIterator implements Iterator, Countable
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var DibiResult */
|
||||
private $result;
|
||||
|
||||
|
@@ -7,10 +7,10 @@
|
||||
|
||||
|
||||
/**
|
||||
* Object is the ultimate ancestor of all instantiable classes.
|
||||
* Better OOP experience.
|
||||
* @package dibi
|
||||
*/
|
||||
abstract class DibiObject
|
||||
trait DibiStrict
|
||||
{
|
||||
/** @var array [method => [type => callback]] */
|
||||
private static $extMethods;
|
@@ -11,8 +11,10 @@
|
||||
*
|
||||
* @package dibi
|
||||
*/
|
||||
final class DibiTranslator extends DibiObject
|
||||
final class DibiTranslator
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var DibiConnection */
|
||||
private $connection;
|
||||
|
||||
|
@@ -14,6 +14,8 @@
|
||||
*/
|
||||
class dibi
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
const
|
||||
AFFECTED_ROWS = 'a',
|
||||
IDENTIFIER = 'n';
|
||||
|
@@ -13,6 +13,8 @@
|
||||
*/
|
||||
class DibiException extends Exception
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
/** @var string */
|
||||
private $sql;
|
||||
|
||||
@@ -116,6 +118,8 @@ class DibiDriverException extends DibiException
|
||||
*/
|
||||
class DibiPcreException extends Exception
|
||||
{
|
||||
use DibiStrict;
|
||||
|
||||
public function __construct($message = '%msg.')
|
||||
{
|
||||
static $messages = [
|
||||
|
@@ -46,7 +46,7 @@ spl_autoload_register(function ($class) {
|
||||
'DibiNettePanel' => 'Bridges/Nette/Panel.php',
|
||||
'DibiNotImplementedException' => 'exceptions.php',
|
||||
'DibiNotSupportedException' => 'exceptions.php',
|
||||
'DibiObject' => 'Object.php',
|
||||
'DibiStrict' => 'Strict.php',
|
||||
'DibiOdbcDriver' => 'Drivers/OdbcDriver.php',
|
||||
'DibiOracleDriver' => 'Drivers/OracleDriver.php',
|
||||
'DibiPcreException' => 'exceptions.php',
|
||||
|
@@ -5,12 +5,9 @@ use Tester\Assert;
|
||||
require __DIR__ . '/bootstrap.php';
|
||||
|
||||
|
||||
class TestClass extends DibiObject
|
||||
class TestClass
|
||||
{
|
||||
public function callParent()
|
||||
{
|
||||
parent::callParent();
|
||||
}
|
||||
use DibiStrict;
|
||||
|
||||
public function getBar()
|
||||
{
|
||||
@@ -23,6 +20,14 @@ class TestClass extends DibiObject
|
||||
}
|
||||
}
|
||||
|
||||
class TestChild extends TestClass
|
||||
{
|
||||
public function callParent()
|
||||
{
|
||||
parent::callParent();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// calling
|
||||
Assert::exception(function () {
|
||||
@@ -35,7 +40,7 @@ Assert::exception(function () {
|
||||
}, 'LogicException', 'Call to undefined static method TestClass::undeclared().');
|
||||
|
||||
Assert::exception(function () {
|
||||
$obj = new TestClass;
|
||||
$obj = new TestChild;
|
||||
$obj->callParent();
|
||||
}, 'LogicException', 'Call to undefined method parent::callParent().');
|
||||
|
Reference in New Issue
Block a user