Bài giảng trình bày những nội dung chính sau: Controllers, action controllers, HTTP requests, dependency injection & route parameters, đường dẫn request & phương thức, nhận request URL, nhận phương thức request, lấy giá trị một input, lấy giá trị JSON input,. . | Bài giảng Phát triển phần mềm nguồn mở: Bài 9 - Nguyễn Hữu Thể PHÁT TRIỂN PHẦN MỀM NGUỒN MỞ CONTROLLERS, REQUEST, RESPONSE, SESSION Nguyễn Hữu Thể Controllers − Introduction − Basic Controllers • Defining Controllers • Controllers & Namespaces • Single Action Controllers 2 1 View: Controllers − Controllers có thể nhóm các xử lý request logic vào một class. − Thư mục Controllers: app/Http/Controllers ❖ Tạo Controller: php artisan make:controller --plain 5 Controllers namespace App\Http\Controllers; use App\User; use App\Http\Controllers\Controller; class UserController extends Controller { /** * Show the profile for the given user. * * @param int $id * @return Response */ public function show($id) { return view('', ['user' => User::findOrFail($id)]); } } 6 Controllers ▪ Định nghĩa một route cho action của controller Route::get('user/{id}', 'UserController@show'); ▪ Khi request với route URI, phương thức show của class UserController sẽ được thực thi. 7 Action Controllers _invoke(): Định nghĩa một controller xử lý duy nhất một action namespace App\Http\Controllers; use App\User; use App\Http\Controllers\Controller; class ShowProfile extends Controller { public function _invoke($id) { return view('', ['user' => User::findOrFail($id)]); } } Khi đó bạn đăng ký một route cho một action controllers, bạn không cần xác định phương thức: Route::get('user/{id}', 'ShowProfile'); 8 Example Step 1 − Execute the following command to create UserController. php artisan make:controller UserController --plain Step 2 − After successful execution, you will receive the following output. Step 3 − You can see the created controller at app/Http/Controller/ with some basic coding already written for you and you can add your own coding based on your need. HTTP Requests − Accessing The Request − Request Path .