Laravel 5: 安装 Form 和 HTML 类 没有作曲家

Laravel 5: Installing Form and HTML classes without composer

我有兴趣在没有作曲家的情况下在 Laravel 5 上安装 Form 和 HTML 类。 我该怎么做?

对于那些想说服我使用 composer 的人:

1) 我想通过自己至少手动操作一次来了解它的作用。

2) 我的主机上没有作曲家。

3) 使用composer.phar 抛出错误:Script php artisan clear-compiled handling the pre-update-cmd event returned with an error,给出警告:Warning: Composer should be invoked via the CLI version of PHP, not the cgi-fcgi SAPI 和运行时异常,错误输出为空白。

正在安装laracollective/html:

1)extension's git repository

下载压缩包

2) 解压缩内容并创建此目录结构:laravelcollective/html/{contents of html-5.1 directory}

3) 将此结构复制到 Laravel 安装中的 vendor 文件夹。

4)vendor/composer/autoload_classmap.php 添加这些行

'Collective\Html\FormBuilder' => $vendorDir . '/laravelcollective/html/src/FormBuilder.php',
'Collective\Html\FormFacade' => $vendorDir . '/laravelcollective/html/src/FormFacade.php',
'Collective\Html\HtmlBuilder' => $vendorDir . '/laravelcollective/html/src/HtmlBuilder.php',
'Collective\Html\HtmlFacade' => $vendorDir . '/laravelcollective/html/src/HtmlFacade.php',
'Collective\Html\HtmlServiceProvider' => $vendorDir . '/laravelcollective/html/src/HtmlServiceProvider.php',

之后

    'ClassPreloader\Parser\NodeTraverser' => $vendorDir . '/classpreloader/classpreloader/src/Parser/NodeTraverser.php',

以便 Laravel 知道在请求时在哪里寻找这些 classes。

5) 将此行作为最后一个元素添加到 vendor/composer/autoload_files.php

中的 return array(...)
$vendorDir . '/laravelcollective/html/src/helpers.php',

6) 将此行添加到 vendor/composer/autoload_psr4.php

中的 return array(...)
// 'Doctrine\Instantiator\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
'Collective\Html\' => array($vendorDir . '/laravelcollective/html/src'),   
// 'ClassPreloader\' => array($vendorDir . '/classpreloader/classpreloader/src'),

7) 添加提供商到 config/app 的提供商数组。php:

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

],

8) 将两个class别名添加到config/app的别名数组中。php:

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

],

参考文献:

http://laravelcollective.com/docs/5.1/html