Ejemplo n.º 1
0
 /**
  * Возвращает объект билдера
  *
  * @param string $serviceId
  *
  * @return object
  */
 protected function getBuilder($serviceId = null)
 {
     if (empty($serviceId) || !is_string($serviceId)) {
         AbcError::invalidArgument(ABC_INVALID_SERVICE_NAME);
     }
     $builder = new Builder($serviceId, $this);
     return $builder;
 }
Ejemplo n.º 2
0
 /**
  * Обрабатывает параметры для дебаггинга в зависимости от типа.
  *
  * @param string $param
  * @param string $type
  *    
  * @return string
  */
 protected function escape($param, $type)
 {
     switch ($type) {
         case 'i':
             return (int) $param;
         case 'd':
             return "'" . (double) $param . "'";
         case 's':
         case 'b':
             return "'" . $this->mysqli->real_escape_string($param) . "'";
         default:
             AbcError::invalidArgument('Component Mysqli: ' . ABC_NO_MYSQLI_TYPE . $type);
     }
 }
Ejemplo n.º 3
0
 /**
  * Проверка корректности настроек
  *
  * @param string $config
  *    
  * @return bool
  */
 protected function checkConfig($config = [])
 {
     extract($config);
     if (!isset($dsn, $user, $pass)) {
         AbcError::invalidArgument(' Component PDO: ' . ABC_WRONG_CONNECTION);
         return false;
     }
     return true;
 }
Ejemplo n.º 4
0
 /**
  * Проверяет корректность анонимной функции 
  *
  * @param callable $callable
  *
  * @return callable
  */
 protected function validateCallable($callable)
 {
     if (!is_callable($callable)) {
         AbcError::invalidArgument(ABC_INVALID_CALLABLE);
     }
     return $callable;
 }