Eu estou tentando criar um sistema modular em Laravel 4.1.
Eu tenho pastas como as seguintes:
app
app/controllers
app/controllers/BaseController.php
app/views/
app/modules/
app/modules/moduleName/
app/modules/moduleName/routes.php
app/modules/moduleName/controllers/
app/modules/moduleName/controllers/module.php
Quando tento estender BaseController
, Eu uso namespaces e recebo o seguinte erro:
Symfony Component Debug Exception FatalErrorException
Class "IlluminateSession" not found
Aqui estão os meus códigos module.php:
<?php namespace AppModulesTwitterControllers;
use IlluminateRoutingControllersController;
class Modulename extends Controller {
}
Eu tenho duas perguntas.
- Como posso chamar classes de sessão em módulos?
- Eu tenho o arquivo route.php em todos os módulos, mas ainda não consigo rotear módulos. Portanto, devo usar o arquivo routing default.php do laravel. Como posso resolver este problema?
Obrigado mesmo assim.
Respostas:
1 para resposta № 1Todas as bibliotecas do Laravel existem no namespace global, portanto, se você estiver usando código de namespace de qualquer tipo, precisará especificar as bibliotecas que está chamando.
Usando o código que você forneceu, seria assim:
<?php namespace AppModulesTwitterControllers;
use Controller, Session;
class Modulename extends Controller {
}
Isso evita que você tenha que digitar todo o namespace.