Я пытаюсь настроить свою первую веб-страницу Kohana, используя этот учебник — http://kohana-tutorial.blogspot.co.uk/2010/10/lesson-1-getting-started.html
Следуя инструкциям, я остаюсь с этой ошибкой — Неопределенное свойство: Request :: $ action в строке 49.
Это код, относящийся к этой строке, в DefaultTemplate.php
48 if (!$view){
49 $view = 'pages/'.$this->request->controller().'/'.$this->request->action.'_tpl';
50 }
51 $this->template->content = View::factory($view, $this->data);
52 }
53 }
54 ?>
Это называется News.php, который является стандартным вызовом для рендеринга чего-либо.
class Controller_News extends Controller_DefaultTemplate {
public function __construct(\Request $request, \Response $response) {
parent::__construct($request, $response);
}
public function action_index(){
$this->render();
}
}
Полный список программ, используемых для устранения этой ошибки:
APPPATH/classes/Controller/DefaultTemplate.php [ 49 ] » Kohana_Core::error_handler(arguments)
APPPATH/classes/Controller/News.php [ 13 ] » Controller_DefaultTemplate->render()
SYSPATH/classes/Kohana/Controller.php [ 84 ] » Controller_News->action_index()
{PHP internal call} » Kohana_Controller->execute()
SYSPATH/classes/Kohana/Request/Client/Internal.php [ 97 ] » ReflectionMethod->invoke(arguments)
SYSPATH/classes/Kohana/Request/Client.php [ 114 ] » Kohana_Request_Client_Internal- >execute_request(arguments)
SYSPATH/classes/Kohana/Request.php [ 997 ] » Kohana_Request_Client->execute(arguments)
DOCROOT/index.php [ 118 ] » Kohana_Request->execute()APPPATH/classes/Controller/News.php [ 13 ] » Controller_DefaultTemplate->render()
SYSPATH/classes/Kohana/Controller.php [ 84 ] » Controller_News->action_index()
{PHP internal call} » Kohana_Controller->execute()
SYSPATH/classes/Kohana/Request/Client/Internal.php [ 97 ] » ReflectionMethod->invoke(arguments)
SYSPATH/classes/Kohana/Request/Client.php [ 114 ] » Kohana_Request_Client_Internal->execute_request(arguments)
SYSPATH/classes/Kohana/Request.php [ 997 ] » Kohana_Request_Client->execute(arguments)
DOCROOT/index.php [ 118 ] » Kohana_Request->execute()
Любая помощь будет с благодарностью получена.
Этому уроку 4 года, поэтому он, вероятно, немного устарел.
С текущей версией Kohana, вы можете получить доступ к защищенной собственности $request->_action
со следующим:
$this->request->action();
Не стесняйтесь проверить электронная документация или даже исходный код в system/classes/Kohana
, что ясно и хорошо прокомментировано.
Других решений пока нет …