Laravel5.7框架安装与使用学习笔记图文详解
Laravel  /  管理员 发布于 8年前   245
本文实例讲述了Laravel5.7框架安装与使用。分享给大家供大家参考,具体如下: 【安装Laravel】 Composer安装: 目录结构: 网站根目录指向了/public,访问报错: 原因是并没有vendor这个文件夹,看了这篇博客https:158896.htm 在根目录执行 composer update,下载了一大堆东西 完事访问一片空白,错误500......然后各种百度,各种设置目录权限: 还是不行,最后查看了/storage/logs下面的日志,有报错: 少了这么一个key,再次百度,我的做法是:把根目录.env.example这个隐藏文件重命名为.env 然后根目录执行 php artisan key:generate (参考博客:https://blog.csdn.net/qq_39479575/article/details/78495703) 终于打开了这个页面,真不容易,明天我得吃个鸡腿庆祝一下...... 使用 php artisan --version 命令查看安装的Laravel版本,是最新的5.7版本 : 【一些配置】 Laravel 所有的配置文件都放在根目录 /config 下面: 修改app.php,开启debug: 设置时区为Asia/Shanghai: 控制器目录: 视图层目录: 【初识路由】 与thinkphp相比,Laravel不能通过 /模块名/控制器名/操作名 直接访问web界面 每一个web界面都必须在 /routes/web.php 中定义一条路由规则: 默认路由配置的意思是:访问根目录(网站首页),渲染视图层的"欢迎"页面: 在控制器目录新建了一个IndexController.php: 修改首页路由: 再次访问首页: 项目通常会区分前后台,在tp中可以通过划分模块来实现,Laravel中同样可以用这个原理 在控制器目录下新建了两个文件夹:Index、Admin,分别作为前、后台控制器模块: 以后台Admin为例,在下面新建两个控制器Index和User 手动创建太low了,Laravel使用命令行创建控制器、Model,命名空间都自动帮你写好...... IndexController.php: UserController.php: 在设置路由的时候,可以通过设置路由组group,共享路由属性。如:命名空间namespace、路由前缀prefix、中间件middleware等。 路由组规则设置如下: 这样就可以实现类似tp那样的 /模块名/控制器名/操作名 的访问方式: (当然路由前缀prefix和路由名称可以随意定义,不一定要遵循tp的写法,这里只是为了清晰明了) 【中间件】 Laravel的中间件在 /app/Http/Middleware 目录下,用于过滤HTTP请求,可以做一些字段验证、身份验证、CSRF 防护等等...... Laravel自带了一些中间件: 例:设置一个CheckLog中间件,判断用户是否登录,如果登录了可以看用户列表页,否则跳转到首页 执行生成中间件命令:(这里和控制器一样采用前后台目录分开放的方式) CheckLog.php中间件内容: 写好中间件之后需要注册中间件,在 /app/Http/Kernel.php 里面注册 目的是给路由分配中间件,在 routeMiddleware 属性里添加: 修改/routes/web.php路由配置,给后台用户路由组添加中间件属性: 此时访问用户列表页,会先走中间件判断登录状态,没登录跳转到首页: (Kernel.php中其他中间件属性:全局中间件 如果不给路由设置中间件属性,也可以在控制器的构造方法里设置中间件,可以指定或排除具体某一个操作,示例如下: 【请求 request】 获得请求,首先需要引入 Illuminate\Http\Request 类 基本使用: 【分配数据 渲染视图】 以后台首页视图 /admin/index/index 为例: 控制器使用 视图层使用双大括号 {{ }} 获得数据: 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。composer create-project --prefer-dist laravel/laravel
chmod -R 777 storage/chmod -R 777 bootstrap/cache/chmod -R 777 vendor/
Route::get('/', function () { return view('welcome');});
Route::get('/', 'IndexController@index');
php artisan make:controller Admin/IndexController
//在App\Http\Controllers\Admin命名空间下的控制器Route::namespace('Admin')->group(function () { //后台首页 Route::group(['prefix' => 'admin/index'], function () { // 首页显示 Route::get('index', 'IndexController@index'); }); //后台用户 Route::group(['prefix' => 'admin/user'], function () { //用户列表 Route::get('userlist', 'UserController@userlist'); //用户添加 Route::get('useradd', 'UserController@useradd'); });});
php artisan make:middleware Admin/CheckLog
cookie('mid'); if(empty($mid)){ return redirect('admin/index/index'); } //处理请求之前执行动作 return $next($request); }}
'admin.checklog' => \App\Http\Middleware\Admin\CheckLog::class,
//后台用户Route::group(['prefix' => 'admin/user' , 'middleware' => 'admin.checklog'], function () { //用户列表 Route::get('userlist', 'UserController@userlist'); //用户添加 Route::get('useradd', 'UserController@useradd');});
$middleware
、中间件组$middlewareGroups
、中间件执行顺序$middlewarePriority
) middleware('admin.checklog'); //仅xxx操作生效 // $this->middleware('admin.checklog')->only('userlist'); //除xxx操作生效 // $this->middleware('admin.checklog')->except('useradd'); } public function userlist(){ return '后台用户列表页'; } public function useradd(){ return '后台用户添加'; } }
path(); $url = '请求URL:'.$request->url(); $method = '请求方法:'.$request->method(); $name = '获取请求参数:'.$request->input('name'); $mid = '获取cookie:'.$request->cookie('mid'); $key = '获取session:'.$request->session()->get('key'); $file = '获取上传文件:'.$request->file('photo'); dump($uri); dump($url); dump($method); dump($name); dump($mid); dump($file); //验证请求路径 //if ($request->is('admin/*')) { //} //验证请求方法 //if ($request->isMethod('post')) { //} } }
view()
函数渲染视图,同时分配数据:with('name',$name); //分配数组 $data = ['name' => 'lws','sex' => 'nan']; return view('admin.index.index', $data); //也可以使用php的compact函数传值 //$name = 'lws'; //$sex = 'nan'; //return view('admin.index.index',compact('name','sex')); } }
姓名:{{$name}}
性别:{{$sex}}{{ $test }}
会自动调用 PHP 的 htmlspecialchars()
函数防止 XSS 攻击,如果不需要转义可使用 {!! $test !!}
,例如富文本格式。您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号