之前一直不清楚 php artisan 要如何使用,有朋友推荐使用phpstorm可以进行命令行执行,

现在发现其实如果真的不喜欢phpstorm的加载缓慢,可以试试计算机原有的命令行

记住需要跳转到项目根目录下喔

不断学习才能不断进步,在今后的一段时间里开启laravel的学习。由于之前一直使用thinkphp,从未真正使用过laravel。如有不足之处还望指出。

这次学习看了很多有官方的,也有其他各博主发布的一些见解

官方的,如果要详细学习 个人推荐 https://xueyuanjun.com/books/laravel-tutorial

这些包括我这里实践的都是laravel5的版本

  1. 安装laravel
  2. 关于后台登录
  3. 关于中间件

安装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

 namespace App\Http\Controllers\Admin;

 use Illuminate\Http\Request;
use App\Http\Controllers\Controller; class IndexController extends Controller
{
//首页
public function index()
{ }
//登录
public function login()
{ }
}

由于后台管理属于web,为了省事直接将路由放置在web路由中
地址:routes/web.php

这里写个完整的直接看与理解吧,在路由完整的情况下看控制器与中间件之前的关系

 Route::prefix('admin')->group(function () {
//登录
Route::get('index/login', function () {
return view('admin/index/login');
})->name('admin_login'); Route::middleware('check.login')->group(function () {
//首页
Route::get('/',function(){
echo '首页';
// return view('admin/index/index');
});
});
});

注释:

  1 prefix('admin') 相当于前缀 或者说指定模型

  2 name('admin_login') 设置别名 方便查找

  3 middleware(‘check.login') 绑定中间件,并进行路由分组处理相关链接

添加一个问题项:关于后台路由首页设置,昨天测试的时候还没有问题,今天再去请求就发现行不通,也没有错误日志记录产生。

为此,重新设置了后台首页的路由,放置在 admin 分组 之外。

 Route::get('houtai',function(){
// echo '后台首页';
return view('admin/index/index');
})->middleware('check.login');

关于中间件 check.login   

首先在 app/Http/Middleware 目录下生成中间件  并简单的进行cookie 与 session 判定,在不存在的情况下跳转指定路由
PHP artisan make:middleware CheckLogin

 public function handle($request, Closure $next)
{
$admin_id=$request->cookie('admin_id');
if(!$admin_id && !$request->session()->get('admin_id'))
{
return redirect()->route('admin_login');
} return $next($request);
}

注册中间件 CheckLogin 分配到指定路由中
app/Http/Kernel.php文件中,找到$routeMiddleware
添加'check.login' => \App\Http\Middleware\CheckLogin::class,

laravel5学习并搭建网站【更新至2020-09-03】的更多相关文章

  1. RPI学习--环境搭建_更新firmware

    (用以解决USB摄像头不识别的状况) rpi-update是老外开发的一个更新树莓派firmware的工具 $ sudo apt-get update  $ sudo apt-get install ...

  2. javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)

    一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...

  3. Spring+SpringMVC+MyBatis深入学习及搭建(十)——MyBatis逆向工程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6973266.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(九)--My ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...

  5. 深度学习之PyTorch实战(1)——基础学习及搭建环境

    最近在学习PyTorch框架,买了一本<深度学习之PyTorch实战计算机视觉>,从学习开始,小编会整理学习笔记,并博客记录,希望自己好好学完这本书,最后能熟练应用此框架. PyTorch ...

  6. 基于开源博客系统(mblog)搭建网站

    基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...

  7. 【服务器】CentOs7系统使用宝塔面板搭建网站,有FTP配置(保姆式教程)

    内容繁多,请耐心跟着流程走,在过程中遇到问题请在下面留言(我只是小白,请专业人士喷轻点). 这次用thinkphp5.1做演示,单纯的做演示,我打算下一篇文章用typecho(博客框架)演示. 前言 ...

  8. Spring+SpringMVC+MyBatis深入学习及搭建(八)——MyBatis查询缓存

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6956206.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(七)——My ...

  9. Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十四)--S ...

随机推荐

  1. 基于asp.net core 从零搭建自己的业务框架(三)

    前言 根据业务处理部分,单体马上就能得知错误与否,快速做出处理,而分布式系统,会因为各种原因,无法如同单体一样立刻处理,所以这个时候需要 处理异常 的,做 补偿.转移.人工干预. 当然也可以直接在消费 ...

  2. 常哥带你认识NoSQL和Redis的强大

    各位朋友,这篇文章是针对Redis快速了解的内容,为了学好Redis在这里首先跟大家聊聊NoSQL相关内容,有了概念和方向后,我们再学习Redis大家会感觉得心应手. [公众号dotNet工控上位机: ...

  3. 基于Socket访问西门子PLC系列教程(二)

    本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket ...

  4. JavaScript基础-02

    1. 六种数据类型: string字符串:number数值:boolean布尔值:null空值:undefined 未定义:object对象 基本数据类型(值类型): string字符串:number ...

  5. 关于java中jdk的环境变量配置

    关于java中jdk的环境变量配置 烦死人,在网上找了很长时间.最终找到了一个方法!现在将其总结帮助后来人. 方法/步骤   1 下载好jdk,并按照提示一步步安装,最后记下jdk所在的安装位置,这里 ...

  6. Ubuntu 16.04 sudo免密码visudo sudoers设置

    使用sudo visudo调用nano对 /etc/sudoers 进行修改 $ sudo visudo 在想修改的对象最后加上 NOPASSWD: ALL 注意:在后面的设置会覆盖前面的设置

  7. Mybatis如何在插入(ID是后台生成的)后返回ID?

    获得ID方法:

  8. Java callback回调

    package com.callback; public interface CSCallBack { public void process(String status); } package co ...

  9. 性能分析(7)- 未利用系统缓存导致 I/O 缓慢案例

    性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 前提 前面有学到 Buffer 和 Cache 的 ...

  10. 全网最通透的Java8版本特性讲解

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...