• 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 AppHttpControllersAdmin;
    
    use IlluminateHttpRequest;
    
    use AppHttpControllersController;
    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:laravelyzmeduyzm2
    outesweb.php)

    3、thinkphp中的处理和显示页面在一个函数中(比如修改操作和显示修改页面),laravel对应的呢?

    laravel默认好像是分开的
    <?php
    
    namespace AppHttpControllersAdmin;
    
    use IlluminateHttpRequest;
    
    use AppHttpControllersController;
    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:laravelyzmeduyzm2appHttpkernel.php)
        protected $routeMiddleware = [
            'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
            'adminLogin' => AppHttpMiddlewareAdminLogin::class,
        ];
    
    
    4、打开中间件(D:laravelyzmeduyzm2appHttpMiddlewareadminLogin.php)

    二、内容在总结中

     
  • 相关阅读:
    Hadoopif.for.while 语句
    完全分布模式的四大模块设置
    语法糖定义
    Karaf 依赖equinox and felix,karaf 本Apache的很多项目作为基础框架
    Karaf 基于 osgi
    MEF(Managed Extensibility Framework) 微软平台插件化开发
    析构函数,构造函数
    C#和ASP.Net面试题目集锦
    论C# java的基本类型
    Boolean.parseBoolean("true") 和 Boolean.getBoolean("true");的区别及用法
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10834117.html
Copyright © 2020-2023  润新知