Heim  >  Artikel  >  PHP-Framework  >  Was ist der Unterschied zwischen Laravel und Thinkphp?

Was ist der Unterschied zwischen Laravel und Thinkphp?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-11-11 10:56:0811137Durchsuche

Was ist der Unterschied zwischen Laravel und Thinkphp?

1. Verschiedene Möglichkeiten zum Rendern von Vorlagen

Verwenden Sie im Laravel-Framework return view(), um das zu rendern template ;ThinkPHP verwendet die Methode $this->display() zum Rendern von Vorlagen.

2. In der tatsächlichen Entwicklung stoßen wir häufig auf das Problem, dass der Entwicklungsort nicht festgelegt ist.

Dies führt dazu, dass wir die Datenbankkonfiguration häufig ändern, was zu Problemen bei der Entwicklungsarbeit führt. TP hat diese „Katastrophe“ immer noch nicht vermieden. Im Laravel-Framework löst das Aufkommen von .env-Umgebungsdateien dieses Problem. Wir müssen die .env-Datei nur an verschiedenen Arbeitsorten konfigurieren und müssen sie nicht erneut konfigurieren, denn unabhängig davon, ob es sich um Git oder SVN handelt, „.env wird nicht zusammen mit der Datei an den Server gesendet.“

3. Das Laravel-Framework bietet eine große Anzahl von Abschlüssen

Als Neuling verwende ich derzeit nur die Use-Methode, also die Verwendung äußerer Variablen im Inneren die Funktion.

4. Verschiedene Punkte, die bei der Übergabe von Werten in Post zu beachten sind

Im Laravel-Framework, da es standortübergreifende Angriffe berücksichtigt, wenn Sie das verwenden form, um den Wert in post, value zu übergeben. Wenn {{csrf_field()}} nicht zum Formular hinzugefügt wird, wird ein TokenMethodnotfound-Syntaxfehler gemeldet und das TP-Framework muss den Code manuell vervollständigen, um standortübergreifende Angriffe zu verhindern.

5. Unterschiede in der Art und Weise, bedingte Urteilsanweisungen zu schreiben

Andere Urteilsanweisungen und foreach-Anweisungen im Laravel-Framework müssen mit @if beginnen und mit @endif enden wenn geschrieben. Wenn nicht, wird ein Syntaxfehler gemeldet, @foreach @endforeach ist dasselbe und das TP-Framework wird auf die gleiche Weise wie die PHP-Syntaxregeln verwendet, wobei die if esle-Anweisung direkt zum Beurteilen und Durchlaufen der foreach-Schleife verwendet wird.

6. Laravel verfügt über eine große Anzahl integrierter Methoden, die Entwickler verwenden können

In tatsächlichen Anwendungen kommt es der Entwicklungsidee von „let“ näher Das Objekt macht alles“, wie zum Beispiel bei der Durchführung einer Formularvalidierung im Hintergrund. Laravel verfügt über eine große Anzahl integrierter Validierungsmethoden. Um beispielsweise den Benutzernamen zu überprüfen, können wir „username“=>‘required‘ (darf nicht leer sein) in der Validierungsmethode | verwenden. (muss Zahlen, Buchstaben und Unterstriche enthalten) | Anzahl der Ziffern); Es verfügt auch über eine große Anzahl integrierter Methoden wie E-Mail; Gleiche: Feldname; Feldname usw., was die Entwicklungsgeschwindigkeit erheblich verbessert.

7. Verschlüsselungsmethode

Im TP-Framework verwenden wir md5();, um den Benutzernamen und das Passwort zu verschlüsseln. Der Nachteil von MD5 besteht jedoch darin, dass es umgekehrt geknackt werden kann und unter denselben Regeln die von MD5 für dasselbe Passwort verschlüsselten Zeichenfolgen möglicherweise gleich aussehen, was die Sicherheit verringert. Allerdings ist die unidirektionale Verschlüsselungsmethode „Hash“ in das Laravel-Framework integriert, und mit denselben Parametern verschlüsselte Zeichenfolgen werden niemals in derselben Situation angezeigt, was die Sicherheit erhöht.

8. Tabellenerstellung

Laravel verfügt über eine eigene unabhängige integrierte Struktur zum Erstellen von Datenbanktabellen, sodass Sie keine nativen SQL-Anweisungen verwenden müssen oder SQLyogEnt oder Navicat überhaupt. Das Tabellenerstellungstool wird zum Erstellen, Hinzufügen, Löschen, Ändern, Abfragen und Dateninteragieren verwendet. Ich denke, dass dies ein Highlight dafür sein könnte, dass es in ThinkPHP die Nummer 1 ist. Wir müssen SQL-Anweisungen oder Tabellenerstellungstools verwenden, um die Daten schrittweise zu verbessern.

8.1. Zuerst müssen wir ein Modell erstellen: Ich verwende Gitbash. Gitbash ist ein Befehlstool unter Windows, das auf der GNU-Umgebung von msys basiert und über ein verteiltes Git-Versionskontrolltool verfügt, das hauptsächlich in Git verwendet wird. Sie können es aber auch direkt in Laravel verwenden: php artisan make:model Models/GoodsModel -m, um die Erstellung des Modells und die Erstellung der Tabellenstruktur (/database/migrations) abzuschließen.

8.2. Füllen Sie Daten in die Warendatentabelle aus. Bitte beachten Sie, dass die Datentypen streng unterschieden werden und hinzugefügt werden müssen. Verwenden Sie nach dem Hinzufügen den Befehl php artisan migrate, um die Erstellung der Tabelle abzuschließen.

Schema::create('goods', function (Blueprint $table) {

$table->increments('id')->comment('product Primary Key') ;

$table->string('title')->comment('Titel des Produkts');

8.3 Anforderungen oder müssen hinzugefügt werden? Kein Grund zur Sorge, ziehen Sie das Projekt von Github und ändern Sie es direkt in der Datentabelle, verwenden Sie einfach:

php artisan migrate:refresh

9, ORM

Der Befehl zum Erstellen eines Modells wurde bei der Einführung der Tabellenerstellung verwendet:

php artisan make:model XXX;

Das Modell in Laravel ist die beste Interpretation objektorientierter Entwicklungsideen. Lassen Sie uns das Objekt dabei helfen, die Anforderungen zu erfüllen.

Auszug aus dem 5.1-Handbuch: (Laravels Eloquent ORM bietet eine schöne, einfache ActiveRecord-Implementierung für die Interaktion mit der Datenbank Die Tabelle verfügt über ein entsprechendes „Modell“, das mit der Datentabelle interagieren kann. Sie können über das Modell nach Daten in der Datentabelle suchen und Datensätze hinzufügen. Tabellenübergreifende Abfrage, Löschen von Modellen und Modellzuordnung, diese können natürlich auch mithilfe von Modellen im TP-Framework implementiert werden.

10. Nutzung der Sitzung

10.1. ThinkPHP kapselt den Sitzungsvorgang und kann ohne Einführung verwendet werden. Der Start der Sitzung wird automatisch ausgeführt, wenn die Anwendung initialisiert wird, sodass keine manuelle Verwendung von Session::start() erforderlich ist Sitzung.

Es gibt keinen wesentlichen Unterschied zwischen der Verwendung der Session-Klasse und dem normalen Aufruf von $_SESSION. Es ist lediglich so, dass viele Parameter der Session-Klasse flexibel entsprechend der Projektkonfiguration festgelegt werden können häufig verwendete Operationsmethoden:

/ / Überprüfen Sie, ob die Sitzungsvariable vorhanden ist: Session::is_set('name');

// Weisen Sie der Sitzungsvariablen einen Wert zu: Session::set ('name','value');

// Sitzungsvariablen abrufen: Session::get('name');

10.2. Gemeinsame Sitzungsmethoden in Laravel:

$request->session()->get( 'key');//Schlüsselnamen in der Sitzung abrufen

$request->session()->set(' key','default');//Legen Sie einen Standardwert fest. Wenn der angegebene Schlüsselname nicht vorhanden ist, wird der Standardwert zurückgegeben

$request->session()->all(); //Alle Daten zurückgeben

session('k'=> ;$v);//Sitzungsgespeicherte Daten schreiben

und Flash-Daten session()->flash() und bestimmte Daten beibehalten data->keep(['','']);

Sie können den Sitzungstreiber auch anpassen.

php Chinesische Website, eine große Anzahl kostenloser Laravel-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Laravel und Thinkphp?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn