ThinkPHP3.1 Schnellstart (2) Daten-CURD
Im vorherigen Artikel haben wir die Grundlagen von ThinkPHP kennengelernt, wie man einen Controller und eine Vorlage erstellt und wie man die M-Methode verwendet. In diesem Artikel wird die CURD-Operation von Daten erläutert und weitere Datenoperationen untersucht.
CURD
CURD ist eine Abkürzung in der Datenbanktechnologie. Die Grundfunktionen verschiedener Parameter in der allgemeinen Projektentwicklung sind CURD. Es stellt Erstellungs-, Aktualisierungs-, Lese- und Löschvorgänge dar. CURD definiert grundlegende atomare Operationen zur Verarbeitung von Daten. Der Grund dafür, dass CURD auf den technischen Schwierigkeitsgrad erhoben wird, liegt darin, dass die Leistung beim Abschluss einer aggregationsbezogenen Aktivität mit CURD-Vorgängen in mehreren Datenbanksystemen stark variieren kann, wenn sich die Datenbeziehungen ändern.
CURD verwendet in bestimmten Anwendungen nicht unbedingt die Methoden zum Erstellen, Aktualisieren, Lesen und Löschen, die von ihnen ausgeführten Funktionen sind jedoch dieselben. ThinkPHP verwendet beispielsweise die Methoden add, save, select und delete, um die CURD-Operationen des Modells darzustellen.
Daten erstellen
In den meisten Fällen übermittelt der CURD-Vorgang Daten normalerweise über ein Formular. Zuerst erstellen wir eine add.html-Vorlagendatei im Tpl/Form-Verzeichnis des Projekts ist:
Dann müssen wir auch eine FormAction.class im Aktionsverzeichnis des Projekts erstellen .php-Datei, Sie müssen vorerst nur die FormAction-Klasse definieren, ohne irgendwelche Operationsmethoden hinzuzufügen. Der Code lautet wie folgt:
Klasse FormAction erweitert Aktion{
}
Als nächstes besuchen Sie
http://localhost/app/index.php/Form/add
Sie können die Formularseite sehen. Wir haben die Add-Operationsmethode nicht definiert Controller, aber offensichtlich ist der Zugriff normal. Da ThinkPHP prüft, ob die entsprechende Vorlagendatei vorhanden ist, wenn die entsprechende Operationsmethode nicht gefunden wird, rendert der Controller die Vorlagendatei direkt und gibt sie aus. Für Betriebsmethoden ohne eigentliche Logik müssen wir also nur die entsprechende Vorlagendatei direkt definieren.
Wir können sehen, dass die im Formular definierte Übermittlungsadresse die Einfügeoperation für das Formularmodul ist. Um die Formularübermittlungsdaten zu verarbeiten, müssen wir die Einfügeoperationsmethode wie folgt in der FormAction-Klasse hinzufügen:
Klasse FormAction erweitert Action{
öffentliche Funktion insert(){
$Form = D('Form');
if($Form-> create()) {
$result = $Form->add();
if($result) {
$this->success('The Operation war erfolgreich! ');
der Wert des Primärschlüssels. Wenn es sich nicht um einen automatisch inkrementierenden Primärschlüssel handelt, gibt der Rückgabewert die Anzahl der eingefügten Daten an. Wenn false zurückgegeben wird, weist dies auf einen Schreibfehler hin.
Modell
Um das Testen zu erleichtern, erstellen wir zunächst eine think_form-Tabelle in der Datenbank:
TABELLE ERSTELLEN, WENN „think_form“ NICHT EXISTIERT (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` varchar(255) NOT NULL,
`create_time` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
Im Gegensatz zur M-Funktion verwenden wir die D-Funktion Entsprechende Modellklasse, erstellen wir die folgende Modellklasse. Die Definitionsspezifikation der Modellklasse lautet: Modellname + Model.class.php (der Modellname wird in Kamel-Schreibweise definiert und der erste Buchstabe wird großgeschrieben)
Wir erstellen die Datei FormModel.class.php unter der Lib/Model Verzeichnis des Projekts und fügen Sie den Code wie folgt hinzu:
class FormModel erweitert Model {
// Automatische Validierung definieren
protected $_validate = array(
array('title','require ', 'Title must'),
);
// Automatische Vervollständigung definieren
protected $_auto = array(
array('create_time' ,'time',1,'function'),
);
}
wird hauptsächlich zur automatischen Überprüfung verwendet und Wir werden es für bestimmte Zwecke verwenden. Die anderen Kapitel werden separat besprochen und hier vorerst übersprungen. Was wir nur verstehen müssen, ist, dass, wenn Sie die D-Funktion zum Instanziieren einer Modellklasse verwenden, diese im Allgemeinen einer Datenmodellklasse entsprechen muss und die Erstellungsmethode die vom Formular übermittelten Daten automatisch überprüft und automatisch vervollständigt (falls definiert). ), wenn die automatische Überprüfung fehlschlägt, können Sie die Überprüfungsaufforderungsinformationen über die getError-Methode des Modells abrufen. Wenn die Überprüfung erfolgreich ist, bedeutet dies, dass das Datenobjekt erfolgreich erstellt wurde, es jedoch derzeit nur im Speicher gespeichert wird, bis wir das Add aufrufen Methode zum Schreiben der Daten in die Datenbank. Damit ist ein vollständiger Erstellungsvorgang abgeschlossen, sodass Sie sehen können, dass ThinkPHP beim Erstellen von Daten zwei Schritte verwendet:
Der erste Schritt besteht darin, das Datenobjekt mithilfe der Methode „create“ zu erstellen.
Der zweite Schritt besteht darin, die zu verwenden add method to Das aktuelle Datenobjekt wird in die Datenbank geschrieben.
Natürlich können Sie den ersten Schritt überspringen und direkt mit dem zweiten Schritt fortfahren, aber diese Art der Vorverarbeitung hat mehrere Vorteile:
1 Egal wie komplex das Formular ist, die Erstellungsmethode kann problemlos erstellt werden eine Codezeile Datenobjekt;
2. Vor dem Schreiben von Daten können die Daten überprüft und ergänzt werden.
Tatsächlich verfügt die Erstellungsmethode auch über viele funktionale Vorgänge mit nur einem Zweck, um die Sicherheit und Wirksamkeit sicherzustellen der in die Datenbank geschriebenen Daten.
Lassen Sie uns die Auswirkung der Formularübermittlung überprüfen. Wenn wir das Formular direkt absenden, ohne einen Titel einzugeben, gibt das System eine Meldung aus, dass der Titel so lauten muss.
Wenn wir das Formular erfolgreich absenden, werden wir sehen, dass das Feld „create_time“ in den in die Datentabelle geschriebenen Daten bereits einen Wert hat. Dieser wird durch die automatische Vervollständigung geschrieben das Modell.
Wenn Ihre Daten vollständig intern und nicht über ein Formular geschrieben werden (d. h. Sie können der Sicherheit der Daten voll und ganz vertrauen), können Sie die Add-Methode direkt verwenden. wie zum Beispiel:
$Form = D('Form');
$data['title'] = 'ThinkPHP';
$data['content'] = ' Formularinhalt';
$Form->add($data);
kann auch Objektmodusoperationen unterstützen:
$Form = D('Form' );
$Form->title = 'ThinkPHP';
$Form->content = 'Formularinhalt';
$Form->add( );
Beim Betrieb im Objektmodus muss die Add-Methode keine Daten übergeben und erkennt automatisch die aktuelle Datenobjektzuweisung.
Daten lesen
Wenn wir die Daten erfolgreich schreiben, können wir die Daten lesen. Im vorherigen Artikel wissen wir bereits, dass wir die Select-Methode verwenden können, um einen Datensatz abzurufen. Hier erhalten wir einzelne Daten über die Find-Methode. Die Leseoperationsmethode ist wie folgt definiert:
öffentliche Funktion read($id=0){
$Form = M('Form');
// Daten lesen
$data = $Form->find( $id);
if($data) {
$this->data = $data;// Vorlagenvariablenzuweisung
}else{
$this-> error('data error');
}
$this->display();
}
Die Leseoperationsmethode hat einen Parameter $id, was bedeutet, dass wir die ID-Variable akzeptieren können in der URL (Wir werden es später im Variablenkapitel ausführlich beschreiben. Der Grund, warum hier die M-Methode anstelle der D-Methode verwendet wird, liegt darin, dass die Find-Methode eine Methode in der Basismodellklasse Model ist und daher keine Notwendigkeit besteht um Overhead für die Instanziierung der FormModel-Klasse zu verschwenden (auch wenn sie als FormModel-Klasse definiert wurde). Hier wird der AR-Modus verwendet, sodass keine Abfragebedingungen übergeben werden. find($id) bedeutet, die Daten zu lesen, deren Primärschlüssel der $id-Wert ist. Die Rückgabe der Suchmethode ist ein Array im folgenden Format:
array(
'id' => 5 ,
'title' => 'Testtitel',
'content' => 'Testinhalt',
'status' => 🎜>
) Dann können wir die Daten in der Vorlage ausgeben, eine Lesevorlagendatei hinzufügen,id: | < ;td>{$data.id}||
Titel: td> | Inhalt: | {$data.content } |

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Schnellstart: Für die Installation der Pandas-Bibliothek in Python sind spezifische Codebeispiele erforderlich. 1. Überblick Python ist eine weit verbreitete Programmiersprache mit einem leistungsstarken Entwicklungsökosystem, das viele praktische Bibliotheken umfasst. Pandas ist eine der beliebtesten Datenanalysebibliotheken. Sie bietet effiziente Datenstrukturen und Datenanalysetools, die die Datenverarbeitung und -analyse erleichtern. In diesem Artikel wird die Installation der Pandas-Bibliothek in Python vorgestellt und entsprechende Codebeispiele bereitgestellt. 2. Installieren Sie Py

Wir beginnen diese Serie damit, dass wir lernen, wie man HTML-Elemente mithilfe von Mojs animiert. In diesem zweiten Tutorial verwenden wir weiterhin das Shape-Modul, um integrierte SVG-Formen zu animieren. Das dritte Tutorial behandelt weitere Möglichkeiten zum Animieren von SVG-Formen mithilfe von ShapeSwirl und dem Stagger-Modul. Jetzt lernen wir, wie man mit dem Burst-Modul verschiedene SVG-Formen in Bursts animiert. Dieses Tutorial basiert auf den Konzepten, die wir in den ersten drei Tutorials behandelt haben. Wenn Sie sie noch nicht gelesen haben, empfehle ich Ihnen, sie zuerst zu lesen. Erstellen einer einfachen Burst-Animation Bevor wir eine Burst-Animation erstellen können, müssen wir zunächst ein Burst-Objekt instanziieren. Anschließend können wir verschiedene Eigenschaften angeben

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einen einfachen Audio-Streaming-Dienst zu implementieren. Einführung: Audio-Streaming-Dienste erfreuen sich in der heutigen digitalen Welt immer größerer Beliebtheit und ermöglichen es uns, Audiodateien direkt über das Netzwerk abzuspielen, ohne einen vollständigen Download durchführen zu müssen. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen schnell einen einfachen Audio-Streaming-Dienst implementieren, damit Sie diese Funktion besser verstehen und verwenden können. Schritt 1: Vorbereitung Zunächst müssen Sie die Go-Sprachentwicklungsumgebung installieren. Sie können es von der offiziellen Website herunterladen (https://golan

Titel: Schneller Einstieg: Empfohlene fünf gängige Go-Sprach-Frameworks Mit der Popularität der Go-Sprache haben sich in den letzten Jahren immer mehr Entwickler für die Verwendung von Go für die Projektentwicklung entschieden. Die Go-Sprache hat aufgrund ihrer Effizienz, Einfachheit und überlegenen Leistung große Aufmerksamkeit erhalten. Bei der Go-Sprachentwicklung kann die Auswahl eines geeigneten Frameworks die Entwicklungseffizienz und Codequalität verbessern. In diesem Artikel werden fünf häufig verwendete Frameworks in der Go-Sprache vorgestellt und Codebeispiele angehängt, um den Lesern den schnellen Einstieg zu erleichtern. Gin-Framework Gin ist ein leichtes Web-Framework, das schnell und effizient ist.

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einfache Bilderkennungsfunktionen zu implementieren. In der heutigen technologischen Entwicklung ist die Bilderkennungstechnologie zu einem heißen Thema geworden. Als schnelle und effiziente Programmiersprache verfügt die Go-Sprache über die Fähigkeit, Bilderkennungsfunktionen zu implementieren. Dieser Artikel bietet den Lesern eine Kurzanleitung zur Implementierung einfacher Bilderkennungsfunktionen mithilfe der Go-Sprachfunktionen. Zuerst müssen wir die Go-Sprachentwicklungsumgebung installieren. Sie können die entsprechende Version auf der offiziellen Website der Go-Sprache herunterladen (https://golang.org/).

Schnellstart: Eine Anleitung zur Verwendung von fünf Kafka-Visualisierungstools 1. Kafka-Überwachungstools: Einführung Apache Kafka ist ein verteiltes Publish-Subscribe-Messagingsystem, das große Datenmengen verarbeiten kann und einen hohen Durchsatz und geringe Latenz bietet. Aufgrund der Komplexität von Kafka sind Visualisierungstools erforderlich, die bei der Überwachung und Verwaltung von Kafka-Clustern helfen. 2. Kafka-Visualisierungstools: Fünf wichtige Optionen KafkaManager: KafkaManager ist eine Open-Source-Web-Community

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um die Anzeige einfacher Liniendiagramme zur Datenvisualisierung zu implementieren. Einführung: Im Bereich der Datenanalyse und -visualisierung sind Liniendiagramme ein häufig verwendeter Diagrammtyp, der den Trend von Datenänderungen über die Zeit oder andere Variablen klar darstellen kann. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprachfunktionen eine einfache Liniendiagrammanzeige für die Datenvisualisierung implementieren und relevante Codebeispiele bereitstellen. 1. Bevor Sie mit den Vorbereitungsarbeiten beginnen, müssen Sie die folgenden Bedingungen sicherstellen: Installieren Sie die Go-Sprachumgebung und legen Sie die relevanten Umgebungsvariablen fest. Installieren Sie die erforderlichen Abhängigkeiten

Schnellstart: Verwenden Sie Go-Sprachfunktionen, um einfache Datenaggregationsfunktionen zu implementieren. In der Softwareentwicklung stoßen wir häufig auf Situationen, in denen wir eine Reihe von Daten aggregieren müssen. Aggregationsoperationen können zählen, zusammenfassen, berechnen usw., um Daten zu analysieren und anzuzeigen. In der Go-Sprache können wir Funktionen verwenden, um einfache Datenaggregationsfunktionen zu implementieren. Zuerst müssen wir einen Datentyp definieren, der die Daten darstellt, die wir aggregieren möchten. Angenommen, wir haben die Notentabelle eines Schülers und jeder Schüler hat zwei Felder: Name und Note, dann können wir die folgende Struktur erstellen
