- 创建laravel项目:
composer create-project --prefer-dist laravel/laravel <project name>
php artisan serve //run artisan project
- folder 结构:
- app/Http/Controllers-> <model name plura>Controller.php : controllers files
- app/ -> <model name>.php: model files
- model is single, controller always plural
- config/view.php: point the views resource location(folder)
- resources/views/ -> <view name>.blade.php: view files
- routes/web.php: route configuration
- 基本元素之间的关系
- config/view.php 指定了view file所在位置
- route/web.php 配置url
Route::get('/', function () {
return view('welcome');
});
以上代码的意思是对于root 目录(uri),指向 welcome.blade.php
Route::get('products', ["uses"=>"ProductsController@index"]);
以上代码的意思是对于<url>/products,使用ProductsController中的index function
- Controller 中的function 可以返回任意data type
如果返回是数组,则view 指向的页面直接显示数组,
如果需要view的页面,则用以下的方式;
public function index() {
$products = [0=>["name"=>"bluebird", "category"=>"shirts", "price"=>9.99],
1 => ["name"=>"Lowei", "category"=>"sun glass","price"=>100],
2 => ["name"=>"lululemon", "category"=>"hikingbag","price"=>200]];
return view("allproducts",compact("products"));
}
此处allproducts 指的是view: allproducts.blade.php
compact用来传data
同时,allproducts.blade.php的代码如下:
@foreach ($products as $product)
<p>{{ $product["name"] }}</p>
@endforeach
以上这个简单的例子可以看出view,control之间的关系,以及route的作用,此处尚未用到model, 连接数据库之后,model 将抽取数据库table 的项目,并在前端更灵活展示。
网友评论