From e458b727481c3c482ee920d2764868ed177deb5d Mon Sep 17 00:00:00 2001 From: Juan Date: Wed, 23 May 2018 11:08:11 +0200 Subject: [PATCH] Db\Connection::quote(), SQL debuging, code linted to new standard --- db/connection.php | 261 +++++++++++++++++++++-------------------- db/exception.php | 12 +- debian/changelog | 2 +- env.php | 2 +- lib/app.php | 120 +++++++++---------- lib/cli-app.php | 38 +++--- lib/exception.php | 10 +- lib/locale.php | 71 +++++------ lib/log.php | 67 +++++------ lib/method.php | 23 ++-- lib/type.php | 22 ++-- lib/user-exception.php | 2 +- lib/util.php | 40 +++---- vn-autoload.php | 28 ++--- 14 files changed, 326 insertions(+), 372 deletions(-) diff --git a/db/connection.php b/db/connection.php index 34c6854..bddb51a 100644 --- a/db/connection.php +++ b/db/connection.php @@ -4,14 +4,13 @@ namespace Vn\Db; use Vn\Lib\Type; -class Connection -{ +class Connection { private $conn = NULL; private $isOpen = FALSE; + var $enableDebug = FALSE; - function __construct () - { - $this->initHandler (); + function __construct() { + $this->initHandler(); } /** @@ -24,32 +23,28 @@ class Connection * * @return boolean %TRUE on success, %FALSE otherwise */ - function open ($host, $user, $pass, $name, $port = NULL) - { - $conn = $this->initHandler (); - $conn->options (MYSQLI_OPT_LOCAL_INFILE, TRUE); - $conn->real_connect ($host, $user, $pass, $name, $port); + function open($host, $user, $pass, $name, $port = NULL) { + $conn = $this->initHandler(); + $conn->options(MYSQLI_OPT_LOCAL_INFILE, TRUE); + $conn->real_connect($host, $user, $pass, $name, $port); - if (mysqli_connect_errno ()) - { - sleep (3); - throw new Exception (mysqli_connect_errno (), mysqli_connect_error ()); + if (mysqli_connect_errno()) { + sleep(3); + throw new Exception(mysqli_connect_errno(), mysqli_connect_error()); return FALSE; } $this->isOpen = TRUE; - $this->query ('SET CHARACTER SET utf8'); + $this->query('SET CHARACTER SET utf8'); return TRUE; } /** * Closes the current connection, if it's closed does nothing. */ - function close () - { - if ($this->isOpen) - { - $this->conn->close (); + function close() { + if ($this->isOpen) { + $this->conn->close(); $this->conn = NULL; } @@ -61,10 +56,9 @@ class Connection * * @return Objetct The connection handler */ - function initHandler () - { + function initHandler() { if (!$this->conn) - $this->conn = new \mysqli (); + $this->conn = new \mysqli(); return $this->conn; } @@ -76,8 +70,7 @@ class Connection * * @return Objetct The connection handler */ - function getHandler () - { + function getHandler() { return $this->conn; } @@ -87,9 +80,8 @@ class Connection * @param string $schema The schema name * @return boolean %TRUE if success, %FALSE otherwise */ - function selectDb ($dbName) - { - return $this->conn->select_db ($dbName); + function selectDb($dbName) { + return $this->conn->select_db($dbName); } /** @@ -100,15 +92,14 @@ class Connection * * @return mixed The value or %NULL if error */ - function query ($query, $params = NULL) - { - $result = $this->conn->query ($this->render ($query, $params)); + function query($query, $params = NULL) { + $result = $this->conn->query($this->renderDebug($query, $params)); if (!$result) - $this->checkError (); + $this->checkError(); else - while ($this->moreResults ()) - $this->nextResult (); + while ($this->moreResults()) + $this->nextResult(); return $result; } @@ -118,8 +109,7 @@ class Connection * * @return boolean %TRUE if connection is open, %FALSE otherwise */ - function isOpen () - { + function isOpen() { return $this->isOpen; } @@ -130,12 +120,10 @@ class Connection * * @return mixed[] An associative array with the first row, %NULL if error */ - function getRowFromResult ($result) - { - if ($result) - { - $row = $result->fetch_assoc (); - $result->free (); + function getRowFromResult($result) { + if ($result) { + $row = $result->fetch_assoc(); + $result->free(); return $row; } @@ -149,12 +137,10 @@ class Connection * * @return object An object with the first row, %NULL if error */ - function getObjectFromResult ($result) - { - if ($result) - { - $row = $result->fetch_object (); - $result->free (); + function getObjectFromResult($result) { + if ($result) { + $row = $result->fetch_object(); + $result->free(); return $row; } @@ -168,18 +154,16 @@ class Connection * * @return mixed The value or %NULL if error */ - function getValueFromResult ($result) - { + function getValueFromResult($result) { $value = NULL; - if ($result) - { - $row = $result->fetch_row (); + if ($result) { + $row = $result->fetch_row(); - if ($row && count ($row) > 0) + if ($row && count($row) > 0) $value = $row[0]; - $result->free (); + $result->free(); } return $value; @@ -193,10 +177,9 @@ class Connection * * @return mixed[] An associative array with the first row, %NULL if error */ - function getRow ($query, $params = NULL) - { - $result = $this->query ($query, $params); - return $this->getRowFromResult ($result); + function getRow($query, $params = NULL) { + $result = $this->query($query, $params); + return $this->getRowFromResult($result); } /** @@ -207,10 +190,9 @@ class Connection * * @return object An object with the first row, %NULL if error */ - function getObject ($query, $params = NULL) - { - $result = $this->query ($query, $params); - return $this->getObjectFromResult ($result); + function getObject($query, $params = NULL) { + $result = $this->query($query, $params); + return $this->getObjectFromResult($result); } /** @@ -221,10 +203,9 @@ class Connection * * @return mixed The value or %NULL if error */ - function getValue ($query, $params = NULL) - { - $result = $this->query ($query, $params); - return $this->getValueFromResult ($result); + function getValue($query, $params = NULL) { + $result = $this->query($query, $params); + return $this->getValueFromResult($result); } /** @@ -235,14 +216,13 @@ class Connection * * @return mixed The query string */ - function loadFromFile ($file, $params = NULL) - { - $query = file_get_contents ($file .'.sql'); + function loadFromFile($file, $params = NULL) { + $query = file_get_contents($file .'.sql'); if ($query === FALSE) - throw new Exception (NULL, 'Can not load query from file'); + throw new Exception(NULL, 'Can not load query from file'); - return $this->render ($query, $params); + return $this->render($query, $params); } /** @@ -253,12 +233,11 @@ class Connection * * @return mixed The value or %NULL if error */ - function queryFromFile ($file, $params = NULL) - { - $query = $this->loadFromFile ($file, $params); + function queryFromFile($file, $params = NULL) { + $query = $this->loadFromFile($file, $params); if ($query) - return $this->query ($query); + return $this->query($query); return NULL; } @@ -271,10 +250,9 @@ class Connection * * @return mixed[] An associative array with the first row, %NULL if error */ - function getRowFromFile ($file, $params = NULL) - { - $result = $this->queryFromFile ($file, $params); - return $this->getRowFromResult ($result); + function getRowFromFile($file, $params = NULL) { + $result = $this->queryFromFile($file, $params); + return $this->getRowFromResult($result); } /** @@ -285,10 +263,9 @@ class Connection * * @return mixed The value or %NULL if error */ - function getValueFromFile ($file, $params = NULL) - { - $result = $this->queryFromFile ($file, $params); - return $this->getValueFromResult ($result); + function getValueFromFile($file, $params = NULL) { + $result = $this->queryFromFile($file, $params); + return $this->getValueFromResult($result); } /** @@ -299,12 +276,11 @@ class Connection * * @return mixed The value or %NULL if error */ - function multiQuery ($query, $params = NULL) - { - $success = $this->conn->multi_query ($this->render ($query, $params)); + function multiQuery($query, $params = NULL) { + $success = $this->conn->multi_query($this->renderDebug($query, $params)); if (!$success) - $this->checkError (); + $this->checkError(); return $success; } @@ -316,30 +292,26 @@ class Connection * * @return mixed The statement object or %FALSE if an error occurred */ - function prepare ($query) - { - return $this->conn->prepare ($query); + function prepare($query) { + return $this->conn->prepare($query); } - function storeResult () - { - $result = $this->conn->store_result (); + function storeResult() { + $result = $this->conn->store_result(); if (!$result) - $this->checkError (); + $this->checkError(); return $result; } - function moreResults () - { - return $this->conn->more_results (); + function moreResults() { + return $this->conn->more_results(); } - function nextResult () - { - $hasNext = $this->conn->next_result (); - $this->checkError (); + function nextResult() { + $hasNext = $this->conn->next_result(); + $this->checkError(); return $hasNext; } @@ -347,10 +319,9 @@ class Connection * Check if there has been an error in the last query or multiquery, * throwing a @Exception exception if any. */ - function checkError () - { + function checkError() { if ($this->conn->errno) - throw new Exception ($this->conn->errno, $this->conn->error); + throw new Exception($this->conn->errno, $this->conn->error); } /** @@ -358,8 +329,7 @@ class Connection * * @return boolean %TRUE if there have been warnings %FALSE otherwise */ - function checkWarnings () - { + function checkWarnings() { return $this->conn->warning_count > 0; } @@ -371,29 +341,26 @@ class Connection * * @return string The rendered SQL string */ - function render ($query, $paramsMap = NULL) - { - if (isset ($paramsMap) && is_array ($paramsMap) && count ($paramsMap) > 0) - { + function render($query, $paramsMap = NULL) { + if (isset($paramsMap) && is_array($paramsMap) && count($paramsMap) > 0) { $i = 0; $params = []; - foreach ($paramsMap as $key => $value) - $params[$key] = $this->renderValue ($value); + foreach($paramsMap as $key => $value) + $params[$key] = $this->renderValue($value); - $replaceFunc = function ($matches) use (&$params, &$i) - { - $key = substr ($matches[0], 1); + $replaceFunc = function($matches) use(&$params, &$i) { + $key = substr($matches[0], 1); - if (strlen ($key) == 0) + if (strlen($key) == 0) $key = $i++; - if (isset ($params[$key])) + if (isset($params[$key])) return $params[$key]; return '#'. $key; }; - return preg_replace_callback ('/#\w*/', $replaceFunc, $query); + return preg_replace_callback('/#\w*/', $replaceFunc, $query); } else return $query; @@ -406,25 +373,61 @@ class Connection * * @return string The SQL value */ - function renderValue ($value) - { + function renderValue($value) { if ($value !== NULL) - switch (Type::get ($value)) - { + switch (Type::get($value)) { case Type::BOOLEAN: - return ($value) ? 'TRUE' : 'FALSE'; + return($value) ? 'TRUE' : 'FALSE'; case Type::STRING: - return '\'' . $this->conn->escape_string ($value) . '\''; + return '\'' . $this->escapeString($value) . '\''; case Type::DATE: - return strftime ('\'%Y-%m-%d\'', $value->getTimestamp ()); + return strftime('\'%Y-%m-%d\'', $value->getTimestamp()); case Type::TIME: - return strftime ('\'%T\'', $value->getTimestamp ()); + return strftime('\'%T\'', $value->getTimestamp()); case Type::DATE_TIME: - return strftime ('\'%Y-%m-%d %T\'', $value->getTimestamp ()); + return strftime('\'%Y-%m-%d %T\'', $value->getTimestamp()); default: - return '\'' . $this->conn->escape_string ($value) . '\''; + return '\'' . $this->escapeString($value) . '\''; } else return 'NULL'; } + + /** + * Escapes an string, escaping special characters when necessary. + * + * @param string $string The string + * @return string The escaped string + */ + function escapeString($string) { + return $this->conn->real_escape_string($string); + } + + /** + * Quotes an identifier, escaping special characters when necessary. + * + * @param string $identifier The identifier without quotes + * @return string The quoted identifier + */ + function quote($identifier) { + return "`". str_replace("`", "``", $identifier) ."`"; + } + + /** + * Renders an SQL string using the given parameters, also debugs the + * rendered string if $enableDebug property is set to %true. + * + * @param string $query The SQL string + * @param mixed[] $paramsMap The query parameters + * + * @return string The rendered SQL string + */ + function renderDebug($query, $params = NULL) { + $renderedQuery = $this->render($query, $params); + + if ($this->enableDebug) + error_log($renderedQuery); + + return $renderedQuery; + } } diff --git a/db/exception.php b/db/exception.php index c72ad4b..902fc91 100644 --- a/db/exception.php +++ b/db/exception.php @@ -4,15 +4,13 @@ namespace Vn\Db; /** * Class used to store information about database errors. - **/ -class Exception extends \Exception -{ + */ +class Exception extends \Exception { /** * @param string $code The code of message * @param string $message The message string - **/ - function __construct ($code, $message) - { - parent::__construct ($message, $code); + */ + function __construct($code, $message) { + parent::__construct($message, $code); } } diff --git a/debian/changelog b/debian/changelog index 63d9849..1353327 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -php-vn-lib (2.1.3) stable; urgency=low +php-vn-lib (2.1.4) stable; urgency=low * Initial Release. diff --git a/env.php b/env.php index 5b0377e..98a21f1 100644 --- a/env.php +++ b/env.php @@ -1,6 +1,6 @@ name = $name; $this->methodDir = $methodDir; } @@ -44,8 +42,7 @@ class App * * @return The application name */ - function getName () - { + function getName() { return $this->name; } @@ -54,8 +51,7 @@ class App * * @return The config object */ - function getConf () - { + function getConf() { return $this->conf; } @@ -63,26 +59,23 @@ class App * Initializes Application. Should be the first called function in any * application that uses this class. */ - function init () - { - ini_set ('log_errors', TRUE); - //ini_set ('error_log', _LOG_DIR .'/'. $this->name .'.log'); + function init() { + ini_set('log_errors', TRUE); + //ini_set('error_log', _LOG_DIR .'/'. $this->name .'.log'); - register_shutdown_function ([$this, 'deinit']); + register_shutdown_function([$this, 'deinit']); - $configFile = $this->getConfigFile (); - $this->conf = include ($configFile); + $configFile = $this->getConfigFile(); + $this->conf = include($configFile); } /** * Deinitializes the Application. When init method is called, this * function is called automatically at the end of the script. */ - function deinit () - { - if ($this->sysConn) - { - $this->sysConn->close (); + function deinit() { + if ($this->sysConn) { + $this->sysConn->close(); $this->sysConn = NULL; } } @@ -90,14 +83,13 @@ class App /** * Gets the configuration file name. */ - function getConfigFile () - { + function getConfigFile() { $configDir = _CONFIG_DIR .'/'. $this->name; $customFile = "$configDir/config.my.php"; - if (file_exists ('config.php')) + if (file_exists('config.php')) return 'config.php'; - else if (file_exists ($customFile)) + else if (file_exists($customFile)) return $customFile; else return "$configDir/config.php"; @@ -107,23 +99,22 @@ class App * Creates a new connection object using the configuration parameters and * the passed user and password. */ - function createConnection ($user, $password, $persistent = FALSE) - { + function createConnection($user, $password, $persistent = FALSE) { $dbConf = $this->conf['db']; $host = $dbConf['host']; if ($persistent) $host = 'p:'.$host; - $conn = new Connection (); - $conn->open ( + $conn = new Connection(); + $conn->open( $host ,$user ,$password ,$dbConf['schema'] ,$dbConf['port'] ); - $conn->query ('SET @lang = #', [Locale::get ()]); + $conn->query('SET @lang = #', [Locale::get()]); return $conn; } @@ -132,13 +123,11 @@ class App * * @return Vn\Db\Conn The connection */ - function getSysConn () - { - if (!$this->sysConn) - { + function getSysConn() { + if (!$this->sysConn) { $dbConf = $this->conf['db']; - $this->sysConn = $this->createConnection ( - $dbConf['user'], base64_decode ($dbConf['pass']), TRUE); + $this->sysConn = $this->createConnection( + $dbConf['user'], base64_decode($dbConf['pass']), TRUE); } return $this->sysConn; @@ -147,48 +136,47 @@ class App /** * Starts the application. Should be implemented by child classes. */ - function run () {} + function run() {} /** * Runs a method. */ - function loadMethod ($methodUri = NULL, $checkClass = NULL, $baseDir = NULL) - { + function loadMethod($methodUri = NULL, $checkClass = NULL, $baseDir = NULL) { // XXX: Partially implemented if (!$methodUri) - $methodUri = basename ($_SERVER['SCRIPT_FILENAME'], '.php'); + $methodUri = basename($_SERVER['SCRIPT_FILENAME'], '.php'); if (!$baseDir) $baseDir = $this->methodDir; if (!$checkClass) $checkClass = __NAMESPACE__ .'\Method'; - if (!preg_match ('/^[\/\w\-]+$/', $methodUri)) - throw new \Exception ('Method contains invalid characters'); + if (!preg_match('/^[\/\w\-]+$/', $methodUri)) + throw new \Exception('Method contains invalid characters'); - $split = explode ('/', $methodUri); - $methodName = array_pop ($split); - $methodPath = implode ('/', $split); + $split = explode('/', $methodUri); + $methodName = array_pop($split); + $methodPath = implode('/', $split); - if (empty ($methodName)) - throw new \Exception ('Invalid method name'); + if (empty($methodName)) + throw new \Exception('Invalid method name'); $methodFile = ''; - if (!empty ($baseDir)) + if (!empty($baseDir)) $methodFile .= "$baseDir/"; - if (!empty ($methodPath)) + if (!empty($methodPath)) $methodFile .= "$methodPath/"; $methodFile .= "$methodName.php"; - $className = hyphenToCamelCase ($methodName, TRUE); - include_once ($methodFile); + $className = hyphenToCamelCase($methodName, TRUE); + include_once($methodFile); - if (!class_exists ($className)) - throw new \Exception ("Class '$className' not exists"); - if (!is_subclass_of ($className, $checkClass)) - throw new \Exception ("Class '$className' is not a '$checkClass' child"); + if (!class_exists($className)) + throw new \Exception("Class '$className' not exists"); + if (!is_subclass_of($className, $checkClass)) + throw new \Exception("Class '$className' is not a '$checkClass' child"); - Locale::addPath ("$baseDir/$methodName"); - return new $className ($this); + Locale::addPath("$baseDir/$methodName"); + return new $className($this); } } diff --git a/lib/cli-app.php b/lib/cli-app.php index f6fb5d4..23afb4e 100644 --- a/lib/cli-app.php +++ b/lib/cli-app.php @@ -4,40 +4,36 @@ namespace Vn\Lib; /** * Implements command line applications. - **/ -class CliApp extends App -{ - function run () - { - $this->init (); + */ +class CliApp extends App { + function run() { + $this->init(); - if ($lang = substr (getenv ('LANG'), 0, 2)) - Locale::set ($lang); + if ($lang = substr(getenv('LANG'), 0, 2)) + Locale::set($lang); try { - $options = getopt ('m:'); + $options = getopt('m:'); - if (empty ($options['m'])) - $this->usage (); + if (empty($options['m'])) + $this->usage(); - $db = $this->getSysConn (); + $db = $this->getSysConn(); echo "Executing method '{$options['m']}'\n"; - $method = $this->loadMethod ($options['m']); - $method->run ($db); + $method = $this->loadMethod($options['m']); + $method->run($db); } - catch (Exception $e) - { - echo $e->getMessage ()."\n"; - exit (2); + catch (Exception $e) { + echo $e->getMessage()."\n"; + exit(2); } } - function usage () - { + function usage() { global $argv; echo "Usage: {$argv[0]} -m method_path\n"; - exit (1); + exit(1); } } diff --git a/lib/exception.php b/lib/exception.php index 0ea6467..312839e 100644 --- a/lib/exception.php +++ b/lib/exception.php @@ -7,14 +7,12 @@ namespace Vn\Lib; * * @property string $message The message string * @property string $code The code of message - **/ -class Exception extends \Exception -{ + */ +class Exception extends \Exception { protected $code; - function __construct ($message = '', $code = NULL, $previous = NULL) - { - parent::__construct ($message, 0, $previous); + function __construct($message = '', $code = NULL, $previous = NULL) { + parent::__construct($message, 0, $previous); $this->code = $code; } } diff --git a/lib/locale.php b/lib/locale.php index e0df6c3..cde3c7f 100644 --- a/lib/locale.php +++ b/lib/locale.php @@ -1,24 +1,19 @@ $kk) - self::loadFile ($path); + foreach(self::$paths as $path => $kk) + self::loadFile($path); } /** * Gets the locale. * * @return string The locale with 2 digits format - **/ - static function get () - { + */ + static function get() { return self::$locale; } @@ -59,10 +52,9 @@ namespace Vn\Lib * * @param string $stringId The string to translate * @return string The translated string - **/ - static function getString ($stringId) - { - if (isset (self::$strings[$stringId])) + */ + static function getString($stringId) { + if (isset(self::$strings[$stringId])) return self::$strings[$stringId]; else return $stringId; @@ -72,28 +64,26 @@ namespace Vn\Lib * Adds a path where a JSON file with translations is located. * * @param string $path The JSON file path - **/ - static function addPath ($path) - { + */ + static function addPath($path) { self::$paths[$path] = TRUE; if (self::$localeSet) - self::loadFile ($path); + self::loadFile($path); } /** * Loads translations from a JSON file. * * @param string $path The JSON file path - **/ - static function loadFile ($path) - { + */ + static function loadFile($path) { $locale = self::$locale; - $file = stream_resolve_include_path ("$path/locale/$locale.json"); + $file = stream_resolve_include_path("$path/locale/$locale.json"); - if (file_exists ($file) - && ($jsonString = file_get_contents ($file))) - self::addTranslations (json_decode ($jsonString, TRUE)); + if (file_exists($file) + &&($jsonString = file_get_contents($file))) + self::addTranslations(json_decode($jsonString, TRUE)); } /** @@ -101,10 +91,9 @@ namespace Vn\Lib * * @param array $strings Associative array of every string and its * translation - **/ - static function addTranslations ($strings) - { - foreach ($strings as $string => &$translation) + */ + static function addTranslations($strings) { + foreach($strings as $string => &$translation) self::$strings[$string] = &$translation; } } diff --git a/lib/log.php b/lib/log.php index e0ddf3c..a43c610 100644 --- a/lib/log.php +++ b/lib/log.php @@ -2,70 +2,65 @@ namespace Vn\Lib; -class Log -{ +class Log { private static $fd = NULL; private static $count; private static $file; - static function init ($file) - { - self::close (); + static function init($file) { + self::close(); self::$file = $file; - self::$fd = fopen ($file, 'a'); - self::rename (); - set_error_handler ('Vn\Lib\Log::phpHandler', E_ALL); + self::$fd = fopen($file, 'a'); + self::rename(); + set_error_handler('Vn\Lib\Log::phpHandler', E_ALL); } - static function phpHandler ($no, $str, $file, $line, $context) - { - self::write ('PHP: %s:%d: %s', $file, $line, $str); - switch ($no) - { + static function phpHandler($no, $str, $file, $line, $context) { + self::write('PHP: %s:%d: %s', $file, $line, $str); + + switch ($no) { case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: - self::write ('PHP: Could not continue, exiting.'); - self::close (); - exit (1); + self::write('PHP: Could not continue, exiting.'); + self::close(); + exit(1); } return TRUE; } - static function close () - { - if (self::$fd != NULL) - { - fclose (self::$fd); + + static function close() { + if (self::$fd != NULL) { + fclose(self::$fd); self::$fd = NULL; } } - static function write () - { + + static function write() { if (self::$fd == NULL) return; if (self::$count > 5000) - self::rename (); + self::rename(); - self::$count += fprintf (self::$fd, "%s: %s\n" - ,strftime ('%Y-%m-%d %T') - ,call_user_func_array ('sprintf', func_get_args ()) + self::$count += fprintf(self::$fd, "%s: %s\n" + ,strftime('%Y-%m-%d %T') + ,call_user_func_array('sprintf', func_get_args()) ); } - static private function rename () - { - if (filesize (self::$file) > 1000000) - { - self::close (); + + static private function rename() { + if (filesize(self::$file) > 1000000) { + self::close(); $rename = self::$file.'.1'; - if (file_exists ($rename)) - unlink ($rename); + if (file_exists($rename)) + unlink($rename); - rename (self::$file, $rename); - self::$fd = fopen ($file, 'a'); + rename(self::$file, $rename); + self::$fd = fopen($file, 'a'); } self::$count = 0; diff --git a/lib/method.php b/lib/method.php index c1cc2f7..d880844 100644 --- a/lib/method.php +++ b/lib/method.php @@ -5,8 +5,7 @@ namespace Vn\Lib; /** * Base class for rest methods. */ -abstract class Method -{ +abstract class Method { protected $app; protected $conn = NULL; @@ -15,8 +14,7 @@ abstract class Method * * @param app Lib\App The application */ - function __construct ($app) - { + function __construct($app) { $this->app = $app; } @@ -26,16 +24,15 @@ abstract class Method * @param {Db\Conn} $db The main database connection * @return mixed The result of the method */ - abstract function run ($db); + abstract function run($db); /** * Returns the system database connection. * * return {Db\Conn} The database connection */ - function getSysConn () - { - return $this->app->getSysConn (); + function getSysConn() { + return $this->app->getSysConn(); } /** @@ -46,14 +43,12 @@ abstract class Method * @param {array} $params The list of keys to check * @return {boolean} %TRUE if all key are defined, %FALSE otherwise */ - function checkParams ($map, $params) - { - if (!isset ($map)) + function checkParams($map, $params) { + if (!isset($map)) return FALSE; - foreach ($params as $param) - if (!isset ($map[$param])) - { + foreach($params as $param) + if (!isset($map[$param])) { return FALSE; break; } diff --git a/lib/type.php b/lib/type.php index 821589a..c8ee360 100644 --- a/lib/type.php +++ b/lib/type.php @@ -18,17 +18,17 @@ class Type const DATE = 8; const DATE_TIME = 9; - static function get ($value) + static function get($value) { - if (is_bool ($value)) + if (is_bool($value)) return self::BOOLEAN; - elseif (is_int ($value)) + elseif (is_int($value)) return self::INTEGER; - elseif (is_float ($value)) + elseif (is_float($value)) return self::DOUBLE; - elseif (is_string ($value)) + elseif (is_string($value)) return self::STRING; - elseif (is_object ($value)) + elseif (is_object($value)) { if ($value instanceof Time) return self::TIME; @@ -43,21 +43,21 @@ class Type return self::NUL; } - static function set (& $value, $type) + static function set(& $value, $type) { switch ($type) { case self::INTEGER: - settype ($value, 'integer'); + settype($value, 'integer'); break; case self::DOUBLE: - settype ($value, 'float'); + settype($value, 'float'); break; case self::STRING: - settype ($value, 'string'); + settype($value, 'string'); break; case self::BOOLEAN: - settype ($value, 'boolean'); + settype($value, 'boolean'); break; case self::NUL: $value = NULL; diff --git a/lib/user-exception.php b/lib/user-exception.php index 0c4dfac..d4d4ab4 100644 --- a/lib/user-exception.php +++ b/lib/user-exception.php @@ -9,6 +9,6 @@ namespace Vn\Lib; * @property string $domain The domain name * @property string $code The code of message * @property string $message The message string - **/ + */ class UserException extends Exception {} diff --git a/lib/util.php b/lib/util.php index daf71c7..404fb8e 100644 --- a/lib/util.php +++ b/lib/util.php @@ -3,47 +3,43 @@ /** * Retrieves an element from an associative array or %NULL if it is not * defined. - **/ -function nullIf ($map, $key) + */ +function nullif ($map, $key) { - return isset ($map[$key]) ? $map[$key] : NULL; + return isset($map[$key]) ? $map[$key] : NULL; } /** * Checks if passed $path is inside directory $dir. - **/ -function checkFilePath ($file, $path) + */ +function checkFilePath($file, $path) { - $checkPath = stream_resolve_include_path ($path).'/'; - $filePath = stream_resolve_include_path ($checkPath.$file); + $checkPath = stream_resolve_include_path($path).'/'; + $filePath = stream_resolve_include_path($checkPath.$file); - $len = strlen ($checkPath); - return substr ($filePath, 0, strlen ($checkPath)) === $checkPath; + $len = strlen($checkPath); + return substr($filePath, 0, strlen($checkPath)) === $checkPath; } /** * Checks if passed token is hyphenized. - **/ -function isHyphen ($token) -{ - return preg_match ('/^[\w\-]+$/', $token); + */ +function isHyphen($token) { + return preg_match('/^[\w\-]+$/', $token); } /** * Transforms an hyphen string to camelcase. - **/ -function hyphenToCamelCase ($string, $upperFirst = FALSE) -{ - $replaceFunc = function ($matches) - { - return strtoupper ($matches[0][1]); + */ +function hyphenToCamelCase($string, $upperFirst = FALSE) { + $replaceFunc = function($matches) { + return strtoupper($matches[0][1]); }; - $result = preg_replace_callback ('/-[a-z]/', $replaceFunc, $string); + $result = preg_replace_callback('/-[a-z]/', $replaceFunc, $string); if ($upperFirst) - $result = strtoupper ($result{0}) . substr ($result, 1); + $result = strtoupper($result{0}) . substr($result, 1); return $result; } - diff --git a/vn-autoload.php b/vn-autoload.php index 6e492f6..3f391b0 100644 --- a/vn-autoload.php +++ b/vn-autoload.php @@ -1,10 +1,9 @@ $location) - { - $prefixLen = strlen ($prefix); + if (isset($vnAutoloadMap)) + foreach($vnAutoloadMap as $prefix => $location) { + $prefixLen = strlen($prefix); - if (strncmp ($classPath, $prefix, $prefixLen) == 0) - { - $classPath = "$location/". substr ($classPath, $prefixLen); + if (strncmp($classPath, $prefix, $prefixLen) == 0) { + $classPath = "$location/". substr($classPath, $prefixLen); break; } } if ($classPath{0} != DIRECTORY_SEPARATOR) - $classPath = stream_resolve_include_path ($classPath); + $classPath = stream_resolve_include_path($classPath); - if (file_exists ($classPath)) + if (file_exists($classPath)) require_once $classPath; });