2014-01-10 2 views
2

Где соглашения об именовании cakephp (например, имя контроллера должно быть CakesController.php, и заканчиваться контроллером), и соглашения о папке (например, файлы контроллера из папки «Приложение/Контроллер») определены. i.e, как это делает cakephp. в каком файле они определены.Как CakeFp проверяет свои соглашения об именах и имена папок?

+0

Lol. Какой у Вас вопрос? – makallio85

+0

Вы имеете в виду, где они находятся? Попробуйте выполнить поиск по Google для «Соглашения о наименовании Cakephp» сначала – Nunser

+0

извините за предыдущий неполный вопрос –

ответ

3

Большая часть этого материала происходит в Dispatcher с помощью Router и Inflector, например:

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

см также CakePHP Cookbook explaining a typical request

typical CakePHP Request Lifecycle

Смежные вопросы