Để tạo subfolder controller trong Laravel 5 hoàn toàn đơn giản không có gì phức tạp. Trong bài viết này mình hướng dẫn cách tạo subfolder trong laravel 5 như thế nào ?
Đầu tiên tôi cài đặt mới ứng dụng của mình. Ở ví dụ này tôi sử dụng
laravel 5.2 việc cài đặt mới ứng dụng các bạn xem tại đây:
Bây giờ xây dựng cấu trúc thư mục như sau :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
your_application
---app
------Console
------Events
------Exceptions
------Http
----------Controllers
---------------------Admin
--------------------------DashboardController.php
--------------------------ArticlesController.php
--------------------------UsersController.php
---------------------Auth
-------------------------AuthController.php
-------------------------PasswordController.php
---------------------Controller.php
---------------------HomeController.php
----------Middleware
----------Requests
----------Kernel.php
----------routes.php
---bootstrap
---config
---v.v.v
|
- Thêm mới thư mục Admin trong Controllers
- Trong thư mục app->Http->Controllers->Admin: chúng ta tạo tiếp 2 controller : DashboardController.php , ArticlesController.php và UsersController.php
- Tại thư mục app->Http->Controllers: Tạo 1 controller là HomeController.php (FrontEnd)
Tiến hành tạo controller bằng lệnh Artisan Command
- Tạo controller trong thư mục Admin bằng cấu trúc lệnh như sau
|
|
php artisan make:controller subfolder\tencontroller
|
Trong đó:
+ subfolder : tên thư mục con nằm trong thư mục Controllers
+ tencontroller : Tên controller bạn muốn tạo
Như vậy:
|
|
//
// Tạo Admin/DashboardController.php
php artisan make:controller Admin/DashboardController.php
// Tạo Admin/ArticlesController.php
php artisan make:controller Admin/ArticlesController.php
// Tạo Admin/UsersController.php
php artisan make:controller Admin/UsersController.php
|
Như vậy chúng ta đã có các controller :
Tiếp theo chúng ta tạo đường dẫn truy cập như sau:
- your_application/admin/dashboard
- your_application/admin/articles
- your_application/admin/users
Như vậy tôi sẽ khai báo trong routes.php và tôi gom nhóm các route này với tiền tố là admin
|
|
// viết trong file app->Http->routes.php
Route::group(['prefix' => 'admin','as' => 'admin::'], function ()
{
Route::get('dashboard', ['as' => 'dashboard','uses'=>'Admin\DashboardController@getIndex']);
Route::get('articles', ['as' => 'articles','uses'=>'Admin\ArticlesController@getIndex']);
Route::get('users', ['as' => 'users','uses'=>'Admin\UsersController@getIndex']);
});
|
Nội dung DashboardController :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class DashboardController extends Controller
{
//
public function getIndex()
{
echo "Folder : Admin - Controller : DashboardController - Action : Index <br><br> Url : ".route('admin::dashboard');
}
}
|
- Chạy đường dẫn : your_application/admin/dashboard
Nội dung ArticlesController :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ArticlesController extends Controller
{
public function getIndex()
{
echo "Folder : Admin - Controller : ArticlesController - Action : Index <br><br> Url :".route('admin::articles');
}
}
|
- Chạy đường dẫn : your_application/admin/articles
Nội dung UsersController :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class UsersController extends Controller
{
public function getIndex()
{
echo "Folder : Admin - Controller : UsersController - Action : Index <br><br> Url: ". route('admin::users');
}
}
|
- Chạy đường dẫn : your_application/admin/users
Chú ý khai báo namespace trong các controllers, và hình số 1, 2 tôi có viết dư .php
Chúng các bạn thành công
Không có nhận xét nào:
Đăng nhận xét