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. remove-duplicates-from-sorted-list I&II——去除链表中重复项

    I.Given a sorted linked list, delete all duplicates such that each element appear only once. For exa ...

  2. C++里面定时器的使用

    说白了就是三个函数的使用: SetTimer(20, 20, 0); //第一个20表示此定时器的标识符,第二个20表示你要定的时间,第三个不用管,设0即可. void CLMS511_interfa ...

  3. SpringMVC:前台jsp页面和后台传值

    前台jsp页面和后台传值的几种方式: 不用SpringMVC自带的标签 前台---->后台,通过表单传递数据(): 1.jsp页面代码如下,  modelattribute 有没有都行 < ...

  4. linux 安装jdk和tomcat

    安装jdk 下载相关jdk .rpm包,如:jdk-8u31-linux-i586.rpm 解压:#rpm -ivh jdk-8u31-linux-i586.rpm 配置环境变量:#vi  /etc/ ...

  5. React学习之事件绑定

    React事件绑定有主要有三种方式 第一种官方推荐方式: class LoginControl extends React.Component {   constructor(props) {     ...

  6. Log4net日志记录、详细配置(自己使用>)

    log4net库是Apache log4j框架在Microsoft.NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具 1.首先添加对log4net.dll的引 ...

  7. 双十一前4小时,CentOS 6.5server启动错误排查

    11月10日晚上8点多.眼看要到双十一了... 但我要说的这段经历却和双十一毫无关系.哈哈. 这天准备向CentOS6.5server的svn上传一些文件,结果开机启动时,却出现了以下的界面: 这是肿 ...

  8. linux history 命令 禁用history

    保存在.bash_history文件中,默认1000条,你也可以更改这个 值 !!:上一个指令 !number 运行第几个指令 查看命令历史的时间戳,那么可以执行: # export HISTTIME ...

  9. php中的字符串和正則表達式

    一.字符串类型的特点 1.PHP是弱类型语言,其它数据类型一般都能够直接应用于字符串函数操作. 1: <? php 2: echo substr("123456",2,4); ...

  10. Python中文编码过程中遇到的一些问题

    首先,要明确encode()和decode()的差别 encode()的作用是将Unicode编码的字符串转换为其它编码格式. 比如:st1.encode("utf-8")  这句 ...