Laravel 5:在没有composer的情况下安装Form和HTML类

Ala*_*lan 3 laravel composer-php laravel-5 laravel-form laravelcollective

我有兴趣在没有作曲家的Laravel 5上安装Form和HTML类.我怎样才能做到这一点?

对于那些想要说服我使用作曲家的人:

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和运行时异常,输出空白错误.

Ala*_*lan 5

安装laracollective/html:

1)扩展的git存储库下载zip包

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',
Run Code Online (Sandbox Code Playgroud)

    'ClassPreloader\\Parser\\NodeTraverser' => $vendorDir . '/classpreloader/classpreloader/src/Parser/NodeTraverser.php',
Run Code Online (Sandbox Code Playgroud)

这样Laravel知道在需要时在哪里寻找这些类.

5)加入此行的最后一个元素return array(...)vendor/composer/autoload_files.php

$vendorDir . '/laravelcollective/html/src/helpers.php',
Run Code Online (Sandbox Code Playgroud)

6)此行添加到return array(...)vendor/composer/autoload_psr4.php

// 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
'Collective\\Html\\' => array($vendorDir . '/laravelcollective/html/src'),   
// 'ClassPreloader\\' => array($vendorDir . '/classpreloader/classpreloader/src'),
Run Code Online (Sandbox Code Playgroud)

7)将提供者添加到config/app.php的providers数组中:

'providers' => [
// ...
Collective\Html\HtmlServiceProvider::class,
// ...
Run Code Online (Sandbox Code Playgroud)

]

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

'aliases' => [
// ...
  'Form' => Collective\Html\FormFacade::class,
  'Html' => Collective\Html\HtmlFacade::class,
// ...
Run Code Online (Sandbox Code Playgroud)

]

参考文献:

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