手记

ShareErrorsFromSession.php

<?php

 

namespace Illuminate\View\Middleware;

 

use Closure;

use Illuminate\Support\ViewErrorBag;

use Illuminate\Contracts\View\Factory as ViewFactory;

 

class ShareErrorsFromSession

{

    /**

     * The view factory implementation.

     *

     * @var \Illuminate\Contracts\View\Factory

     */

    protected $view;// The view factory implementation

 

    /**

     * Create a new error binder instance.

     *

     * @param  \Illuminate\Contracts\View\Factory  $view

     * @return void

     */

    public function __construct(ViewFactory $view)

    {

        $this->view = $view;//set this view

    }//Create a new error binder instance.

 

    /**

     * Handle an incoming request.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  \Closure  $next

     * @return mixed

     */

    public function handle($request, Closure $next)

    {//Handle an incoming request.

        // If the current session has an "errors" variable bound to it, we will share

        // its value with all view instances so the views can easily access errors

        // without having to bind. An empty bag is set when there aren't errors.

        $this->view->share(

            'errors', $request->session()->get('errors') ?: new ViewErrorBag

        );//If the current session has an "errors" variable bound to it,we will share

       //its value with all view instances so the views can easily access errors

       //without having to bind. An empty bag is set when there aren't errors.

 

        // Putting the errors in the view for every view allows the developer to just

        // assume that some errors are always available, which is convenient since

        // they don't have to continually run checks for the presence of errors.

 

        return $next($request);

       //Putting the errors in the view for every view allows the developer to just

       // assume that some errors are always available, which is convenient since

       // they don't have to continually run checks for the presence of errors.

    }

}

0人推荐
随时随地看视频
慕课网APP