1
0
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:
David Grudl
2015-10-06 12:54:27 +02:00
parent 76396ab250
commit f42d1b1611
39 changed files with 116 additions and 39 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -11,8 +11,10 @@
*
* @package dibi
*/
class DibiDataSource extends DibiObject implements IDataSource
class DibiDataSource implements IDataSource
{
use DibiStrict;
/** @var DibiConnection */
private $connection;

View File

@@ -13,6 +13,7 @@
*/
class DibiDateTime extends DateTime
{
use DibiStrict;
public function __construct($time = 'now', DateTimeZone $timezone = NULL)
{

View File

@@ -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 */

View File

@@ -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;

View File

@@ -12,8 +12,10 @@
* @package dibi\drivers
* @internal
*/
class DibiMsSql2005Reflector extends DibiObject implements IDibiReflector
class DibiMsSql2005Reflector implements IDibiReflector
{
use DibiStrict;
/** @var IDibiDriver */
private $driver;

View File

@@ -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;

View File

@@ -12,8 +12,10 @@
* @package dibi\drivers
* @internal
*/
class DibiMsSqlReflector extends DibiObject implements IDibiReflector
class DibiMsSqlReflector implements IDibiReflector
{
use DibiStrict;
/** @var IDibiDriver */
private $driver;

View File

@@ -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;

View File

@@ -12,8 +12,10 @@
* @package dibi\drivers
* @internal
*/
class DibiMySqlReflector extends DibiObject implements IDibiReflector
class DibiMySqlReflector implements IDibiReflector
{
use DibiStrict;
/** @var IDibiDriver */
private $driver;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -12,8 +12,10 @@
* @package dibi\drivers
* @internal
*/
class DibiSqliteReflector extends DibiObject implements IDibiReflector
class DibiSqliteReflector implements IDibiReflector
{
use DibiStrict;
/** @var IDibiDriver */
private $driver;

View File

@@ -13,6 +13,8 @@
*/
class DibiEvent
{
use DibiStrict;
/** event type */
const CONNECT = 1,
SELECT = 4,

View File

@@ -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 */

View File

@@ -11,6 +11,7 @@
*/
class DibiHelpers
{
use DibiStrict;
/**
* Prints out a syntax highlighted version of the SQL command or DibiResult.

View File

@@ -11,8 +11,10 @@
*
* @package dibi
*/
class DibiLiteral extends DibiObject
class DibiLiteral
{
use DibiStrict;
/** @var string */
private $value;

View File

@@ -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;

View File

@@ -11,8 +11,10 @@
*
* @package dibi
*/
class DibiFirePhpLogger extends DibiObject
class DibiFirePhpLogger
{
use DibiStrict;
/** maximum number of rows */
static public $maxQueries = 30;

View File

@@ -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;

View File

@@ -15,8 +15,10 @@
* @property-read array $tables
* @property-read array $tableNames
*/
class DibiDatabaseInfo extends DibiObject
class DibiDatabaseInfo
{
use DibiStrict;
/** @var IDibiReflector */
private $reflector;

View File

@@ -15,8 +15,10 @@
* @property-read string $name
* @property-read array $references
*/
class DibiForeignKeyInfo extends DibiObject
class DibiForeignKeyInfo
{
use DibiStrict;
/** @var string */
private $name;

View File

@@ -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;

View File

@@ -14,8 +14,10 @@
* @property-read array $columns
* @property-read array $columnNames
*/
class DibiResultInfo extends DibiObject
class DibiResultInfo
{
use DibiStrict;
/** @var IDibiResultDriver */
private $driver;

View File

@@ -19,8 +19,10 @@
* @property-read array $indexes
* @property-read DibiIndexInfo $primaryKey
*/
class DibiTableInfo extends DibiObject
class DibiTableInfo
{
use DibiStrict;
/** @var IDibiReflector */
private $reflector;

View File

@@ -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;

View File

@@ -22,6 +22,8 @@
*/
class DibiResultIterator implements Iterator, Countable
{
use DibiStrict;
/** @var DibiResult */
private $result;

View File

@@ -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;

View File

@@ -11,8 +11,10 @@
*
* @package dibi
*/
final class DibiTranslator extends DibiObject
final class DibiTranslator
{
use DibiStrict;
/** @var DibiConnection */
private $connection;

View File

@@ -14,6 +14,8 @@
*/
class dibi
{
use DibiStrict;
const
AFFECTED_ROWS = 'a',
IDENTIFIER = 'n';

View File

@@ -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 = [

View File

@@ -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',

View File

@@ -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().');