laravel基础课程---4、Laravel基础网站结构搭建
laravel基础课程---4、Laravel基础网站结构搭建
一、总结
一句话总结:
1、搭建网站前后台路由:在路由组Route::group()中设置好命名空间和前缀
2、搭建控制器:比如1)新建Admin目录,存放后台控制器;2)新建Home目录,存放前台控制器
3、搭建页面:在resources的views中创建我们的我们需要的页面即可
前后台路由
// 前台路由
Route::group(['namespace'=>'Home'],function(){
// 前台首页
Route::get('/',"IndexController@index");
}); // 后台路由
// 通过路由组 提取公共命名空间 公共的前缀
Route::group(['namespace'=>'Admin','prefix'=>'admin'],function(){
// 后台首页
Route::get('/','IndexController@index');
// 后台用户管理模块
Route::resource('user','UserController');
// 后台商品管理模块
Route::resource('goods','GoodsController');
});
后台控制器:根据路由的需要创建控制器(以后台为例 需要修改命名空间)
IndexController.php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller;
use DB; // 后台首页控制器
class IndexController extends Controller
{
// 后台首页方法 public function index(){
echo "我是后台首页";
}
}
引入页面:在对应控制器中reture view()
1、后台首页控制器
public function index(){
// 引入页面
return view('admin.index');
}
1、通过路由提取 【公共命名空间】和【公共的前缀】分别对应的作用是什么?
【公共的前缀】相当于是加在文件路径前面的:比如prefix是admin,就相当于后台用户管理模块的文件为 admin/user
【公共命名空间】 相当于是加在控制器的前面:比如namespace是Admin,就相当于是用户管理模块的控制器为 Admin/UserController
|||-begin
// 后台路由
// 通过路由组 提取公共命名空间 公共的前缀
Route::group(['namespace'=>'Admin','prefix'=>'admin'],function(){
// 后台首页
Route::get('/','IndexController@index');
// 后台用户管理模块
Route::resource('user','UserController');
// 后台商品管理模块
Route::resource('goods','GoodsController');
});
|||-end
2、使用laravel搭建网站的前后台 需要管理的路由的文件位置是哪里?
routes下的web.php
(D:\laravel\yzmedu\yzm2\routes\web.php)
3、thinkphp中的处理和显示页面在一个函数中(比如修改操作和显示修改页面),laravel对应的呢?
laravel默认好像是分开的
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller;
use DB; // 后台用户管理首页控制器
class UserController extends Controller
{
// 后台用户管理首页方法 public function index(){ // 加载用户管理页面
return view('admin.user.index');
} // 后台用户管理修改页面
public function edit(){
return view('admin.user.edit'); }
// 后台用户管理添加页面
public function create(){
return view('admin.user.create'); } // 添加操作
public function store(){ } // 修改操作
public function update(){ } // 删除操作
public function destory(){ } }
4、laravel的模板继承是什么样的?
存同写异:公共区域被提取出来【比如侧边栏,底部栏】,我们只需要在页面中继承,然后编写页面间不同的位置即可
在公共文件中弄好模板【比如sidebar和内容】:内容区域用@yield('content')占位,视图区块用 @section('sidebar') 来占位
子页面继承: @extends('layouts.app')
<!-- 文件保存于 resources/views/layouts/app.blade.php --> <html>
<head>
<title>应用程序名称 - @yield('title')</title>
</head>
<body>
@section('sidebar')
这是 master 的侧边栏。
@show <div class="container">
@yield('content')
</div>
</body>
</html>
子页面继承
<!-- Stored in resources/views/child.blade.php -->
@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
5、模板布局 的作用以及实例?
主要解决网站后台公共部分的修改
实例:建立模板文件(视图中)+ 替换占位符位置
0、主要解决网站后台公共部分的修改 1、需要在视图目录下新建muban模板 2、新建一个模板文件 admin.blade.php
<html>
<head>
</head>
<body>
#不一样的地方需要使用
@yield('main')
</body>
</html> 3、普通页面如何书写
#继承模板
@extends('muban.admin') #替换占位的内容
@section('main')
<!-- 内容 -->
<div class="col-md-10"> <div class="jumbotron">
<img src="/admins/img/4.jpg"height="310px" width="100%" alt="">
<h2>联想 后台管理系统</h2>
<p>开发者 : 赵丰泰</p>
</div>
</div> @endsection
6、中间件使用实例?
书写路由:Route::group(['namespace'=>'Admin','prefix'=>'admin','middleware'=>'adminLogin'],function(){
创建中间件:php artisan make:middleware adminLogin
注册中间件:在app的Http的kernel.php中
中间件作用:比如可以【判断用户是否登录,判断session中是否有数据】,和tp中我写在base基础控制器中的东西比较像
1、路由如何书写
// 通过路由组 提取公共命名空间 公共的前缀 中间件 Route::group(['namespace'=>'Admin','prefix'=>'admin','middleware'=>'adminLogin'],function(){ // 后台首页
Route::get('/','IndexController@index'); }); 2、如何新建中间件
php artisan make:middleware adminLogin 3、注册中间件(D:\laravel\yzmedu\yzm2\app\Http\kernel.php)
protected $routeMiddleware = [
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'adminLogin' => \App\Http\Middleware\AdminLogin::class,
]; 4、打开中间件(D:\laravel\yzmedu\yzm2\app\Http\Middleware\adminLogin.php)
二、内容在总结中
laravel基础课程---4、Laravel基础网站结构搭建的更多相关文章
- (大数据工程师学习路径)第四步 SQL基础课程----其他(基础练习到此为止)
一.准备 在正式开始本内容之前,需要先从github下载相关代码,搭建好一个名为mysql_shiyan的数据库(有三张表:department,employee,project),并向其中插入数据. ...
- 03_java基础(五)之项目结构搭建
1.结构图 2.dao代码编辑 package com.day01.station.dao; /** * Created by Administrator on 2018/2/1. */ public ...
- laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...
- laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)
laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)
laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
- laravel基础课程---14、表单验证(lavarel如何进行表单验证)
laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...
- laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)
laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...
随机推荐
- MongoDB基本文件操作
MongoDB中主要的文件操作有put.get.list.search几种.能够非常方便地进行文件存储于查找,下面是一个简单的演示样例. 1.利用dd命令生成要求大小随机文件 2.使用put命令将生 ...
- 【Sprint3冲刺之前】TD学生助手测试用例
项目名称 TDzhushou 项目承担部门 骐骥之队 完成日期 2014/5/29 历史版本: 版本/状态 作者 参与者 起止日期 备注 TDzhushou1.1 解凤娇 骐骥之队 5/3-5/7 2 ...
- 基于RedHat发行的Apache Tomcat本地提权漏洞
描述 Tomcat最近总想搞一些大新闻,一个月都没到,Tomcat又爆出漏洞.2016年10月11日,网上爆出Tomcat本地提权漏洞,漏洞编号为CVE-2016-5425.此次受到影响的主要是基于R ...
- 关于ejabberd限制单点登录
ejabberd 是对xmpp协议的完全实现,那么单纯的ejabberd是不提供该功能限制的,但是从我们的xmpp协议则可以完全的解决这个问题,我们通过jid对它进行限制,下面可以看一下jid的解释: ...
- vue 流程设计器
github地址:https://github.com/280780363/gucflow.designer demo地址:https://280780363.github.io/gucflow.de ...
- SAP Sybase SQLAnywhere[ASA]数据库中数据行的存储机制
SQLAnywhere[ASA]数据库(以下简称ASA)中的数据库文件,是如何存储普通的表的记录行呢?插入.更新.删除时,记录行的存储会有什么变化? 了解了这些,才能更好的理解如何对ASA数据库进行调 ...
- Android 红色小圆球提示气泡 BadgeView
今天给大家分享两个实用有简单的一个小圆球提示气泡: BadgeView 参考地址: https://github.com/qstumn/BadgeView; 个人地址:http://git ...
- TP框架部分--文件目录及作用
下载thinkphp3.2.3版本,解压缩后将文件夹名字改为thinkphp,然后放在www目录下,里面的文件夹和文件的名字和作用如下:(前面有Tab健的表示下一级,thinkphp是根目录)//th ...
- 实现RTSP网站微信直播方案EasyNVR(linux版)部署问题之:ERR_CONTENT_LENGTH_MISMATCH
发现问题: 想要优化一下EasyNVR相关功能,内部测试软件,于是在linux系统中部署了一台EasyNVR.当部署好,运行起来发现问题: EasyNVR的配置页面数据出不来. 分析问题: 基于是we ...
- EasyNVR H5无插件摄像机直播解决方案前端解析之:监控实时直播的四分屏的前端展示
完成运行效果图: 一.四分屏展示样式布局 1.通过html.css等来进行样式排版 根据需求的四分屏的样式:来合理的划分出四个大块,分别用于放置四个播放器: 以四等分结构为例进行前端的排版: html ...