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基础网站结构搭建的更多相关文章

  1. (大数据工程师学习路径)第四步 SQL基础课程----其他(基础练习到此为止)

    一.准备 在正式开始本内容之前,需要先从github下载相关代码,搭建好一个名为mysql_shiyan的数据库(有三张表:department,employee,project),并向其中插入数据. ...

  2. 03_java基础(五)之项目结构搭建

    1.结构图 2.dao代码编辑 package com.day01.station.dao; /** * Created by Administrator on 2018/2/1. */ public ...

  3. laravel基础课程---16、数据迁移(数据库迁移是什么)

    laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...

  4. laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)

    laravel基础课程---1.laravel安装及基础介绍(laravel如何安装) 一.总结 一句话总结: [修改composer镜像地址].[明确laravel的安装要求].[安装指定版本的la ...

  5. laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

    laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...

  6. laravel基础课程---2、Laravel配置文件、路由及php artisan(php artisan是什么)

    laravel基础课程---2.Laravel配置文件.路由及php artisan(php artisan是什么) 一.总结 一句话总结: PHP工具匠:php artisan,其实本身就是一些PH ...

  7. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  8. laravel基础课程---14、表单验证(lavarel如何进行表单验证)

    laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...

  9. laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)

    laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...

随机推荐

  1. oracle 使用job定时自动重置sequence

    一.赋予用户创建和删除sequence的权限 grant create any sequence to user_name; grant drop any sequnce to user_name; ...

  2. HttpClient 模拟登录搜狐微博

    http://mengyang.iteye.com/blog/575671 第一次遇到一个这样的问题,"PKIX path building failed" 异常   详解异常:  ...

  3. 文件I/O之C标准库函数和系统库函数差别

    1.首先C标准库函数是工作在系统库函数之上的.C标准库函数在读写文件时候都有一个文件流指针.FILE*fp=NULL;// fp=fopen(F_PATH,"r"); fp文件流指 ...

  4. 使用构建工具gradle打包时,遇到的中文问题和解决方式

    1.使用gradle  clean  war 命令将项目打成war包.这一过程gradle没有提示报错. 2.将得到的myapp.war复制到tomcat下webapps(部署war包) 3.启动to ...

  5. java 表示当前时间的第二天的几点

    Calendar cal = Calendar.getInstance();  cal.setTime(new Date());  cal.add(Calendar.DAY_OF_YEAR, 1);  ...

  6. OpenSUSE 13.1上安装StrongSwan

    结果: 1)iOS 7.1设备能够拨IPSec VPN到StrongSwan电脑上面来 - Connect to VPN 2)iOS 设备浏览器能够訪问StrongSwan VPN所在的内网地址服务器 ...

  7. 疑问:使用find_elements_by_ios_predicate定位元素组,获取元素的index没有按照顺序

    通过ios Appium Inspect查看到的元素信息如下: eList=self.driver.find_elements_by_ios_predicate('type == “XCUIEleme ...

  8. 【Python + Selenium】初次用IE浏览器之报错:selenium.common.exceptions.WebDriverException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones.

    初次用IE浏览器运行自动化程序时,报错:selenium.common.exceptions.WebDriverException: Message: Unexpected error launchi ...

  9. Android 开发小工具之:Tools 属性 (转)

    Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但 ...

  10. 基于imgAreaSelect的用户图像截取

    前言:想到用户资料中一般有个图像自我截取的部分,为什么要截取呢,因为好看了.so,经过我各种百度,各种参考,终于打工搞成了,写下纪念纪念,让以后拿来就用也好. 一:想前端ui这东西,我就懒得说话了,哎 ...