美文网首页
laravel学习day 2 - section 1: 组件,l

laravel学习day 2 - section 1: 组件,l

作者: 妙啊啦 | 来源:发表于2019-02-14 16:20 被阅读0次

    laravel collective

    网站 https://laravelcollective.com/

    安装

    在composer.json 中添加 , "laravelcollective/html": "~5.0", 如下

     "require": {
            "php": "^7.1.3",
            "fideloper/proxy": "^4.0",
            "laravel/framework": "5.7.*",
            "laravel/tinker": "^1.0",
            "laravelcollective/html": "~5.0"
        },
    

    并且在terminal 中运行

    composer update 
    

    增加providers

      'providers' => [
        // ...
        Collective\Html\HtmlServiceProvider::class,
        // ...
      ],
    

    ** 最后,增加alias**

      'aliases' => [
        // ...
          'Form' => 'Collective\Html\FormFacade',
          'Html' => 'Collective\Html\HtmlFacade',
        // ...
      ],
    

    ******************************************** 这个是分割线 ********************************************

    添加一个form

     {!! Form::open(array('url' => 'contact/submit')) !!}
            <div class="form-group">
                {{Form::label('username', 'username')}}
                {{Form::text('username', '', ['class'=>"form-control", 'placeholder'=>"enter your username"])}}
                {{-- name, value, [class, placeholder] --}}
            </div>
            <div class="form-group">
                {{Form::label('email', 'E-Mail Address')}}
                {{Form::text('email', '', ['class'=>'form-control', 'placeholder'=>"enter your email"])}}
            </div>
            <div class="form-group">
                {{Form::label('message', 'Message')}}
                {{Form::textarea('message', '', ['class'=>'form-control', 'placeholder'=>"enter your message"])}}
            </div>
            <div>
                {{Form::submit("Submit", ['class'=>'btn btn-primary'])}}
            </div>
    
        {!! Form::close() !!}
    

    ******************************************** 这个是分割线 ********************************************

    controller 和 route的设置

    提交表格,router中设置

    Route::post('/contact/submit', 'MessageController@submit');
    

    创建controlelr: terminal中运行

    php artisan make:controller MessageController   
    

    controller 的文件夹在app/http下面的controllers folder中,下图阐述了router和controller的基本关系


    Screen Shot 2019-02-14 at 15.25.26 pm.png

    ******************************************** 这个是分割线 ********************************************

    构建controller

    写一个 submit controller,并且获取username的value

    class MessageController extends Controller
    {
        public function submit(Request $request){
            // 接受的是一个 class
            return $request->input('username');
    
        }
    }
    

    form 和 controller的关系,对应如下图


    Screen Shot 2019-02-14 at 15.32.24 pm.png

    ******************************************** 这个是分割线 ********************************************

    form 的 validation

    在controller中实现

    public function submit(Request $request){
            $this->validate($request, [
                'name'=>'required',
                'email'=>'required',
            ]);
          return "success" // 先在这里return success,之后会添加页面
        }
    

    全域error显示

    这里要说一下,laravel里面,其实是php里面,有一种value,value, 是全域的,所以这里我们用一个全域error来展示

    @if(count($errors) > 0) 
        @foreach ($errors->all() as $error)
            <div class="alert alert-danger">
                {{$error}} 
            </div>
    @endforeach @endif
    

    相关文章

      网友评论

          本文标题:laravel学习day 2 - section 1: 组件,l

          本文链接:https://www.haomeiwen.com/subject/vgkeeqtx.html