简介
web开发框架 mvc的开发模式 路由解析 数据库 缓存 会话 文件上传
版本的选择
5.1版本
mvc
model 获取服务器资源的封装control 解析参数 处理数据 响应数据view 展示数据
开发环境
下载mamp
安装
官网直接下载源代码composer安装
核心目录的介绍
app //业务代码bootstrap //自动加载目录config //配置文件database //数据库文件public //入口文件resources //模版文件storage //缓存日志文件vender //框架核心文件tests //单元测试文件
路由
- 路由简介
将用户的请求转发给相应的控制器(应用程序)建立url和程序之间的映射get post put
- 基本路由
//getRoute::get('/', function () { return view('welcome');});//postRoute::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<?phpnamespace 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<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Member extends Model { public static function getMember() { return 'member name is mengyuan'; }}
- 使用模型
<?phpnamespace App\Http\Controllers;use App\Member;class MemberController extends Controller{ public function info($id) { return Member::getMember(); }}