/** * Возвращает объект билдера * * @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; }
/** * Обрабатывает параметры для дебаггинга в зависимости от типа. * * @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); } }
/** * Проверка корректности настроек * * @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; }
/** * Проверяет корректность анонимной функции * * @param callable $callable * * @return callable */ protected function validateCallable($callable) { if (!is_callable($callable)) { AbcError::invalidArgument(ABC_INVALID_CALLABLE); } return $callable; }