---
# System prepended metadata

title: 2020-12-28 Controller

---

# 2020-12-28 Controller 

## *web.php 的 controller 使用方式
![](https://i.imgur.com/nzFFzn1.png)

#### 在Terminal開新分頁，輸入
#### php△artsian△make:controller△名稱△--invokable

//△--invokable 可寫可不寫

`EX:php△artisan△make:controller△NewsController△--invokable`

![](https://i.imgur.com/YpOe92W.png)


---




### controller命名方式

1.  大駝峰命名



---

### 創建新controller檔案的路徑
* 至app->Http->Controllers->新創的controller


---

### *web.php 新增controller的route

```php=
// Route::get('網址','NewsController@函式名稱');
Route::get('/news','NewsController@index');
```


```
至新的controller.php 新增 public function 函數名稱(){
return view('呼叫路徑')
}
```
![](https://i.imgur.com/A2kAgKq.png)


### 手動建立資料庫
1. 先新增一個名為laravel的資料庫
2. lavavel->新增資料表格，命名news
3. 資料表新增資料
*輸入id/title/img/date/content....
id右鍵建立新索引，選擇primary
id沒有負數,預設改為AUTO_INCERMENT

更改資料型態後，儲存。
再點去資料庫新增資料，右鍵插入一行


```php=
php 讀取資料庫

public function index()
    {
        $news_data = DB::table('news')->get();
        // dd($news_data);

        // dd(compact('news_data'));
        return view('news',compact('news_data'));
    }
```

* DB::
若是底下有波浪，則選取DB按右鍵，選取improt class

前端.blade.php頁面
使用foreach將資料庫資料取出
像天氣卡一樣串接資料後會自己長出來
![](https://i.imgur.com/zyOhjJP.png)


## 排錯
* 頁面無法讀取
若確定輸入指令無誤，可以在Terminal裡面輸入(ctrl+c)停止網頁後，再重新輸入指令(php artisan service)查看