[英]How does Cakephp Checks its naming conventions and folder names?
哪里CakePHP的命名约定(即控制器名称应CakesController.php即具有控制器结束)和文件夹公约(即控制器的文件是从应用程序/控制器文件夹) 中定义 。 即cakephp如何检查它。 它们在哪个文件中定义。
大多数此类事情都在Router
和Inflector
的帮助下在Dispatcher
发生,例如:
protected function _loadController($request) {
$pluginName = $pluginPath = $controller = null;
if (!empty($request->params['plugin'])) {
$pluginName = $controller = Inflector::camelize($request->params['plugin']);
$pluginPath = $pluginName . '.';
}
if (!empty($request->params['controller'])) {
$controller = Inflector::camelize($request->params['controller']);
}
if ($pluginPath . $controller) {
$class = $controller . 'Controller';
App::uses('AppController', 'Controller');
App::uses($pluginName . 'AppController', $pluginPath . 'Controller');
App::uses($class, $pluginPath . 'Controller');
if (class_exists($class)) {
return $class;
}
}
return false;
}
来源: https : //github.com/cakephp/cakephp/blob/master/lib/Cake/Routing/Dispatcher.php#L244
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.