本文整理汇总了PHP中Autoload::nameSpaceExists方法的典型用法代码示例。如果您正苦于以下问题:PHP Autoload::nameSpaceExists方法的具体用法?PHP Autoload::nameSpaceExists怎么用?PHP Autoload::nameSpaceExists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Autoload
的用法示例。
在下文中一共展示了Autoload::nameSpaceExists方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadController
private static final function loadController()
{
$view = \View\ViewBundle::getInstance();
//$view -> setTemplate( KIT_VIEW_TEMPLATE );
////\View\ViewBundle::getInstance() -> setVar( 'path', self::$_path );
self::prepareController();
$space = 'App\\Controllers\\' . self::$_controller . 'Controller';
$e404 = ['controller' => self::$_controller, 'action' => self::$_action];
if (!\Autoload::nameSpaceExists($space)) {
return $view->e404($e404);
}
$cont = new $space();
$cont->setTpl(self::$_controller . '/' . self::$_action);
$act_method = "action" . self::$_action;
/**
* Проверка существования метода экшена и выполнение его, или стандартного
* метода 404 ошибки.
*/
if (method_exists($cont, $act_method)) {
$cont->{$act_method}(self::$_furl);
$cont->exir();
} else {
$view->e404($e404);
}
}
示例2: findRule
public static function findRule($path)
{
$f_path = explode('/', $path);
$return = [];
foreach (self::$_relation as $rel_path => $row) {
if ($path == $rel_path) {
/**
* Добавление пустого значения в начало списка, например:
* Array
* (
* [0] =>
* [1] => Account
* [2] => Authorize
* )
* для дальнейшего использования массива данных системой. Нулевой пустой
* ключ нужен нормального разбора контроллером FURL
*/
array_unshift($row, '');
return $row;
} else {
$furl = explode('/', $rel_path);
foreach ($furl as $i => $frow) {
if (isset($f_path[$i]) and $frow == $f_path[$i]) {
continue;
} else {
if ($frow[0] == '{' and $frow[strlen($frow) - 1] == '}') {
if (!isset($f_path[$i])) {
array_unshift($row, '');
$return = $return ?: $row;
continue;
}
$type = ucfirst(preg_replace('#{(.*)}#', '$1', $frow));
$ns = "App\\Property\\{$type}";
if (!\Autoload::nameSpaceExists($ns)) {
break;
}
$validate = new $ns();
if (!$validate->check($f_path[$i])) {
break;
}
array_unshift($row, '');
$return = $return ?: $row;
$return[] = $f_path[$i];
continue;
} else {
break;
}
}
}
}
}
return $return;
}
示例3: prepareRelation
private function prepareRelation($name)
{
$rel = $this->_initRelation[$name];
$model_name = "App\\Models\\{$rel[1]}";
if (!\Autoload::nameSpaceExists($model_name)) {
throw new \Exceptions\DevelException('_RELATION_CORRECT__relname:' . $rel[1]);
}
$this->_relationModel[$name] = $model = new $model_name();
return $model;
}
示例4: initValidate
public function initValidate($type)
{
if (!preg_match('#^[a-z]{1}[a-z_0-9]{0,24}$#i', $type)) {
throw new \Exceptions\DevelException('_PROPERTY_INIT_VALIDATE_INCORRECT');
}
$this->_validateName = ucfirst($type);
$validate_name = ucfirst($type);
$namespace = 'App\\Property\\' . $validate_name;
if (!\Autoload::nameSpaceExists($namespace)) {
throw new \Exceptions\DevelException('_VALIDATOR_TYPES_NF__' . $validate_name);
}
$this->_validate = new $namespace();
$this->_tag = $this->getValidate()->getTag();
$modifier = "App\\Property\\Modifier\\" . $validate_name;
if (\Autoload::nameSpaceExists($modifier)) {
$this->_modifier = new $modifier();
} else {
$this->_modifier = new \Property\Modifier();
}
}