-
简介
web开发框架 mvc的开发模式 路由解析 数据库 缓存 会话 文件上传
-
版本的选择
5.1版本
-
mvc
model 获取服务器资源的封装 control 解析参数 处理数据 响应数据 view 展示数据
-
开发环境
下载mamp
-
安装
官网直接下载源代码 composer安装
-
核心目录的介绍
app //业务代码 bootstrap //自动加载目录 config //配置文件 database //数据库文件 public //入口文件 resources //模版文件 storage //缓存日志文件 vender //框架核心文件 tests //单元测试文件
-
路由
- 路由简介
将用户的请求转发给相应的控制器(应用程序) 建立url和程序之间的映射 get post put
- 基本路由
//get Route::get('/', function () { return view('welcome'); }); //post Route::post('/default', function () { return 'This is a request from post'; });
- 多请求路由
Route::match(['get', 'post'], 'foo', function () { return 'This is a request from get or post'; }); Route::any('bar', function () { return 'This is a request from any HTTP verb'; });
- 参数路由
Route::get('user/{id}', function ($id) { return 'User ' . $id; }); //可以设置默认值 Route::get('user/{name?}', function ($name=null) { return 'User ' . $name; }); //可以添加正则约束 Route::get('user/{name?}', function ($name=null) { return 'User ' . $name; })->where('name', '[A-Za-z]+'); //多个正则约束 Route::get('good/{id}/{name?}', function ($id, $name=null) { return 'Good name=' .$name.' id='.$id ; })->where(['id'=>'[0-9]+', 'name'=>'[A-Za-z]+']);
- 路由别名
Route::get('user/member-center', ['as'=>'center', function () { return route('center'); //优化url后 添加别名后不用更改业务逻辑 }]);
- 路由群组
Route::group(['prefix'=>'member'], function () { //添加多个路由 Route::get('user/center', ['as'=>'center', function () { return route('center'); //优化url后 添加别名后不用更改业务逻辑 }]); Route::get('index', function () { return view('welcome'); }); });
- 路由视图
Route::get('/default', function () { return view('welcome'); }); Route::view('/index', 'index', ['website'=>'laravel学院']);
-
控制器
- controller文件编写
/app/http/controller/MemberController.php <?php namespace App\Http\Controllers; class MemberController extends Controller{ public function info($id) { //return route('memberinfo'); return '返回参数 id= '.$id; } }
- 路由文件编写
//普通控制器 Route::get('/member/info', 'MemberController@info'); //加别名 Route::get('/member/info', [ 'uses'=>'MemberController@info', 'as' => 'memberinfo' ]); //加参数 Route::get('/member/info/{id}', [ 'uses'=>'MemberController@info', 'as' => 'memberinfo' ]);
-
视图
- 新建视图
views/ 下新建模版文件 views/member 也可以自定义目录
- 输出视图
class MemberController extends Controller{ public function info($id) { //return view('member/info'); //分配变量 return view('member/info', ['name'=>'mengyuan', 'age'=>18]); } }
- 模版变量
{{$name}} {{age}}
-
模型
- 新建模型
/app/Member.php <?php namespace App; use Illuminate\Database\Eloquent\Model; class Member extends Model { public static function getMember() { return 'member name is mengyuan'; } }
- 使用模型
<?php namespace App\Http\Controllers; use App\Member; class MemberController extends Controller{ public function info($id) { return Member::getMember(); } }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。