logo头像

黑客的本质就是白嫖

PHP Laravel框架学习笔记

本文于 830 天之前发表,文中内容可能已经过时。

序言

恰好学校协会网站建设,需要我们自己从零开始做一个网站,同学之前在做了,用的是Laravel框架,我了解了一下,正好一个朋友让我帮他公司写个官网,就打算在写协会网站的时候学习一波Laravel,顺带把朋友网站给撸了。

index.php
index.php

Laravel框架的入口文件,所有请求都是先到index.php

路由(Route)
web.php

分发请求,index.php中的请求发送到web.php文件中,再由web.php分发到各个controller
webphp
如图例,代码里Route 表示一个类,访问类的静态方法是:: ,那么get 就是类Route 的一个静态方法,get 可以传两个参数,第一个参数是我们要定义的路由,这里是/ ,表示在浏览器url里的/ 目录也就是根目录,第二个参数是一个闭包函数,也可以是别的东西,后面会说到
关于闭包函数

闭包函数,也叫匿名函数,允许 临时创建一个没有指定名称的函数。最经常用作回调函数参数的值。当然,也有其它应用的情况。

这里这个函数返回值是view('welcome'),也就是我们请求到的内容,这里view()函数可以直接定位到resources/views目录下的文件名去掉.blade.php文件,这里参数为'welcome',所以返回的是welcome.blade.php文件

控制器(Controller)

为简化路由也就是web.php里面的代码,需要有控制器的存在,而路由就只需要将请求转发到对应的控制器里,业务逻辑代码则写在控制器里。
这里可以用到artisan 命令,artisan文件位于Laravel根目录下,是Laravel的命令行接口,所以可以通过这个文件来新建控制器,具体代码为

php artisan make:controller ArticleController

如果在后面加上--resource的话,则会一起生成增删改查的功能。

路由与控制器的关联

因为路由要把请求转发到控制器里,由控制器来处理请求,所以要在路由里关联相应的控制器。
有几种关联方法

0x01
Route::get('article/index', '[email protected]');
Route::get('article/create', '[email protected]');
Route::post('article/store', '[email protected]');
0x02
Route::prefix('article')->group(function () {
Route::get('index', '[email protected]');
Route::get('create', '[email protected]');
Route::post('store', '[email protected]');
});
0x03(多级目录下)
Route::prefix('admin/article')->namespace('Admin')->group(function () {
Route::get('index', '[email protected]');
Route::get('create', '[email protected]');
Route::post('store', '[email protected]');
});
0x04(多级目录下)
Route::prefix('admin')->namespace('Admin')->group(function () {
Route::prefix('article')->group(function () {
    Route::get('index', '[email protected]');
    Route::get('create', '[email protected]');
    Route::post('store', '[email protected]');
});
});

在这里,get()post()的第二个参数就是控制器,用@ 符号分隔控制器与控制器的方法,剩下的业务逻辑代码就可以放在控制器里面的各个方法里面了

未完待续

评论系统未开启,无法评论!