2016-01-14 4 views
2

Я привык работать с тонким 2, но когда я перешел на Тонкий 3 У меня была проблема, чтобы отобразить страницу в контроллере:Тонкий 3 визуализации в контроллере

Это вызов контроллера в routes.php

$app->get('/test3', '\controller\Hello:index'); 

Это мой контроллер:

namespace controller; 

class Hello 
{ 
    public function index(){ 
     $this->app->render('web/pages/hello.phtml'); 
    } 
} 

для контроллера я просто добавил это к моему composer.json:

"autoload": { 
    "psr-0": { 
     "controller": "web/" 
    } 
} 

Папка «контроллер» и «страницы» находятся в одной и той же папке «паутины», я получаю следующие ошибки:

PHP Notice: Undefined property: controller\Hello::$app 
PHP Fatal error: Call to a member function render() on a non-object 

ли я что-то пропустил?

ответ

0

Как вы связываете действия контроллера с маршрутизатором? Используя что-то вроде «Hello :: index» или array («Hello», «index»)?

Вам понадобится dependency injection, если вы хотите использовать переменную приложения как свойство в классе контроллера.

+0

$ app-> get ('/ test3', '\ controller \ Hello: index'); –

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