MVC framework #19 – Front controller рутиране(4)

В този, и следващите няколко урока ще напишем целия механизъм в front controller, който ще рутира, проверява и зарежда подходящите контролери и извикването на техните методи.

5 мнения по „MVC framework #19 – Front controller рутиране(4)

  1. WorldMaker

    Малко support вади ми тази грешка:
    „Fatal error: Class ‘controllers\Index’ not found in E:\xampp\htdocs\gf\FrontController.php on line 71“
    2-пъти преглеждам вече и всичко е тип топ ама ….
    ПП :
    Във файла app.php съм сложил путя така „E:\xampp\htdocs\gftest\controllers“ , става въпрос за този ред : $cnf[‘namespace’][‘Controllers’]=’E:\xampp\htdocs\gftest\controllers’;

  2. diti

    помощ за WorldMaker:

    трябва да се внимава с имената на неймспейсовете и директориите (имат значение малки и големи букви – трябва да са идентични)

    Трябва да се оправят следните грешки за да сработи упражнението в този урок:
    1. във файла routes.php
    записа $cnf[‘*’][‘namespace’] = ‘controllers’;
    ‘controllers’; трябва да е с малка буква
    2. в класа Index
    namespace controllers; //пак с малка буква
    3. директория controllers пак с малка буква

  3. root

    При мен и това не помага , навсякъде ги направих с малка и пак ми казва , че не е намерен.

  4. Пламен Добрев

    Хора вместо

    $newController->{$this->method}(array_values($_params));
    пишете

    call_user_func_array(array($newController, $this->method), array_values($_params));

    по-този начин при линк

    /controller/testMethod/ImParam1/AndParam2

    ще можете да обработвате параметрите в методата такa:

    public function testMethod($param1,$par2,para3=“If you don’t want me“) {
    echo $param1.$par2.$par3;
    }

    Докато с кода на Иван трябва да правите

    public function testMethod($params) {
    echo $params[0].$params[1].$params[2];
    }

  5. Mihail

    Fatal error: Class ‘controllers\Index’ not found in D:\xampp\htdocs\Myproject\FrontController.php on…
    Аз съм до тук!

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *