Lavarel入门

显示视图

在lavarel中,所有的html模板都保存在resources/views目录,且我们可以在路由中使用view辅助函数来返回指定模板文件:

Route::get('/', function () {
    return view('tasks');
});

定义布局

为解网站的公共布局样式,减少代码的冗余性,lavarel使用Blade布局让不同页面共用这些相同的布局。
我们可以新建一个布局视图至resources/view/layouts/app.php中。”.blade.php”扩展名将会告知框架使用Blade模板引擎渲染此视图。如下app.blade.php:

//resources/views/layouts/app.pho
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Lavarel 快速入门 - 基础</title>
    </head>
    <body>
        <div class = "container">
            <nav class="navbar navbar-default">
                //navhar 内容
            </nav>
        </div>

        @yield('content')

    </body>
</html>

注意不居中的@yield(‘content’)部分。这是一个特殊的Blade命令,可以将子页面的内容注入到这里。下面我们来定义子视图。

定义子视图

创建子视图resources/views/tasks.blade.php,内容如下:

//resources/views/tasks.blade.php

@extends('layouts.app')

@section('content')
    <div class="panel-body">
        <!-- 显示验证错误 -->
        @include('common.errors')
        <!-- 新任务的表单 -->
        <form action="/task" method="post" class="form-horizontal">
            {{csrf_field() }}
            <!-- 任务名称 -->
            <div class="form-group">
                <labek for="task" class="col-sm-3 control-label">Task</label>
                <div class="col-sm-6">
                    <input type="text" name="name" id="task-name" class="form-control">
                </div>
            </div>

            <!-- 增加任务按钮 -->
            <div class="form-group">
                <div class="col=sm-offset-3 col-sm-6">
                    <button type="button" class="btn btn-default">
                        <i class="fa fa-plus"></i>增加任务
                    </button>
                </div>
            </div>
        </form>
    </div>
@endsection

注:
- @extends命令会告知Blade我们使用了定义在resources/views/layouts/app.blade.php中的布局。
- @section(‘content’)及@endsection之间的内容都会被注入到app.blade.php布局中的@yield(‘content’)位置上。

返回视图

在/路由中返回视图:

Route::get('/', function() {
    return view('tasks');
});

配置路由

在网站目录架构的routes文件夹中的web.php文件中配置网站中的所有路由信息,实例值如下:

Route::group(['namespace'=>'Backend', 'middleware'=>'auth'], function() {
    Route::post('reconmmend-purchase', 'RecommendController@purchase');
    Route::post('reconmmend-supply', 'RecommendController@supply');
    Route::get('occount', 'HomeController@index');
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Laravel 中,适配器模式(Adapter Pattern)可以帮助你将一个类的接口转换成另一个类的接口,以便两个类能够协同工作。适配器模式在 Laravel 中广泛应用于与外部服务和组件的集成。 在适配器模式中,三个关键角色: 1. 目标接口(Target Interface):定义了客户端代码期望的接口。 2. 适配器(Adapter):实现了目标接口,并且通过包装一个已有的类来实现目标接口的方法。 3. 被适配者(Adaptee):已有的类,其接口与目标接口不兼容。 在 Laravel 中,适配器模式常见的应用场景是与外部服务进行集成。例如,你可能需要将一个第三方支付服务的接口适配成 Laravel 中的统一支付接口,以便在不同的支付服务之间切换时不需要修改大量代码。 以下是一个简单的示例: ```php // 目标接口 interface PaymentGateway { public function pay($amount); } // 适配器 class ThirdPartyPaymentAdapter implements PaymentGateway { protected $thirdPartyPaymentService; public function __construct(ThirdPartyPaymentService $thirdPartyPaymentService) { $this->thirdPartyPaymentService = $thirdPartyPaymentService; } public function pay($amount) { $this->thirdPartyPaymentService->processPayment($amount); } } // 被适配者 class ThirdPartyPaymentService { public function processPayment($amount) { // 调用第三方支付服务的接口 } } // 客户端代码 $thirdPartyPaymentService = new ThirdPartyPaymentService(); $paymentGateway = new ThirdPartyPaymentAdapter($thirdPartyPaymentService); $paymentGateway->pay(100); ``` 在上述示例中,我们定义了一个目标接口 `PaymentGateway`,适配器 `ThirdPartyPaymentAdapter` 实现了该接口,并通过包装 `ThirdPartyPaymentService` 类来实现目标接口的方法。客户端代码通过适配器来调用支付接口。 通过适配器模式,我们可以将第三方支付服务的接口适配成 Laravel 中的统一支付接口,以便在应用中使用统一的接口进行支付操作。 请注意,这只是一个简单示例,实际应用中可能涉及更复杂的逻辑和配置。适配器模式的具体实现方式会根据场景和需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值