laravel 网站后台设计

news/2024/4/28 22:04:56/文章来源:https://blog.csdn.net/weixin_34235105/article/details/89427095

laravel 网站后台设计

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

设置路由

routes.php 定义的代码

Route::group(['namespace' => 'Admin' ,'prefix' => 'admin'
], function(){// 控制器在 "App\Http\Controllers\Admin" 命名空间下//登录页面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   | Barryvdh\Debugbar\Controllers\AssetController@js              |            |
|        | GET|HEAD | _debugbar/assets/stylesheets | debugbar.assets.css  | Barryvdh\Debugbar\Controllers\AssetController@css             |            |
|        | GET|HEAD | _debugbar/clockwork/{id}     | debugbar.clockwork   | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork |            |
|        | GET|HEAD | _debugbar/open               | debugbar.openhandler | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle    |            |
|        | GET|HEAD | admin                        |                      | App\Http\Controllers\Admin\AuthController@index               | adminAuth  |
|        | GET|HEAD | admin/header                 |                      | App\Http\Controllers\Admin\AuthController@header              | adminAuth  |
|        | GET|HEAD | admin/login                  |                      | App\Http\Controllers\Admin\AuthController@getLogin            |            |
|        | POST     | admin/login                  |                      | App\Http\Controllers\Admin\AuthController@postLogin           |            |
|        | GET|HEAD | admin/loginout               |                      | App\Http\Controllers\Admin\AuthController@loginout            |            |
|        | GET|HEAD | admin/main                   |                      | App\Http\Controllers\Admin\AuthController@main                | adminAuth  |
|        | GET|HEAD | admin/menu                   |                      | App\Http\Controllers\Admin\AuthController@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

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

<?phpnamespace App\Http\Controllers\Admin;use Illuminate\Http\Request;use App\Http\Requests;
use App\Http\Controllers\Controller;class AuthController extends Controller
{public function index(){return view('admin.index');}public function header(){return view('admin.header');}public function menu(){return view('admin.menu');}public function main(){return view('admin.main');}public function getLogin(){return view('admin.login');}public function postLogin(Request $request){$username = $request->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

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

        'adminAuth' => \App\Http\Middleware\adminAuthMiddleware::class
<?phpnamespace App\Http\Middleware;use Closure;class adminAuthMiddleware
{/*** Handle an incoming request.** @param  \Illuminate\Http\Request  $request* @param  \Closure  $next* @return mixed*/public function handle($request, Closure $next){//判断session中isAdminLogin视为为true,如果不是,那么跳转到登录页面.if(session('isAdminLogin') != true){return redirect('/admin/login');}return $next($request);}
}

创建视图

创建文件夹
resources\views\Admin

建立文件

resources\views\Admin\index.blade.php

resources\views\Admin\header.blade.php

resources\views\Admin\menu.blade.php

resources\views\Admin\main.blade.php

resources\views\Admin\login.blade.php

index.blade.php

<html>
<head><title>最简单的后台</title><meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head><frameset rows="80,*" frameborder=0 ><frame src="/admin/header"><frameset cols="205,*"><frame src="/admin/menu"><frame name="action" src="/admin/main"></frameset>
</frameset></html>

header.blade.php


<style type="text/css">body{background:rgb(0,153,204);color:#FFF;}h2{line-height: 40px;}
</style>
<h2>简单的后台</h2>

menu.blade.php


<style type="text/css">*{margin: 0;padding: 0;}body{background: #3C4045;}#menu {font-size: 12px;}#menu li{padding-bottom: 12px;}#menu h1{font-size: 14px;line-height: 30px;background-color: #22282e;color: #FFF;margin-bottom: 8px;padding: 10px;}#menu a{line-height: 25px;display: block;color: #FFF;cursor: pointer;list-style-type: none;text-decoration: none;padding: 10px;}#menu a:hover{background-color: #0099cc;font-weight: bold;}
</style><ul id="menu"><li><h1>用户管理</h1><a href="/admin/user/index" target="action">管理用户</a><a href="/admin/user/create" target="action">添加用户</a></li><li><h1>服务器状态</h1><a href="/admin/main" target="action">状态</a></li><li><h1>后台管理</h1><a href="/admin/config.html" target="action">后台设置</a><a href="/admin/loginout" target="_top">退出后台</a></li></ul>

main.blade.php

<h3>这是一个超级简单的后台</h3>

login.blade.php


<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content=""><meta name="author" content=""><title>登录后台</title><!-- Bootstrap core CSS --><link href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"><!-- Custom styles for this template --><style>body {padding-top: 40px;padding-bottom: 40px;background-color: #eee;}.form-signin {max-width: 330px;padding: 15px;margin: 0 auto;}.form-signin .form-signin-heading,.form-signin .checkbox {margin-bottom: 10px;}.form-signin .checkbox {font-weight: normal;}.form-signin .form-control {position: relative;height: auto;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;padding: 10px;font-size: 16px;}.form-signin .form-control:focus {z-index: 2;}.form-signin input[type="password"] {margin-bottom: 10px;border-top-left-radius: 0;border-top-right-radius: 0;}</style>
</head><body><div class="container"><form class="form-signin" role="form" action="/admin/login" method="post"><input type="hidden" name="_token" value="{{ csrf_token() }}"><h2 class="form-signin-heading">登录后台</h2><label for="username" class="sr-only">用户名</label><input type="text" name="username" id="username" class="form-control" placeholder="UserName" required autofocus><label for="inputPassword" class="sr-only">密码</label><input type="password" name="password" id="inputPassword" class="form-control" placeholder="Password" required><button class="btn btn-lg btn-primary btn-block" type="submit">登录</button></form></div> <!-- /container --></body>
</html>

总结

需要进一步了解的地方

  • 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_776281.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在网站嵌入百度搜索框

这个功能在百度其实已经做得非常好了&#xff0c;这里借花献佛&#xff0c;记录下使用经验 1.效果 2.在div内嵌入 <div styleoverflow:hidden><form onsubmit"return baiduWithHttps(this)" action"http://www.baidu.com/baidu" target"_bla…

网站服务器压力Web性能测试(3):http_load:测试web服务器的吞吐量与负载

1、http_load是国外一个博主写的一个基于Linux的性能测工具&#xff0c;小巧轻便&#xff0c;解压缩后不到100k&#xff0c;下载安装方法&#xff1a; wget https://acme.com/software/http_load/http_load-12mar2006.tar.gz tar xzvf http_load-12mar2006.tar.gz cd http_load…

iis ckfinder目录权限_从零到IIS建站再到IIS解析漏洞复现

首先用2003搭建IIS服务器点击添加或删除角色点击下一步点击自定义配置然后直接下一步到底。然后再管理工具里面找到iis服务管理器右键网站然后点击新建点击下一步描述大家可以随便输入&#xff0c;这里是测试我就输入test网站IP地址输入本地的ip地址&#xff0c;主机头因为是本…

SAP Hybris助力立邦iColor电商网站全面升级,打造一站式定制化垂直电商家装平台...

SAP Hybris助力立邦iColor电商网站全面升级&#xff0c;打造一站式定制化垂直电商家装平台 http://mp.weixin.qq.com/s?__bizMzA5MjM3MDY2NA&mid2660842763&idx1&sn081dd5ce5821e41a06cfa39bcc877cab&chksm8b03be8cbc74379aeb99a2f1b20633bef699d0c8f5968c00…

(3)web安全|渗透测试|网络安全搭建安全基础知识,IIS建站,exe后门生成工具Quasar,的基础使用

首先要先学会使用IIS搭建网站 (6条消息) windows 中开启IIS功能&#xff0c;并使用IIS来搭建web服务器&#xff0c;并提供测试源码&#xff0c;验证搭建是否成功_黑色地带(崛起)的博客-CSDN博客https://blog.csdn.net/qq_53079406/article/details/122901947?spm1001.2014.30…

(4)web安全|渗透测试|网络安全web网站源码及相关分析

众所周知&#xff1a; web源码在安全测试中是非常重要的信息来源&#xff0c;可以用来代码审计漏洞也可以用来做信息突破口&#xff0c;其中WEB源码有很多技术需要简明分析。 eg&#xff1a;获取ASP源码后可以采用默认数据库下载为突破&#xff0c;获取某其他脚本源码漏洞可以…

(10)web安全|渗透测试|网络安全 六大网站相关信息搜集方法

一、Github自动化监控 配置环境python2.7.* 要查询到更多&#xff0c;需要注册账号和vip ​​​​​​GitHub - bit4woo/teemo: A Domain Name & Email Address Collection Tool 二、各种子域名查询 1、在线查询网站 这个网上非常多 2、搜索引擎 shodan,zoomeye&…

【bp问题合集】burpsuite监听端口勾选不了、代理出现安全警告:“有软件正在阻止 Firefox 安全地连接至此网站”、bp无法启动

目录 一、问题一&#xff1a;有软件正在阻止安全连接 1.1、问题重现&#xff1a; 1.2、导出证书&#xff1a; 1.3、导入证书 二、问题二&#xff1a;Proxy监听端口勾选不了 2.1、问题重现&#xff1a; 2.2、问题分析&#xff1a; 2.3、解决办法&#xff1a; 三、问题三…

网站运营,先分清web1.0与web2.0「社区运营入门系列①」

大概在八年前&#xff0c;和朋友聊天时提及Web2.0&#xff0c;这是我第一次听到这个名词。当时不记得他是怎么解释这个名词的&#xff0c;只留下了一个印象&#xff1a;这将是今后互联网的大趋势。回去后我立即就百度了一下&#xff0c;一看不要紧&#xff0c;顿时就晕菜了&…

【HTML中隐写】Snow免安装、网站版,基本使用方法

目录 Snow 准备阶段&#xff1a; 原理&#xff1a; 使用方法&#xff1a; Options&#xff08;选项&#xff09; Examples&#xff08;例子&#xff09; 使用&#xff1a; 对比&#xff1a; 用浏览器打开瞅瞅 使用工具 换网站&#xff1a; Decryption&#xff08;解…

【数据库连接检查】【一键部署问题】phpstudy本地网站搭建详细过程、前端后台打开方法

目录 ​搭建本地网站 ​搭建基础&#xff1a; ​准备简阶段&#xff1a; ​其他管理软件 ​开始搭建 ​网站和数据库配置阶段 ​ 第一步&#xff1a;开启服务Apache和MySQL ​​第二步&#xff1a;创建网站 ​安装网站程序 ​第三步&#xff1a;选择建站系统 ​简介…

(58)【权限提升】后台权限、网站权限、数据库权限、接口权限

目录 一、后台权限&#xff1a; 1.1、简介&#xff1a; 1.2、利用&#xff1a; 1.2.1、爆破 1.2.2、CMS 1.2.3、常规测试 1.2.4、第三方&#xff08;中间件&#xff09; 二、网站权限&#xff1a; 2.1、简介 2.2、利用&#xff1a; 三、数据库权限&#xff1a; 3.1…

Tomcat 发布部署jsp网站—-使用自己的ip访问jsp网站

最近我们做了个李宁的jsp项目&#xff0c;做完之后想在我们局域网的电脑上访问&#xff0c;并且通过这台机器的ip地址访问&#xff0c;通过多次配置&#xff0c;终于成功&#xff0c;以下是配置的过程。 一&#xff0c;首先将工程打包&#xff0c;打成war包&#xff0c;点击右键…

网站颜色编辑

HTML顏色指令格式&#xff1a; <body bgcolor顏色名稱text顏色名稱link顏色名稱vlink顏色名稱alink顏色名稱> 參數功用bgcolor背景顏色text文字顏色link未參觀過的鏈結顏色vlink已參觀過的鏈結顏色alink滑鼠按下鏈結未放開手之前的顏色顏色的指定有兩種方式。 第一種是利…

为IIS服务器配置SSL,并设置为默认使用https协议访问网站

要使网站支持https协议&#xff0c;需要SSL证书&#xff0c;我的服务器和域名都是在阿里云购买的&#xff0c;所以这里我演示阿里云获取SSL证书的方法 我先说下我的服务器环境&#xff1a;windows server 2012 IIS8.5 首先登录阿里云控制台&#xff0c;选择安全--》SSL 点击…

SOA 的免费电子书 网站

Pro WCF Practical Microsoft SOA Implementation 2007-08-22[SOA相关] Understanding Enterprise SOA 2007-08-22[SOA相关] Prentice Hall SOA Principles of Service Design 2007-08-22[SOA相关] Service-Oriented Architecture: Concepts, Technolo.. 2007-08-22[SOA相关] E…

[导入]愚人节游戏:测试你的网站的邪恶度

地址在: http://homokaasu.org/gematriculator/ 我的Blog首页面29%EVIL 71%GOOD 文章来源:http://Jorkin.Reallydo.Com/default.asp?id501转载于:https://www.cnblogs.com/pboy2925/archive/2008/04/01/1248051.html

大型网站架构演变和知识体系(转)

&#xff08;原文出处&#xff1a;http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html&#xff09; 之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演…

分享7个我常去的国外AjaxJquery网站

经常逛这些国外的网站&#xff0c;看到很不错的控件和Jquery的演示DEMO:今天拿出来和大家分享一番: Ajax Rain&#xff1a;http://www.ajaxrain.com/ AjaxRain有很多完美整合AJAX, CSS, DHTML 或 Javascript的实例&#xff0c;有一些Demo的确值得你去看一看 Ajax Daddy:http://…

金山安全实验室公布中国互联网六大类钓鱼网站

金山安全实验室公布中国互联网六大类钓鱼网站金山安全实验室研究人员对中国大陆钓鱼网站的普遍特征进行分析&#xff0c;发现以下六个领域最容易被钓鱼网站***&#xff1a;1.QQ十年庆典、QQ抽奖、腾讯活动&#xff1b;2.证券、股票分析、黑庄、理财专家等财经领域&#xff1b;3…