Автор Тема: MVC framework #9 – Default router(1)  (Прочетена 1675 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
MVC framework #9 – Default router(1)
« -: 24 Януари 2013, 04:20:51 »
** Тази тема дискутира:: MVC framework #9 – Default router(1)**
Автор: gatakka
« Последна редакция: 16 Април 2015, 22:43:43 от Avalanche »
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

borisov87

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 40
Re: MVC framework #9 – Default router(1)
« Отговор #1 -: 05 Март 2013, 14:02:20 »
Защо се получава така
FrontController.php
Код: PHP
  1. <?php
  2.  
  3. /*
  4.  * To change this template, choose Tools | Templates
  5.  * and open the template in the editor.
  6.  */
  7.  
  8. /**
  9.  * Description of FrontController
  10.  *
  11.  * @author vankata
  12.  */
  13. namespace VF;
  14. class FrontController {
  15.      private static $_instance = null;
  16.      private function __construct() {
  17.        
  18.     }
  19.      public function dispatch(){
  20.          $a= new VF\Routers\DefaultRouter();
  21.  $a->parse();
  22.      }
  23.      
  24.     /**
  25.      *
  26.      * @return \VF\FrontController
  27.      */
  28.     public static function getInstance() {
  29.         if (self::$_instance == null) {
  30.             self::$_instance = new \VF\FrontController();
  31.         }
  32.         return self::$_instance;
  33.     }
  34. }]
DefaultRouter.php
Код: PHP
  1. <?php
  2.  
  3. /*
  4.  * To change this template, choose Tools | Templates
  5.  * and open the template in the editor.
  6.  */
  7.  
  8. /**
  9.  * Description of DefaultRouter
  10.  *
  11.  * @author vankata
  12.  */
  13. namespace VF\Routers;
  14. class DefaultRouter {
  15.     public function parse(){
  16.         echo 'ok';
  17.     }
  18. }
Това са ми фдайловете и ми връща тази грешка въпреки че в клипа на Иван Ванков всичко си върви.Защо така се получавас namesc-е VF\VF\Routers\
По два пъти има VF ?
Fatal error: Uncaught exception 'Exception' with message 'File cannot be included' in /var/www/vf/Loader.php:41 Stack trace: #0 /var/www/vf/Loader.php(29): VF\Loader::loadClass('VF\VF\Routers\D...') #1 [internal function]: VF\Loader::autoLoad('VF\VF\Routers\D...') #2 /var/www/vf/FrontController.php(20): spl_autoload_call('VF\VF\Routers\D...') #3 /var/www/vf/App.php(55): VF\FrontController->dispatch() #4 /var/www/vf-test/public/index.php(5): VF\App->run() #5 {main} thrown in /var/www/vf/Loader.php on line 41
Оправих го написах метода за тест по този начин и се оправи
Код: PHP
  1. public function dispatch(){
  2. $a= new Routers\DefaultRouter();
  3. $a->parse();
  4. }
но така и не разбрах защо се получава така

borisov87

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 40
Re: MVC framework #9 – Default router(1)
« Отговор #2 -: 05 Март 2013, 14:12:00 »
Видях какъв е проблема
public function dispatch(){
$a= new \VF\Routers\DefaultRouter();
$a->parse();
}
Една наклонена съм пропуснал интересно как без нея php възприема нещата по съвсем друг начин, явно без нея си мисли че това VF\Routers\DefaultRouter ще като child na \VF\ и прави
\VF\VF\Routers\DefaultRouter
Явно е така
щото като напиша
  $a= new \Routers\DefaultRouter(); не работи дава че класа не е намерен, а с
  $a= new Routers\DefaultRouter(); тръгва дори и без да пиша \VF\ отпреде