Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel立面立面存取器的工作_Php_Laravel_Laravel 5_Laravel 5.1_Laravel Facade - Fatal编程技术网

Php laravel立面立面存取器的工作

Php laravel立面立面存取器的工作,php,laravel,laravel-5,laravel-5.1,laravel-facade,Php,Laravel,Laravel 5,Laravel 5.1,Laravel Facade,我见过这样的课程,他们使用facade并在acessor上注册一些东西 use Illuminate\Support\Facades\Facade; /** * @see \Collective\Html\FormBuilder */ class FormFacade extends Facade { /** * Get the registered name of the component. * * @return string */

我见过这样的课程,他们使用facade并在acessor上注册一些东西

use Illuminate\Support\Facades\Facade;

/**
 * @see \Collective\Html\FormBuilder
 */
class FormFacade extends Facade {

    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor() { return 'form'; }

}

它只是从laravel软件包中提取出来的,它只是返回了facade,但返回表单实际上是做什么的呢?

laravel的facades是一种服务的“网关”。让代码看起来更可读是“语法糖”。所以,如果你做了如下事情:

Form::open(array('route' => 'route.name'));
您实际要做的是要求应用程序解析以“form”作为密钥配置的服务提供商。这是另一种方法:

app('form')->open(array('route' => 'route.name'));
事实上,您也可以用旧的方式来做,但是DI(依赖注入)是一个很好的工具:

// Rough example without the actual parameters
$form = new Illuminate\Html\FormBuilder();
$form->open(array('route' => 'route.name'));

为什么要在这里注册,因为我们必须在app.php上注册form serviceprovider,比如'form'=>Collective\Html\FormFacade::class,这种服务体系结构的一大好处是如果您想使用其他东西,您可以在一个地方交换服务的
表单
关键点,而不必到处更改代码。对于我给您带来的不便,我不理解您的歉意