2016-03-28 16 views
0

Birden çok modülle çalışmak istiyorum. Bu nedenle phalcon komutunu frontend ve backend modüllerinden oluşturdum. Bu komutu phalcon module frontend kullanmak için ben kullanılmak ben phalcon docs izleyin başlayan bu komut sonra config.phpPhalcon çoklu modül çalışmıyor

'modulesDir'  => APP_PATH . '/app/modules/', 

bir çizgi yazmak zorunda - Bu kod ekleyerek yeni modülleri kaydetmek zorunda bu dokümanlara göre: (ı bu koymak index.php)

$application->registerModules(
     array(
     'frontend' => function ($di) use ($view) { 
      $di->setShared('view', function() use ($view) { 
      $view->setViewsDir('../apps/frontend/views/'); 
      return $view; 
      }); 
     }, 
     'backend' => function ($di) use ($view) { 
      $di->setShared('view', function() use ($view) { 
      $view->setViewsDir('../apps/backend/views/'); 
      return $view; 
      }); 
     } 
    ) 
); 

Ben modülü varsayılan routes güncellenen bu acctions yapılır sonra - frontend. indeks kontrolörü olarak

IndexController handler class cannot be loaded 

Ben namespace Application\Frontend\Controllers;

koymak

Ne düzeltmek veya doğru bir şekilde çalıştığından için geliştirmek gerekir:

Nihayet bundan sonra bu uyarı alır? Şimdiden teşekkürler.

+0

IndexController dosya adı ne? indexController.php olmalıdır indexController.php veya IndexController.php demek burada çoklu modül mvc için phalcon komut aracı kapmak repo. her modülde registerModules işlevine ve Modules.php'ye bir göz atın. https://github.com/phalcon/mvc/tree/master/multiple –

+0

Sorunun nerede olabileceğini görmek için git kaynakları sağlayabilir misiniz? –

+0

Aksi takdirde hazır çoklu modülleri kullanabilirim ama phalcon komutlarını kullanıyorum - her şey iyi gitmeli. Merak ediyorum, neden bir hata döndürdüğünü bilmek istiyorum. – betty39johnson

cevap

0

Varsayılan güncelleştirme yollarına ihtiyacınız var gibi görünüyor. bu kodu bir göz atın:

$di->set('router', function() { 

    $router = new Router(false); 
    $router->setUriSource(\Phalcon\Mvc\Router::URI_SOURCE_SERVER_REQUEST_URI); 
    $router->removeExtraSlashes(true); 

    $router->setDefaultModule('frontend'); 

    /** 
    * Default routes 
    */ 
    $router->add('/:module/:controller/:action/:params', [ 
     'module' => 1, 
     'controller' => 2, 
     'action' => 3, 
     'params' => 4 
    ]); 
    $router->add('/:module/:controller', [ 
     'module' => 1, 
     'controller' => 2, 
     'action' => 'index' 
    ]); 
    $router->add('/:module', [ 
     'module' => 1, 
     'controller' => 'index', 
     'action' => 'index' 
    ]); 
    $router->add('/', [ 
     'action' => 'index', 
     'controller' => 'index' 
    ]); 
}); 

Ayrıca yükleyici kontrol edin:

$loader->registerNamespaces(array(
    'Application\Modules' => $config->app->modulesDir, 
)); 

Ve senin tüm kontrolörler ad olmalıdır:

namespace Application\Modules\Frontend\Controllers;