controllers.md 826 Bytes
Newer Older
Justin's avatar
Justin committed
1 2 3 4 5 6 7 8 9 10 11 12
# Controllers

### Tạo Controller

Tất cả controller được tạo trong `appview/Controllers`

    <?php

    namespace AppView\Controllers;

    use VatGia\ControllerBase;

Nguyễn Thế Định's avatar
Nguyễn Thế Định committed
13
    class PostController extends ControllerBase
Justin's avatar
Justin committed
14
    {
Nguyễn Thế Định's avatar
Nguyễn Thế Định committed
15 16 17 18 19 20 21
    
        public function detail($id)
        {
            $post = $this->postRepository->detail($id);
            
            return view('post_detail')->render(compact('post'));
        }
Justin's avatar
Justin committed
22 23

    }
24 25
    

26 27 28 29
Có thể tạo route như sau để trỏ về Controller trên như sau

    Route::get(['/posts/{id}', 'post_detail'], [AppView\Controllers\PostController::class, 'detail']);

30 31 32 33 34 35 36 37

`Controller` chỉ có nhiệm vụ 

- nhận request 
- gọi các repository xử lý tương ứng 
- trả về view tương ứng 

Tuyệt đối không được xử lý logic tại `Controller`