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

Was ist der Unterschied zwischen Laravel und Thinkphp?

Nov 11, 2019 am 10:56 AM
laravel thinkphp 区别

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

ThinkPhp6 Routing: Wie kann man URL -Parameter mit Sonderzeichen wie Chinesisch vollständig erhalten? ThinkPhp6 Routing: Wie kann man URL -Parameter mit Sonderzeichen wie Chinesisch vollständig erhalten? Apr 01, 2025 pm 02:51 PM

Denkephp6 -Routing -Parameter werden in Chinesisch verarbeitet und vollständiger Akquisition. Im ThinkPhp6 -Framework werden URL -Parameter mit Sonderzeichen (z. B. Chinesen und Interpunktionsmarken) oft verarbeitet ...

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Wie kann ich die Summe von zwei Datenspalten gleichzeitig in ThinkPhp6 abfragen? Wie kann ich die Summe von zwei Datenspalten gleichzeitig in ThinkPhp6 abfragen? Apr 01, 2025 pm 02:54 PM

ThinkPhp6 -Datenbankabfrage: So verwenden Sie TP6 zum Implementieren von SQL -Anweisungen SelectSum (JIN), Summe (CHU) aus SYSDBUIL in ThinkPhp6 Framework, So verwenden Sie SQL -Anweisung Auswählen ...

Was ist die Funktion der C -Sprachsumme? Was ist die Funktion der C -Sprachsumme? Apr 03, 2025 pm 02:21 PM

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Der Unterschied zwischen char und wchar_t in der C -Sprache Der Unterschied zwischen char und wchar_t in der C -Sprache Apr 03, 2025 pm 03:09 PM

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

Laravel -Datenbank Migration begegnet doppelte Klassendefinition: Wie beheben Sie die doppelte Erzeugung von Migrationsdateien und Klassennamenkonflikten? Laravel -Datenbank Migration begegnet doppelte Klassendefinition: Wie beheben Sie die doppelte Erzeugung von Migrationsdateien und Klassennamenkonflikten? Apr 01, 2025 pm 12:21 PM

Ein Problem der doppelten Klassendefinition während der Laravel -Datenbankmigration tritt auf. Bei Verwendung des Laravel -Frameworks für die Datenbankmigration können Entwickler "Klassen" verwendet ...

Gibt es eine mobile App, die XML in PDF umwandeln kann? Gibt es eine mobile App, die XML in PDF umwandeln kann? Apr 02, 2025 pm 08:54 PM

Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

See all articles