laravel5学习并搭建网站【更新至2020-09-03】
之前一直不清楚 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
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】的更多相关文章
- RPI学习--环境搭建_更新firmware
		
(用以解决USB摄像头不识别的状况) rpi-update是老外开发的一个更新树莓派firmware的工具 $ sudo apt-get update $ sudo apt-get install ...
 - javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)
		
一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...
 - Spring+SpringMVC+MyBatis深入学习及搭建(十)——MyBatis逆向工程
		
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6973266.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(九)--My ...
 - Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)
		
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...
 - 深度学习之PyTorch实战(1)——基础学习及搭建环境
		
最近在学习PyTorch框架,买了一本<深度学习之PyTorch实战计算机视觉>,从学习开始,小编会整理学习笔记,并博客记录,希望自己好好学完这本书,最后能熟练应用此框架. PyTorch ...
 - 基于开源博客系统(mblog)搭建网站
		
基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...
 - 【服务器】CentOs7系统使用宝塔面板搭建网站,有FTP配置(保姆式教程)
		
内容繁多,请耐心跟着流程走,在过程中遇到问题请在下面留言(我只是小白,请专业人士喷轻点). 这次用thinkphp5.1做演示,单纯的做演示,我打算下一篇文章用typecho(博客框架)演示. 前言 ...
 - Spring+SpringMVC+MyBatis深入学习及搭建(八)——MyBatis查询缓存
		
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6956206.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(七)——My ...
 - Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇)
		
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7065294.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十四)--S ...
 
随机推荐
- 基于asp.net core 从零搭建自己的业务框架(三)
			
前言 根据业务处理部分,单体马上就能得知错误与否,快速做出处理,而分布式系统,会因为各种原因,无法如同单体一样立刻处理,所以这个时候需要 处理异常 的,做 补偿.转移.人工干预. 当然也可以直接在消费 ...
 - 常哥带你认识NoSQL和Redis的强大
			
各位朋友,这篇文章是针对Redis快速了解的内容,为了学好Redis在这里首先跟大家聊聊NoSQL相关内容,有了概念和方向后,我们再学习Redis大家会感觉得心应手. [公众号dotNet工控上位机: ...
 - 基于Socket访问西门子PLC系列教程(二)
			
本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket ...
 - JavaScript基础-02
			
1. 六种数据类型: string字符串:number数值:boolean布尔值:null空值:undefined 未定义:object对象 基本数据类型(值类型): string字符串:number ...
 - 关于java中jdk的环境变量配置
			
关于java中jdk的环境变量配置 烦死人,在网上找了很长时间.最终找到了一个方法!现在将其总结帮助后来人. 方法/步骤 1 下载好jdk,并按照提示一步步安装,最后记下jdk所在的安装位置,这里 ...
 - Ubuntu 16.04 sudo免密码visudo sudoers设置
			
使用sudo visudo调用nano对 /etc/sudoers 进行修改 $ sudo visudo 在想修改的对象最后加上 NOPASSWD: ALL 注意:在后面的设置会覆盖前面的设置
 - Mybatis如何在插入(ID是后台生成的)后返回ID?
			
获得ID方法:
 - Java callback回调
			
package com.callback; public interface CSCallBack { public void process(String status); } package co ...
 - 性能分析(7)- 未利用系统缓存导致 I/O 缓慢案例
			
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 前提 前面有学到 Buffer 和 Cache 的 ...
 - 全网最通透的Java8版本特性讲解
			
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...