本文实例讲述了Laravel5.7框架安装与使用。分享给大家供大家参考,具体如下:
【安装Laravel】
Composer安装:
composer create-project --prefer-dist laravel/laravel
目录结构:
网站根目录指向了/public,访问报错:
原因是并没有vendor这个文件夹,看了这篇博客https://www.jb51.net/article/158896.htm
在根目录执行 composer update,下载了一大堆东西
完事访问一片空白,错误500......然后各种百度,各种设置目录权限:
chmod -R 777 storage/ chmod -R 777 bootstrap/cache/ chmod -R 777 vendor/
还是不行,最后查看了/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 中定义一条路由规则:
默认路由配置的意思是:访问根目录(网站首页),渲染视图层的"欢迎"页面:
Route::get('/', function () { return view('welcome'); });
在控制器目录新建了一个IndexController.php:
<"htmlcode">Route::get('/', 'IndexController@index');再次访问首页:
项目通常会区分前后台,在tp中可以通过划分模块来实现,Laravel中同样可以用这个原理
在控制器目录下新建了两个文件夹:Index、Admin,分别作为前、后台控制器模块:
以后台Admin为例,在下面新建两个控制器Index和User
手动创建太low了,Laravel使用命令行创建控制器、Model,命名空间都自动帮你写好......
php artisan make:controller Admin/IndexControllerIndexController.php:
<"htmlcode"><"htmlcode">//在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'); }); });这样就可以实现类似tp那样的 /模块名/控制器名/操作名 的访问方式:
(当然路由前缀prefix和路由名称可以随意定义,不一定要遵循tp的写法,这里只是为了清晰明了)
【中间件】
Laravel的中间件在 /app/Http/Middleware 目录下,用于过滤HTTP请求,可以做一些字段验证、身份验证、CSRF 防护等等......
Laravel自带了一些中间件:
例:设置一个CheckLog中间件,判断用户是否登录,如果登录了可以看用户列表页,否则跳转到首页
执行生成中间件命令:(这里和控制器一样采用前后台目录分开放的方式)
php artisan make:middleware Admin/CheckLogCheckLog.php中间件内容:
<"color: #0000ff">/app/Http/Kernel.php 里面注册目的是给路由分配中间件,在 routeMiddleware 属性里添加:
'admin.checklog' => \App\Http\Middleware\Admin\CheckLog::class,修改/routes/web.php路由配置,给后台用户路由组添加中间件属性:
//后台用户 Route::group(['prefix' => 'admin/user' , 'middleware' => 'admin.checklog'], function () { //用户列表 Route::get('userlist', 'UserController@userlist'); //用户添加 Route::get('useradd', 'UserController@useradd'); });此时访问用户列表页,会先走中间件判断登录状态,没登录跳转到首页:
(Kernel.php中其他中间件属性:全局中间件
$middleware
、中间件组$middlewareGroups
、中间件执行顺序$middlewarePriority
)如果不给路由设置中间件属性,也可以在控制器的构造方法里设置中间件,可以指定或排除具体某一个操作,示例如下:
<"color: #0000ff">Illuminate\Http\Request 类基本使用:
<"has" alt="" width="690" height="333" src="/UploadFiles/2021-04-02/2019040211465949.png">【分配数据 渲染视图】
以后台首页视图 /admin/index/index 为例:
控制器使用
view()
函数渲染视图,同时分配数据:相思资源网 Design By www.200059.com广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com相思资源网 Design By www.200059.com暂无Laravel5.7框架安装与使用学习笔记图文详解的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。