• laravel5学习并搭建网站【更新至2020-09-03】


    之前一直不清楚 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

     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');

    关于中间件 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,

  • 相关阅读:
    day12 Python操作rabbitmq及pymsql
    day11 队列、线程、进程、协程及Python使用缓存(redis/memcache)
    day10 Python作用域 Python2.7与Python3.x的类继承的区别、异步IO、多进程,多线程简介
    day09 Python socket编程
    day08 面向对象补充及单例模式
    day07 configparser xml subprocess 面向对象
    day06 Python的一些内建变量、反射、hashlib模块、re模块、os模块、sys模块
    day05 Python多层装饰器、模块、序列化、字符串格式化、生成器和迭代器、递归、time、datetime模块、logging模块
    day04 Python一些内置函数及装饰器
    查看旧版jexus命令
  • 原文地址:https://www.cnblogs.com/exo5/p/13594808.html
Copyright © 2020-2023  润新知