Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. Wir werden die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, L?schen) in diesem Kapitel verstehen.
Au?erdem müssen wir auch unsere Datenbank in der Datei config/app_local.php konfigurieren.
'Datasources' => [ 'default' => [ 'host' => 'localhost', 'username' => 'my_app', 'password' => 'secret', 'database' => 'my_app', 'url' => env('DATABASE_URL', null), ], /* * The test connection is used during the test suite. */ 'test' => [ 'host' => 'localhost', //'port' => 'non_standard_port_number', 'username' => 'my_app', 'password' => 'secret', 'database' => 'test_myapp', //'schema' => 'myapp', ], ],
Die Standardverbindung hat die folgenden Details ?
'host' => 'localhost', 'username' => 'my_app', 'password' => 'secret', 'database' => 'my_app',
Sie k?nnen die Details, d. h. Host, Benutzername, Passwort und Datenbank, nach Ihren Wünschen ?ndern.
Stellen Sie anschlie?end sicher, dass es in config/app_local.php im Datasources-Objekt aktualisiert ist.
Jetzt fahren wir mit den obigen Details fort, gehen zu Ihrer phpmyadmin- oder MySQL-Datenbank und erstellen den Benutzer my_app wie unten gezeigt ?

Geben Sie die erforderlichen Berechtigungen ein und speichern Sie es. Jetzt haben wir die Datenbankdetails gem?? der in app_local.php genannten Konfiguration. Wenn Sie die CakePHP-Homepage überprüfen, sollten Sie Folgendes erhalten ?

Jetzt erstellen wir die folgende Benutzertabelle in der Datenbank.
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
Einen Datensatz einfügen
Um einen Datensatz in die Datenbank einzufügen, müssen wir zun?chst eine Tabelle mithilfe der Klasse TableRegistry abrufen. Wir k?nnen die Instanz mit der Methode get() aus der Registrierung abrufen. Die Methode get() verwendet den Namen der Datenbanktabelle als Argument.
Diese neue Instanz wird zum Erstellen einer neuen Entit?t verwendet. Legen Sie die erforderlichen Werte mit der Instanz der neuen Entit?t fest. Wir müssen jetzt die Methode save() mit der Klasseninstanz TableRegistry aufrufen, die einen neuen Datensatz in die Datenbank einfügt.
Beispiel
Nehmen Sie ?nderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.
config/routes.php
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('/users/add', ['controller' => 'Users', 'action' => 'add']); $builder->fallbacks(); });
Erstellen Sie eine UsersController.php-Datei unter src/Controller/UsersController.php. Kopieren Sie den folgenden Code in die Controller-Datei.
src/controller/UsersController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\ORM\TableRegistry; use Cake\Datasource\ConnectionManager; use Cake\Auth\DefaultPasswordHasher; class UsersController extends AppController{ public function add(){ if($this->request->is('post')){ $username = $this->request->getData('username'); $hashPswdObj = new DefaultPasswordHasher; $password = $hashPswdObj->hash($this->request->getData('password')); $users_table = TableRegistry::get('users'); $users = $users_table->newEntity($this->request->getData()); $users->username = $username; $users->password = $password; $this->set('users', $users); if($users_table->save($users)) echo "User is added."; } } } ?>
Erstellen Sie ein Verzeichnis Benutzer unter src/Template und erstellen Sie unter diesem Verzeichnis eine Ansichtsdatei mit dem Namen add.php. Kopieren Sie den folgenden Code in diese Datei.
src/Template/Users/add.php
<?php echo $this->Form->create(NULL,array('url'=>'/users/add')); echo $this->Form->control('username'); echo $this->Form->control('password'); echo $this->Form->button('Submit'); echo $this->Form->end(); ?>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen. http://localhost/cakephp4/users/add
Ausgabe
Bei der Ausführung erhalten Sie die folgende Ausgabe.

Die Daten werden in der Benutzertabelle gespeichert, wie unten gezeigt ?

Das obige ist der detaillierte Inhalt vonCakePHP arbeitet mit Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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



In JavaScript müssen Sie eine benutzerdefinierte Funktion verwenden, um festzustellen, ob zwei Arrays gleich sind, da es keine integrierte Methode gibt. 1) Grundlegende Implementierung besteht darin, L?ngen und Elemente zu vergleichen, kann jedoch keine Objekte und Arrays verarbeiten. 2) Rekursiver Tiefenvergleich kann verschachtelte Strukturen umgehen, erfordert jedoch eine besondere Behandlung von NAN. 3) Spezielle Typen wie Funktionen und Daten müssen berücksichtigt werden, und eine weitere Optimierung und Tests sind erforderlich.

