it-swarm.com.de

Laravel 5 Klasse 'Formular' nicht gefunden

Ich habe "illuminate/html": "5. *" zu composer.json hinzugefügt und "composer update" ausgeführt. 

  - Installing illuminate/html (v5.0.0)
    Loading from cache

Ich habe diesen Befehl im Stammverzeichnis der Website ausgeführt. Ich habe die Datei composer.json in /root/.composer .. und im Stammverzeichnis des Projekts geändert und keinen Unterschied gemacht.

Dies hat die Klasse heruntergeladen und es schien zu installieren. Ich habe folgendes zu config/app.php hinzugefügt

    'Illuminate\Html\HtmlServiceProvider', 

    'Form'      => 'Illuminate\Html\FormFacade',
    'Html'      => 'Illuminate\Html\HtmlFacade',

Ich glaube, ich habe eine Idee, was falsch ist, aber ich weiß nicht, wie ich es reparieren soll. Meine Installation befindet sich in '/ var/www/website'. Ich habe den Dateipfad überprüft und der HTML-Ordner existiert nicht.

"/var/www/website/vendor/laravel/framework/src/Illuminate/Html"

ich konnte die Klassendateien aber in einem anderen Verzeichnis finden. 

"/var/www/website/vendor/illuminate/html"

Ich habe die Dateien manuell in den Hauptordner von laravel illuminate/html kopiert, aber das hat auch nicht funktioniert.

57
Dan Hastings

Dies ist möglicherweise nicht die Antwort, die Sie suchen, aber ich würde die Verwendung des jetzt von der Community verwalteten Repository Laravel Collective Forms & HTML empfehlen, da die wichtigsten Repositorys nicht mehr verwendet werden.

40
mhanson01

Form ist nicht in laravel5.0 enthalten, da es am 4.0 war.

Beginnen Sie mit der Installation des laravelcollective/html-Pakets über Composer. Bearbeiten Sie die composer.json-Datei Ihres Projekts wie folgt: 

"require": {
    "laravelcollective/html": "~5.0"
}

Aktualisieren Sie als Nächstes composer vom Terminal:

composer update

Fügen Sie als Nächstes Ihren neuen Provider dem providers-Array von config/app.php hinzu:

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

Fügen Sie dem aliases-Array von config/app.php schließlich zwei Klassenaliase hinzu:

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

An diesem Punkt sollte Form funktionieren 

SRC:

https://laravelcollective.com/docs/5.0/html

70
Pedro Lobito

Sie können auch versuchen, die folgenden Befehle in Terminal oder Command auszuführen:
1. composer dump-auto oder composer dump-auto -o 
2. php artisan cache:clear 
3. php artisan config:clear 

Das obige funktionierte für mich

20
user28864

Es gibt ein Update für Laravel 5.2. Beachten Sie, dass dies ein etwas anderes Format ist als oben angegeben.

Beginnen Sie mit der Installation dieses Pakets über Composer. Bearbeiten Sie die Datei composer.json Ihres Projekts, um laravelcollective/html zu erfordern.

"require": {
    "laravelcollective/html": "5.2.*"
}

Als nächstes aktualisieren Sie Composer vom Terminal aus:

composer update

Als nächstes fügen Sie Ihren neuen Provider dem Provider-Array config/app.php hinzu:

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

Fügen Sie dem Alias-Array von config/app.php schließlich zwei Klassen-Aliase hinzu:

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

Nach diesem Update funktionierte dieser Code für mich bei einer Neuinstallation von Laravel 5.2:

{!! Form::open(array('url' => 'foo/bar')) !!}
    //
{!! Form::close() !!}

Ich habe diese Informationen hier: https://laravelcollective.com/docs/5.2/html

10
jessier3

Geben Sie einfach den folgenden Befehl in terminal im Projektverzeichnis ein und die Installation erfolgt entsprechend der Laravel-Version:

composer require "laravelcollective/html"

Fügen Sie dann diese Zeilen in config/app.php hinzu.

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

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

Beginnen Sie mit der Installation dieses Pakets über Composer. Führen Sie im Terminal Folgendes aus:

composer require "laravelcollective/html":"^5.3.0"

Als nächstes fügen Sie Ihren neuen Provider dem Provider-Array config/app.php hinzu:

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

Fügen Sie dem Alias-Array von config/app.php schließlich zwei Klassen-Aliase hinzu:

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

SRC:

https://laravelcollective.com/docs/5.3/html

3
Raham

In Laravel Version 4 war HTML & Form bereits vorhanden, jedoch nicht jetzt.

Warum :

Der einzige Grund ist, dass sie einige Benutzeranforderungen gesammelt haben und sie es leichter machen möchten. Daher haben sie es entfernt, da der Benutzer es manuell hinzufügen kann.

Was ist zu tun, um HTML & Forms in Laravel 5.2 oder 5.3 hinzuzufügen:

Zu 5.2:

Gehen Sie zum Laravel Collective-Standort und Installationsprozesse haben ihre demonstriert.

Wie für 5.2: Führen Sie den Befehl in der Befehlszeile aus

composer require "laravelcollective/html":"^5.2.0"

Dann in provider Array, das sich in config/app.php befindet. Fügen Sie diese Zeile zuletzt mit einem Komma (,) ein.

Collective\Html\HtmlServiceProvider::class,

Um HTML- und FORM-Text verwenden zu können, müssen wir sie in Alias-Array von config/app.php Aliase verwenden. Fügen Sie die beiden Zeilen als letzte hinzu

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,

Und für 5.3:

Führen Sie einfach den Befehl aus 

composer require "laravelcollective/html":"^5.3.0"

Und der Rest des Verfahrens ist wie 5.2

Dann können Sie Laravel Form und andere HTML-Links in Ihren Projekten verwenden. Folgen Sie dazu dieser Dokumentation:

5.2:https://laravelcollective.com/docs/5.2/html

5.3:https://laravelcollective.com/docs/5.3/html

Demo Code: So öffnen Sie ein Tag zum Öffnen und Schließen eines Formulars:

{!! Form::open(['url' => 'foo/bar']) !!}

{!! Form::close() !!}

Und zum Erstellen von Beschriftung und Eingabetext mit einer Bootstrap-Formularsteuerungsklasse und für andere Zwecke:

{!! Form::label('title', 'Post Title') !!}
{!! Form::text('title', null, array('class' => 'form-control')) !!}

Und für mehr nutzen Sie die Dokumentation https://laravelcollective.com/

1

Ich habe alles versucht, aber nur das hat geholfen:

php artisan route:clear
php artisan cache:clear
0

Verwenden Sie Form nicht form, die Großschreibung zählt. 

0
kpp