一、Laravel开发整体步骤流程
1.搭配PHP环境(AppServ)
2.设计数据库表(Mysql、使用phpMyAdmin)
3.开启php的openssl功能和配置连接mysql(详见)
4.准备好前端页面的静态素材(html、css、js、图片、字体文件等)
——以下几个步骤需要多次循环
5.路由配置
6.Model层配置
7.View层的编写
8.Controllers层和中间件Middleware的编写
——以上步骤循环使用,和序号无关
二、路由配置
1.基础路由(get 请求、post请求、any 请求(可以支持get、post)等)
Route::get(‘/’, function () { //‘/’表示根目录的时候,重定向
return redirect(‘login’); //路由重定向到‘login’路由
});
——项目url:http://localhost:XXXX/laravel/public
——相当于:http://localhost:XXXX/laravel/public/login
Route::post(‘index’, function () {
return view(‘index’);//路由绑定‘index’视图
});
//login 路由
Route::any(‘login’, [‘uses’ => ‘LoginController@login’]);//第一个参数‘login’为路由名,第二个参数可以为数组,也可以直接’LoginController@login’(路由绑定了LoginController里面的login方法)
2.路由组 group
//登录中间价 控制其他页面需要登录后才能访问
Route::group(['middleware'=>['Login']],function(){
Route::any('index', ['uses' =>'IndexMenuController@indexmexnu']);
Route::any('welcome', ['uses' => 'IndexMenuController@welcome']);
//用户中心
Route::any('usercenter/usermanager', ['uses' => 'userCenterController@usermanager']);
Route::any('usercenter/save', ['uses' => 'userCenterController@save']);
Route::any('usercenter/usercreate', ['uses' => 'userCenterController@createuser']);
});
其中中间件的设置:
源码:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Session;
class Login {
public function handle($request,Closure $next){
$jieguo=Session::get('Muname','不存在');
if($jieguo=='不存在'){
return redirect('login');
}
return $next($request);
}
}
中间件的作用:比如这个登录的,用来做权限处理,未登录的用户,不等访问路由组里面的路由,只有登录后的才可以访问路由组里面的路由地址
三、Model层配置
源码:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Drugs extends Model{
//指定表名
protected $table='drugs';
//指定主键
protected $primaryKey='DId';
// 允许批量赋值的字段
protected $fillable = [
'Dname', 'DPinYin', 'DBarcode','DNDCertificate','Dindication',
'Dspec','Dimg1','Dimg2','Dimg3','Dimg4',
'Dconsumption','DUsage','Dmanufacturer','DDescribe',
'Adddate','Adduser','Modifydate','Modifyuser'
];
//不允许批量赋值的字段
protected $guarded = [];
// 自动维护时间戳
public $timestamps = false;
// 设置保存created_at、updated_at时获取的时间格式
protected function getDateFormat()
{
return time();
}
}