Die überprüfung der Sozialversicherungsnummer wird in PHP durch regul?re Ausdrücke und einfache Logik implementiert. 1) Verwenden Sie regelm??ige Ausdrücke, um die Eingabe zu reinigen und nicht numerische Zeichen zu entfernen. 2) überprüfen Sie, ob die Saitenl?nge 18 Bit betr?gt. 3) Berechnen und überprüfen Sie das Scheckbit, um sicherzustellen, dass es dem letzten Bit des Eingangs übereinstimmt.

Die Methoden zur korrekten Verarbeitung dieses Zeigens in JavaScript -Verschlusssachen umfassen: 1. Verwenden Sie Pfeilfunktionen. Diese Methoden stellen sicher, dass diese intrinsische Funktion korrekt auf den Kontext der externen Funktion zeigt.

Die Verwendung von JavaScript zur Implementierung der Datenverschlüsselung kann die Crypto-JS-Bibliothek verwenden. 1. Installieren und Einführung der Crypto-JS-Bibliothek. 2. Verwenden Sie den AES -Algorithmus zur Verschlüsselung und Entschlüsselung, um sicherzustellen, dass der gleiche Schlüssel verwendet wird. 3. Achten Sie auf den sicheren Speicher und die übertragung von Schlüssel. Es wird empfohlen, den CBC -Modus- und Umgebungsvariablen zum Speichern von Schlüssel zu verwenden. 4. Erw?gen Sie, Webworker zu verwenden, wenn Sie eine hohe Leistung ben?tigen. 5. Bei der Verarbeitung von Nicht-ASCII-Zeichen müssen Sie die Codierungsmethode angeben.

In PHP wird der Konstruktor durch die Zaubermethode \ _ \ _ Construct definiert. 1) Definieren Sie die Methode \ _ \ _ Konstrukte in der Klasse, die automatisch aufgerufen wird, wenn das Objekt instanziiert ist und zur Initialisierung der Objekteigenschaften verwendet wird. 2) Der Konstruktor kann eine beliebige Anzahl von Parametern akzeptieren und das Objekt flexibel initialisieren. 3) Wenn Sie einen Konstruktor in einer Unterklasse definieren, müssen Sie übergeordnete :: \ _ \ _ construct () aufrufen, um sicherzustellen, dass der Konstruktor der übergeordneten Klasse ausgeführt wird. 4) Durch optionale Parameter und Bedingungen kann der Konstruktor den überlastungseffekt simulieren. 5) Der Konstruktor sollte pr?zise sein und nur die erforderliche Initialisierung sollte durchgeführt werden, um komplexe Logik- oder E/A -Operationen zu vermeiden.

Zu den Schritten zum Bereitstellen einer Joomla -Website auf PHPStudy geh?ren: 1) Konfigurieren Sie Phpstudy und stellen Sie sicher, dass Apache- und MySQL -Dienste die Kompatibilit?t der PHP -Version ausführen und überprüfen. 2) Laden und dekomprimieren die Website von Phpstudy von der offiziellen Joomla -Website auf das Root -Verzeichnis von Phpstudy und vervollst?ndigen Sie die Installation gem?? dem Installationsassistenten. 3) Erstellen Sie grundlegende Konfigurationen, z. B. das Festlegen des Website -Namens und das Hinzufügen von Inhalten.

Zu den Vorteilen der Verwendung der Abh?ngigkeitsinjektion (DI) in PHP geh?ren: 1. Entkopplung, wodurch der Code modularer wird; 2. Verbesserung der Testbarkeit und leicht zu bedienende Mocke oder Stubs; 3.. Flexibilit?t erh?hen und die Wiederverwendung von Abh?ngigkeiten erleichtern; 4. Verbesserung der Wiederverwendbarkeit und die Klassen k?nnen in verschiedenen Umgebungen verwendet werden. Durch die übergabe von Abh?ngigkeiten extern an Objekte erleichtert DI den Code leichter zu warten und zu erweitern.

SendingemailswithphpisstraInightforenusingthemail () functionOroreadvancedLibrary -Likephpmailer.1) Usemail () Forbasicemails, SettingRecipients, Probanden, Nachrichten und Headers.2) ForHtmlemails, adjustheaderStospecifyHtMlContent.3) einsetzt
