微信扫一扫打赏支持

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

 1 // 后台路由
 2 // 通过路由组 提取公共命名空间 公共的前缀
 3 Route::group(['namespace'=>'Admin','prefix'=>'admin'],function(){
 4     // 后台首页
 5     Route::get('/','IndexController@index');
 6     // 后台用户管理模块
 7     Route::resource('user','UserController');
 8     // 后台商品管理模块
 9     Route::resource('goods','GoodsController');
10 });

|||-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)

 

 

 

二、内容在总结中

 

 

 

 
posted @ 2019-05-08 19:50  范仁义  阅读(517)  评论(0编辑  收藏  举报