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
用于处理后台页面以及登录后台。
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
创建视图
创建文件夹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
最简单的后台
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/