RomanOracool
@RomanOracool
Иногда пока жена не видит, я делаю сайты.

Как использовать модель в контроллере на мультимодульном Phalcon?

Помогите пожалуйста новичку. Второй день бьюсь и не понимаю...
Взял отсюда скелет и пробую настроить:
https://github.com/phalcon/mvc/tree/master/multiple

Файл /apps/frontend/controllers/PagesController.php:
namespace Multiple\Frontend\Controllers;
use Phalcon\Mvc\Controller;
class PagesController extends Controller{
    public function indexAction(){
        echo Pages::testvar;
        exit;
    }
}


Файл /apps/frontend/models/Pages.php:
use Phalcon\Mvc\Model;
class Pages extends Model{
    public $testvar = "777";
}


В роутере правило - всё слать к PagesController-у.
В итоге при обращении вылезает ошибка что мол:
Fatal error: Uncaught Error: Class 'Multiple\Frontend\Controllers\Pages' not found in /var/www/phalcon.loc/apps/frontend/controllers/PagesController.php:11 Stack trace: #0 [internal function]: Multiple\Frontend\Controllers\PagesController->indexAction('xxxpage') #1 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(Multiple\Frontend\Controllers\PagesController), 'indexAction', Array) #2 [internal function]: Phalcon\Dispatcher->dispatch() #3 /var/www/phalcon.loc/public/index.php(93): Phalcon\Mvc\Application->handle() #4 /var/www/phalcon.loc/public/index.php(98): Application->main() #5 {main} thrown in /var/www/phalcon.loc/apps/frontend/controllers/PagesController.php on line 11


11-я строка - это собственно: echo Pages::testvar;
Можно поставить find или ещё что-то, без разницы.

Повторюсь на всякий случай ещё раз, скелет мультимодульного приложения взят с гитхаба, т.е. моей самодеятельности в нём особо нету.
Подскажите в чём моя ошибка?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
RomanOracool
@RomanOracool Автор вопроса
Иногда пока жена не видит, я делаю сайты.
Что-то на Тостере все реже и реже помощи нахожу... грустно...

Снова допетрил сам. Вариант решения проблемы (уж не знаю правильное решение или нет) оставляю для потомков :-)

В контролере указываем модель, с которой собираемся работать:
use Multiple\Frontend\Models\Pages as Pages;

а в самой моделе указываем пространство имён, где она лежит:
namespace Multiple\Frontend\Models;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы