资讯专栏INFORMATION COLUMN

laravel 网站后台设计

KavenFan / 3096人阅读

摘要:网站后台设计我将记录,我是如何使用搭建一个简单的后台应用。详细解释创建控制器用于处理后台页面以及登录后台。账号或者密码错误创建中间件用于处理后台的权限,是否允许显示后台在找到,加入中间件的别名。

laravel 网站后台设计

我将记录,我是如何使用laravel搭建一个简单的后台应用。
你将学会,laravel的基本使用方法。请认真实践哦。

设置路由 routes.php 定义的代码
Route::group([
    "namespace" => "Admin" ,
    "prefix" => "admin"
], function(){
    // 控制器在 "AppHttpControllersAdmin" 命名空间下

    //登录页面
    Route::get("login", "AuthController@getLogin");
    //提交登录
    Route::post("login", "AuthController@postLogin");
    //退出登录
    Route::get("loginout", "AuthController@loginout");

    Route::group([
        "middleware"=> "adminAuth"
    ],function(){
        //后台主页
        Route::get("/", "AuthController@index");
        //后台头部
        Route::get("/header", "AuthController@header");
        //后台菜单
        Route::get("/menu", "AuthController@menu");
        //后台的主要部分,欢迎页面,或者是系统状态.
        Route::get("/main", "AuthController@main");
    });

});

| 属性名 | 意思 |
| - | - |
| namespace | 命名空间
| prefix | 路由前缀
| middleware | 中间件

路由列表

php artisan route:list

+--------+----------+------------------------------+----------------------+---------------------------------------------------------------+------------+
| Domain | Method   | URI                          | Name                 | Action                                                        | Middleware |
+--------+----------+------------------------------+----------------------+---------------------------------------------------------------+------------+
|        | GET|HEAD | /                            |                      | Closure                                                       |            |
|        | GET|HEAD | _debugbar/assets/javascript  | debugbar.assets.js   | BarryvdhDebugbarControllersAssetController@js              |            |
|        | GET|HEAD | _debugbar/assets/stylesheets | debugbar.assets.css  | BarryvdhDebugbarControllersAssetController@css             |            |
|        | GET|HEAD | _debugbar/clockwork/{id}     | debugbar.clockwork   | BarryvdhDebugbarControllersOpenHandlerController@clockwork |            |
|        | GET|HEAD | _debugbar/open               | debugbar.openhandler | BarryvdhDebugbarControllersOpenHandlerController@handle    |            |
|        | GET|HEAD | admin                        |                      | AppHttpControllersAdminAuthController@index               | adminAuth  |
|        | GET|HEAD | admin/header                 |                      | AppHttpControllersAdminAuthController@header              | adminAuth  |
|        | GET|HEAD | admin/login                  |                      | AppHttpControllersAdminAuthController@getLogin            |            |
|        | POST     | admin/login                  |                      | AppHttpControllersAdminAuthController@postLogin           |            |
|        | GET|HEAD | admin/loginout               |                      | AppHttpControllersAdminAuthController@loginout            |            |
|        | GET|HEAD | admin/main                   |                      | AppHttpControllersAdminAuthController@main                | adminAuth  |
|        | GET|HEAD | admin/menu                   |                      | AppHttpControllersAdminAuthController@menu                | adminAuth  |
+--------+----------+------------------------------+----------------------+---------------------------------------------------------------+------------+

这里清晰的看到,前面所定义的路由,对应的地址。

"prefix" => "admin" 所以 admin/ 就是uri的前缀。

别以为我打错了,为什么不是url

uri是指,域名后面的部分,如:http://blog.c2567.com/hello.html,那么/hello.html就是uri,也就是域名后面的部分。
url是指,完整的地址,包括域名。

uri详细解释.
http://baike.baidu.com/item/URI/2901761

创建控制器

php artisan make:controller Admin/AuthController

用于处理后台页面以及登录后台。

input("username");
        $password = $request->input("password");
        if($username == "chensuilong" && $password == "123456"){
            session(["isAdminLogin"=>true]);
            return redirect("admin/");
        }else{
            echo "账号,或者密码错误";
            return view("admin.login");
        }


    }
    public function loginout(Request $request)
    {
        $request->session()->flush();
        return redirect("admin/");
    }
}
创建中间件

php artisan make:middleware adminAuthMiddleware

用于处理后台的权限,是否允许显示后台
appHttpKernel.php, 找到 $routeMiddleware,加入中间件的别名。

        "adminAuth" => AppHttpMiddlewareadminAuthMiddleware::class

创建视图

创建文件夹
resourcesviewsAdmin

建立文件

resourcesviewsAdminindex.blade.php

resourcesviewsAdminheader.blade.php

resourcesviewsAdminmenu.blade.php

resourcesviewsAdminmain.blade.php

resourcesviewsAdminlogin.blade.php

index.blade.php


    最简单的后台
    



    

    
        
        
    



header.blade.php

简单的后台

menu.blade.php



main.blade.php

这是一个超级简单的后台

login.blade.php



    
    
    
    
    

    登录后台

    
    

    
    




总结 需要进一步了解的地方

laravel 路由定义

laravel 控制器的创建及使用

laravel 中间件的创建及使用

laravel 视图及模板引擎

laravel session 的使用

[ Laravel 5.1 文档 ] 基础 —— HTTP 路由

[ Laravel 5.1 文档 ] 基础 —— HTTP 中间件

[ Laravel 5.1 文档 ] 基础 —— HTTP 控制器

[ Laravel 5.1 文档 ] 基础 —— HTTP 请求

[ Laravel 5.1 文档 ] 基础 —— HTTP 响应

[ Laravel 5.1 文档 ] 基础 —— 视图

[ Laravel 5.1 文档 ] 基础 —— Blade 模板引擎

Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程

心得

这样子就完成了一个带有权限验证的简单后台了.希望可以帮助大家理解laravel。

正所谓,万事开头难,不要妄想一开始就做出漂亮的后台界面来,这样子只会让你倍受打击,完成了这个例子后,你将可以随意的使用更加绚丽的后台模板来完成工作。

当然我这个简单的后台,用起来也相当不错,需要追求更好的用户体验,就用一些 绚丽的后台模板把。

毕竟我们是后端程序员,完成业务逻辑才是我们需要完成的,绚丽易用的操作界面都是相辅的。

切忌界面先行,这样子也会让你工作未完成,页面也做不好,最后倍受打击,什么也做不好。按部就班,踏踏实实的完成才是正道。

其他

经过我观察,大部分的laravel教程,教你做博客,是从前端界面开始的,这样子的急功近利,可能会起反效果。

一个完善的软件系统,都是从后台开始一步一步测试完成的,脚踏实步,流程跑通,界面什么的,都是顺手拿来的事情。

摆正心态,认真学习,不要跳着学,正所谓,万尺高楼从地起,打好坚实的基础才能游刃有余,举一反三。

展望

相信你,做完以及了解完laravel,一定能感觉到优雅的写法带来的愉悦,希望本篇文章可以给予你,极大的兴趣继续学习。

下次我可能会讲到,深入地理解laravel(laravel的架构,生命周期,依赖注入,控制反转),或者是laravel的实用组件(错误提示,debug工具,用户认证)等。

laravel的学习周期,对于新手程序员,可能比较长,对于的内功不够深厚的(编程思想及php基础),那也是比较困难的。

当然如果你迈过了这道坎,相信内功可以提升不少。我也尽量的讲解的通俗易懂,易上手。

对于内功深厚的程序员,我相信,不出数日已经可以游刃有余。

如有机会,我也希望录制laravel的视频教程,更好的讲解laravel,哈,敬请期待吧。

我的博客地址:http://blog.c2567.com/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21576.html

相关文章

  • laravel + vue.js 的前后端分离项目,一个分享原创诗文的网站

    摘要:一个前后端分离的的项目,网站主旨是分享原创诗文诗词小筑。前台页面是由编写的,后端提供接口。而后台管理页面是由的模板与共同完成。因此我将它们放在两个仓库里。由于很多地方都是自己的,所以网站设计的有些粗糙。配置邮件发送信息,采用。 About 一个前后端分离的 laravel5.4 + vue2 的项目,网站主旨是分享原创诗文--诗词小筑。前台页面是由vue2编写的,后端提供api接口。而...

    sixgo 评论0 收藏0
  • laravel + vue.js 的前后端分离项目,一个分享原创诗文的网站

    摘要:一个前后端分离的的项目,网站主旨是分享原创诗文诗词小筑。前台页面是由编写的,后端提供接口。而后台管理页面是由的模板与共同完成。因此我将它们放在两个仓库里。由于很多地方都是自己的,所以网站设计的有些粗糙。配置邮件发送信息,采用。 About 一个前后端分离的 laravel5.4 + vue2 的项目,网站主旨是分享原创诗文--诗词小筑。前台页面是由vue2编写的,后端提供api接口。而...

    Cheng_Gang 评论0 收藏0
  • PHP相关

    摘要:的机器学习库的机器学习库,包括算法交叉验证神经网络等内容。在即将到来的大会上,她将和大家分享在机器学习领域的全新可能。入门总结入门相关,如安装配置基本使用等。 基于 Swoole 开发 PHP 扩展 Swoole-1.9.7 增加了一个新特性,可以基于 Swoole 使用 C++ 语言开发扩展模块,在扩展模块中可以注册 PHP 内置函数和类。现在可以基于 Swoole 来编写 PHP ...

    lewinlee 评论0 收藏0
  • 如何做到 Laravel 配置可以网站后台配置【社群系统ThinkSNS+研发日记四】

    摘要:本文分享下利用的达到网站后台设置配置。当加载配置执行完成后就会执行我注入的后置事件。官网内测申请方式提供个人企业联系方式及认证信息实名企业营业执照照片或扫描件及申请说明,发送邮件至将有机会获得首批内测资格,名额有限,申请从速。 本文分享下利用 Laravel 的 Bootstrapping 达到网站后台设置 laravel 配置。 需求场景 首先,ThinkSNS+ 作为一个用户可以使...

    alanoddsoff 评论0 收藏0
  • Laravel从零开发后台API(一)

    摘要:介绍在开发后台接口现在更多的企业选择了来开发后台接口当然和不失为是一种不错的选择不过这里就以为例基于框架开发后台这里也是如果你是从事其他方向想做一些后台开发都可以去尝试一下的当然实例项目我会不放在我的上仅供参考地址前期准备当然前提是安装 介绍 在开发后台接口现在更多的企业选择了PHP来开发后台接口 当然Python和NodeJs不失为是一种不错的选择 不过这里就以PHP为例 基于Lar...

    selfimpr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<