之前一直不清楚 php artisan 要如何使用,有朋友推荐使用phpstorm可以进行命令行执行,
现在发现其实如果真的不喜欢phpstorm的加载缓慢,可以试试计算机原有的命令行
记住需要跳转到项目根目录下喔
不断学习才能不断进步,在今后的一段时间里开启laravel的学习。由于之前一直使用thinkphp,从未真正使用过laravel。如有不足之处还望指出。
这次学习看了很多有官方的,也有其他各博主发布的一些见解
官方的,如果要详细学习 个人推荐 https://xueyuanjun.com/books/laravel-tutorial
这些包括我这里实践的都是laravel5的版本
安装laravel
1 打开cmd 跳转到需要安装的目录 通过composer 安装 laravel 安装器
composer global require "laravel/installer"
2 通过 Composer 的 create-project 命令来安装(建立名为blog的新应用)
composer create-project --prefer-dist laravel/laravel blog
或者可以指定版本号安装
composer create-project --prefer-dist laravel/laravel blog2 5.5.*
3 查看laravel版本
php artisan --version
创建控制器
php artisan make:controller AbaseController
php artisan make:controller Admin/IndexController
创建控制器
php artisan make:controller Admin/IndexController
1 namespace AppHttpControllersAdmin; 2 3 use IlluminateHttpRequest; 4 use AppHttpControllersController; 5 6 class IndexController extends Controller 7 { 8 //首页 9 public function index() 10 { 11 12 } 13 //登录 14 public function login() 15 { 16 17 } 18 }
由于后台管理属于web,为了省事直接将路由放置在web路由中
地址:routes/web.php
这里写个完整的直接看与理解吧,在路由完整的情况下看控制器与中间件之前的关系
1 Route::prefix('admin')->group(function () { 2 //登录 3 Route::get('index/login', function () { 4 return view('admin/index/login'); 5 })->name('admin_login'); 6 7 Route::middleware('check.login')->group(function () { 8 //首页 9 Route::get('/',function(){ 10 echo '首页'; 11 // return view('admin/index/index'); 12 }); 13 }); 14 });
注释:
1 prefix('admin') 相当于前缀 或者说指定模型
2 name('admin_login') 设置别名 方便查找
3 middleware(‘check.login') 绑定中间件,并进行路由分组处理相关链接
添加一个问题项:关于后台路由首页设置,昨天测试的时候还没有问题,今天再去请求就发现行不通,也没有错误日志记录产生。
为此,重新设置了后台首页的路由,放置在 admin 分组 之外。
1 Route::get('houtai',function(){ 2 // echo '后台首页'; 3 return view('admin/index/index'); 4 })->middleware('check.login');
首先在 app/Http/Middleware 目录下生成中间件 并简单的进行cookie 与 session 判定,在不存在的情况下跳转指定路由
PHP artisan make:middleware CheckLogin
1 public function handle($request, Closure $next) 2 { 3 $admin_id=$request->cookie('admin_id'); 4 if(!$admin_id && !$request->session()->get('admin_id')) 5 { 6 return redirect()->route('admin_login'); 7 } 8 9 return $next($request); 10 }
注册中间件 CheckLogin 分配到指定路由中
app/Http/Kernel.php文件中,找到$routeMiddleware
添加'check.login' => AppHttpMiddlewareCheckLogin::class,