vistas usar plantillas plantilla index gratis for ejemplo descargar ciclo bootstrap laravel laravel-4 laravel-routing

plantillas - usar blade sin laravel



Laravel Controller Enrutamiento de la subcarpeta (11)

Soy nuevo en Laravel. Para intentar mantener mi aplicación organizada, me gustaría poner mis controladores en subcarpetas de la carpeta del controlador.

controllers/ ---- folder1 ---- folder2

Traté de enrutar a un controlador, pero laravel no lo encuentra.

Route::get(''/product/dashboard'', ''folder1.MakeDashboardController@showDashboard'');

¿Qué estoy haciendo mal?


1.crea tu subcarpeta de la siguiente manera:

app ----controllers --------admin --------home

2. configure su código en la aplicación / routes.php

<?php // index Route::get(''/'', ''Home/HomeController@index''); // admin/test Route::group( array(''prefix'' => ''admin''), function() { Route::get(''test'', ''Admin/IndexController@index''); } ); ?>

3. escribir algo en la aplicación / controladores / admin / IndexController.php, por ejemplo:

<?php namespace Admin; class IndexController extends /BaseController { public function index() { return "admin.home"; } } ?>

4. Acceda a su sitio, por ejemplo: localhost / admin / test, verá "admin.home" en la página.

pd: por favor ignora mi pobre inglés


Acabo de encontrar la manera de hacerlo:

Simplemente agregue las rutas a /app/start/global.php

ClassLoader::addDirectories(array( app_path().''/commands'', app_path().''/controllers'', app_path().''/controllers/product'', app_path().''/models'', app_path().''/database/seeds'', ));


Agregue sus controladores en sus carpetas:

controllers/ ---- folder1 ---- folder2

Crea tu ruta sin especificar la carpeta:

Route::get(''/product/dashboard'', ''MakeDashboardController@showDashboard'');

correr

composer dump-autoload

E intenta de nuevo


Creo que para mantener los controladores de Admin y Front en carpetas separadas, el espacio de nombres funcionará bien.

Consulte la estructura de directorios de Laravel a continuación, que funciona bien para mí.

app --Http ----Controllers ------Admin --------DashboardController.php ------Front --------HomeController.php

Las rutas en el archivo "routes / web.php" serían las siguientes

/* All the Front-end controllers routes will work under Front namespace */ Route::group([''namespace'' => ''Front''], function () { Route::get(''/home'', ''HomeController@index''); });

Y para la sección de administración, se verá como

/* All the admin routes will go under Admin namespace */ /* All the admin routes will required authentication, so an middleware auth also applied in admin namespace */ Route::group([''namespace'' => ''Admin''], function () { Route::group([''middleware'' => [''auth'']], function() { Route::get(''/'', [''as'' => ''home'', ''uses'' => ''DashboardController@index'']); }); });

¡¡Espero que esto ayude!!


En Laravel 5.6, suponiendo que el nombre de su subcarpeta es Api :

En su controlador, necesita estas dos líneas:

namespace App/Http/Controllers/Api; use App/Http/Controllers/Controller;

Y en su archivo de ruta api.php , necesita:

Route::resource(''/myapi'', ''Api/MyController'');


Estoy usando Laravel 4.2. Aquí cómo lo hago:
Tengo una estructura de directorios como esta:
aplicación
--controladores
----administración
------ AdminController.php

Después de haber creado el controlador, coloqué en el composer.json la ruta al nuevo directorio de administración:

"autoload": { "classmap": [ "app/commands", "app/controllers", "app/controllers/admin", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] },

Siguiente he corrido

composer dump-autoload

y entonces

php artisan dump-autoload

Luego en el routes.php tengo el controlador incluido así:

Route::controller(''admin'', ''AdminController'');

Y todo funciona bien


Para ** Laravel 5 o Laravel 5.1 LTS ambos **, si tiene varios Controladores en la carpeta Admin, Route::group será realmente útil para usted. Por ejemplo:

Mi carpeta Estructura:

Http ----Controllers ----Api ----V1 PostsApiController.php CommentsApiController.php PostsController.php

PostAPIController:

<?php namespace App/Http/Controllers/Api/V1; use App/Http/Requests; use App/Http/Controllers/Controller; use Illuminate/Http/Request; class PostApiController extends Controller { ...

En My Route.php, configuré un grupo de namespace para Api/V1 y, en general, se ve así:

Route::group( [ ''namespace'' => ''Api/V1'', ''prefix'' => ''v1'', ], function(){ Route::get(''posts'', [''uses''=>''PostsApiController@index'']); Route::get(''posts/{id}'', [''uses''=>''PostssAPIController@show'']); });

Para mover detalles para crear una subcarpeta, visite el siguiente enlace: https://laracasts.com/discuss/channels/general-discussion/reflectionexception-class-apphttpcontrollersadminadmincontroller-does-not-exist


Para aquellos que usan Laravel 5, necesitan establecer el espacio de nombres para el controlador dentro del subdirectorio (Laravel 5 aún está en desarrollo y los cambios están ocurriendo diariamente)

Para obtener una estructura de carpetas como:

Http ----Controllers ----Admin PostsController.php PostsController.php

espacio de nombres Admin / PostsController.php archivo así:

<?php namespace App/Http/Controller/Admin; use App/Http/Controllers/Controller; class PostsController extends Controller { //business logic here }

Entonces tu ruta para esto es:

$router->get(''/'', ''Admin/PostsController@index'');

Y, por último, no hagas ni un compositor ni un botín artesanal

composer dump-autoload

o

php artisan dump


Si está utilizando Laravel 5.3 o superior, no hay necesidad de entrar en tanta complejidad como han dicho otras respuestas. Simplemente use el comando artesanal predeterminado para generar un nuevo controlador. Por ejemplo, si quiero crear un controlador de User en User carpeta de User . Yo escribiría

php artisan make:controller User/User

En rutas,

Route::get(''/dashboard'', ''User/User@dashboard'');

simplemente hacer esto estaría bien y ahora en localhost / dashboard es donde reside la página.

Espero que esto ayude.


para Laravel 5.3 anterior

php artisan make:controller test/TestController

Esto creará la carpeta de prueba si no existe, luego crea TestController dentro.

TestController se verá así:

<?php namespace App/Http/Controllers/test; use Illuminate/Http/Request; use App/Http/Controllers/Controller; class TestController extends Controller { public function getTest() { return "Yes"; } } ?>

En rutas,

Route::get(''/test'',''test/TestController@getTest'');


php artisan make:controller admin/CategoryController

Aquí el administrador es el subdirectorio en la aplicación / Http / Controladores y CategoryController es el controlador que desea crear dentro del directorio