---
# System prepended metadata

title: '[LARAVEL] 開新專案、生成控制器'

---



## 開新專案student
https://laravel.com/docs/10.x#your-first-laravel-project

在xampp\htdocs下執行
1. **composer create-project laravel/laravel** example-app
>     完成會出現 INFO Application key set successfully.
>     xampp\htdocs下出現example-app資料夾
>    ![](https://hackmd.io/_uploads/SJFfuBPf6.png)
 
2. php -v
>     查詢PHP版本指令：出現PHP 8.2.4 (cli) (built: Mar 14 2023 17:54:25) (ZTS Visual C++ 2019 x64)
> Copyright (c) The PHP Group
> Zend Engine v4.2.4, Copyright (c) Zend Technologies
> 
3. composer
>  查詢composer版本出現 COMPOSER字樣、Composer version 2.5.8 2023-06-09 17:13:21、compoer指令

4. cd example-app
5. **php artisan serve**
6. 瀏覽器打http://localhost:8000

以上5+6，是文字介面server啟動，也可以在xampp修改httpd.conf
DocumentRoot路徑為，C:\xampp\htdocs\laravel\example-app\public，由xampp的管道啟動網頁

## 生成控制器 
https://laravel.com/docs/10.x/controllers#resource-controllers
> **php artisan make:controller** PhotoController **--resource**

**php artisan make:controller** StudentController **--resource**
(完成會出現  INFO  Controller [C:\xampp\htdocs\laravel\student\app/Http/Controllers/Studen
tController.php] created successfully.
)

### 在web.php加上以下，啟用控制器
**use App\Http\Controllers\PhotoController;**
 
**Route::resource('photos', PhotoController::class);**

use App\Http\Controllers\StudentController;
 
Route::resource('students', studentController::class);


### 以下將流程轉為Route->controller->view
* 修改StudentController.php：

```
Route::get('/students', function () {
    return view('student.index');
});
```

* 取消web.php中：
```
public function index(){
    return view('student.index');
}
```





### 資源控制器處理的操作 (複數)


![](https://hackmd.io/_uploads/rJ0vmTGRh.png)

* photos.create 新增頁 | photos.store新增存檔
* photos.edit 修改頁 | photos.update修改存檔
* photos.destroy 刪除頁

https://ithelp.ithome.com.tw/articles/10193909





=============================
約定優於配置
convention over configuration
https://zh.wikipedia.org/zh-tw/%E7%BA%A6%E5%AE%9A%E4%BC%98%E4%BA%8E%E9%85%8D%E7%BD%AE

=============================

RESTful

解決不同工程師，在檔名、網頁路徑設定不同的困擾，用統一的路徑規範讓所有使用者遵循