In CakePHP haben wir verschiedene Funktionen für den Entwickler. Wenn wir zu diesem Zeitpunkt versuchen m?chten, eine flexible und benutzerfreundliche Webanwendung zu entwickeln, k?nnen wir das Paginierungskonzept in das Framework integrieren. Die Anzeige einer vernünftigen Anzahl von Datens?tzen pro Seite war schon immer ein grundlegender Bestandteil jeder Anwendung und bereitete den Designern oft Kopfzerbrechen. CakePHP entlastet den Designer, indem es eine schnelle und einfache Methode zum Paginieren von Informationen bietet. Eines der Haupthindernisse bei der Erstellung anpassungsf?higer und benutzerfreundlicher Webanwendungen ist die Planung einer natürlichen Benutzeroberfl?che.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Was ist CakePHP-Paginierung?
Die Verbesserung eines benutzerfreundlichen Verbindungspunkts ist eines der Hauptthemen für die Webanwendungsdesigner, denn wenn der Kunde seinen Quellcode erstellt, nehmen zu diesem Zeitpunkt die L?nge des Codes und die Komplexit?t zu. Ebenso war es schwierig, Hunderte oder Tausende von Datens?tzen auf einer einzelnen Seite zu verwalten. Darüber hinaus bietet es die M?glichkeit, die Feinheiten auf eine einzelne Seite zu bringen, wodurch die Webanwendung ihre unerschütterliche Qualit?t und Kundenzufriedenheit erf?hrt. In diesem Sinne bieten die CakePHP-Entwickler eine Paginierungsfunktion, um die vielen Datens?tze auf einer einzelnen Seite zu umgehen. Zahlreiche Anwendungen nehmen oft schnell an Gr??e und Komplexit?t zu, und Architekten und Softwareentwickler stellen fest, dass sie sich nicht an die Anzeige von Hunderten oder Tausenden von Datens?tzen gew?hnen k?nnen.
Um die Bewegungsaufzeichnung des Kunden auf einer einzelnen Seite anzuzeigen, wird die L?nge der Aufzeichnungen zu diesem Zeitpunkt überm??ig verl?ngert, weshalb wir mit diesen Problemen konfrontiert sind
Der Kunde muss verschiedene Zeiten betrachten, um die Daten zu sehen.
Mit kompakten Ger?ten wie Mobiltelefonen, Tablets usw. wird es nicht schwierig sein, die Website zu durchsuchen
Dadurch wird die Ausführung der Webanwendung beeintr?chtigt.
Unter diesen Umst?nden stellt CakePHP eine ideale Paginierungsstrategie dar.
Paginierungsstrategie für CakePHP: Sie isoliert alle Datens?tze in gleichwertige Teile und zeigt dem Kunden einen einzelnen Datensatz entsprechend den Anforderungen der Anwendung an.
Modell: Angenommen, wir haben 200 Datens?tze auf jeder Seite und müssen nur 20 Datens?tze anzeigen. Wie bei der einfachen Mathematik, um die vollst?ndigen Bl?tter zu erhalten, ist es 200/20 = 10. Aus diesem Grund m?chten wir dem Kunden wirklich die M?glichkeit geben, die Feinheiten auf jeder Seite entweder auf einem kleinen Bildschirm wie einem vielseitigen Ger?t oder einem Arbeitsbereichs-Gadget zu sehen.
Wie konfiguriere ich die CakePHP-Paginierung?
Jetzt sehen wir uns an, wie wir die Paginierung in CakePHP wie folgt konfigurieren k?nnen.
Manchmal m?chten wir die Paginierung in CakePHP wirklich mithilfe einer herk?mmlichen SQL-Abfrage durchführen. Anschlie?end geht der von CakePHP vordefinierte Paginierungsnutzen verloren. Benutzerdefinierte Paginierung in CakePHP
Wir k?nnen eine Paginierungsstrategie im Modell oder Verhalten durchführen, wenn wir Standard-SQL-Abfragen in CakePHP verwenden. Sie müssen lediglich sicherstellen, dass das Ergebnis nicht mit zentralen Modelltechniken oder einem benutzerdefinierten Locator erzielt werden kann, bevor Sie eine benutzerdefinierte Paginierung der Fragen durchführen. Allerdings k?nnen wir nicht einfach die Standard-Paginierung für die benutzerdefinierten Fragen verwenden, wir müssen die Paginierungsfunktionen in der Form oder im Verhalten aufheben.
Um unsere eigene Strategie/Rationale zu nutzen, um die CakePHP-Paginierung im Modell zu ersetzen, m?chten wir unbedingt zwei Kapazit?ten hinzufügen: paginate () und paginateCount().
Um eine Menge umfangreicher Informationen anzuzeigen, k?nnen wir die Paginierung verwenden. Auf diese Komponente kann mit PHP 4 zugegriffen werden, was ?u?erst einfach zu verwenden ist.
Im folgenden Screenshot sehen wir mehrere Datenbankeintr?ge mit unterschiedlichen Werten wie folgt.
Jetzt müssen wir die Datens?tze auf einer einzigen Seite mit wenigen Eintr?gen anzeigen, damit wir die Paginierung verwenden k?nnen. Aus diesem Grund müssen wir zun?chst die Datei ?routes.php“ wie folgt konfigurieren.
<?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('posts',['controller'=>'Posts','action'=>'index']); $builder->fallbacks(); });
Jetzt müssen wir die Datei ?controller.php“ erstellen und den folgenden Code wie folgt schreiben.
<?php namespace App\Controller; use App\Controller\AppController; class PostsController extends AppController { public function index(){ $this->loadModel('rounds); $articles = $this->rounds->find('all')->order(['rounds.id ASC']); $this->set('rounds', $this->paginate($rounds, ['limit'=> '4'])); } } ?>
Erkl?rung
In der obigen Datei schreiben wir die Logik der Anzeigedatens?tze. Hier versuchen wir, 4 Datens?tze auf einer einzelnen Seite anzuzeigen.
Jetzt müssen wir ein Verzeichnis erstellen und unter diesem Verzeichnis eine neue index.php-Datei erstellen und den folgenden Code wie folgt schreiben.
<div> <?php foreach ($rounds as $key=>$rounds) {?> <a href="#"> <div> <p><?= $rounds->title ?> </p> <p><?= $rounds->details ?></p> </div> </a> <br/> <?php } ?> <ul class="pagination"> <?= $this->Paginator->prev("<<") ?> <?= $this->Paginator->numbers() ?> <?= $this->Paginator->next(">>") ?> </ul> </div>
Führen Sie nun den obigen Code in localhost aus. Das Endergebnis der obigen Implementierung haben wir anhand des folgenden Screenshots wie folgt veranschaulicht.
Using Controller Cakephp pagination
In the regulator, we start by characterizing the default question conditions pagination will use in the $paginate regulator variable. These circumstances serve as the reason for your pagination questions. They are increased by the sort, direction, limit, and page boundaries passed in from the URL. It is critical to note that the request key should be characterized in an exhibit structure like beneath:
class RoundController extends AppController { public $paginate = [ 'limit' => 20, 'order' => [ 'Round.title' => 'Desc' ] ]; public function initialize() { parent::initialize(); $this->loadComponent('Paginator'); } }
In this code, we can include different options that are supported by the find () method as per our requirements.
class RoundController extends AppController { public $paginate = [ 'fields' => ['Rounds.id', 'Rounds.created'], 'limit' => 20, 'order' => [ 'Rounds.title' => 'Desc' ] ]; public function initialize() { parent::initialize(); $this->loadComponent('Paginator'); } }
While you can pass the vast majority of the question choices from the paginate property it is often cleaner and more straightforward to wrap up your pagination choices into a Custom Finder Method. You can characterize the locater pagination utilizing finder choice.
Conclusion
From the above article, we have taken in the essential idea of the CakePHP pagination and we also see the representation and examples. From this article, we learned how and when we use the CakePHP pagination.
Das obige ist der detaillierte Inhalt vonCakePHP-Paginierung. 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

Das Upgrade der PHP -Version ist eigentlich nicht schwierig, aber der Schlüssel liegt in den Betriebsschritten und Vorsichtsma?nahmen. Im Folgenden finden Sie die spezifischen Methoden: 1. Best?tigen Sie die aktuelle PHP -Version und verwenden Sie die Umgebung aus der laufenden Umgebung. Verwenden Sie die Befehlszeile oder die Phpinfo.php -Datei, um sie anzuzeigen. 2. W?hlen Sie die geeignete neue Version aus und installieren Sie sie. Es wird empfohlen, es mit 8.2 oder 8.1 zu installieren. Linux -Benutzer verwenden Package Manager und MacOS -Benutzer verwenden Homebrew. 3.. Konfigurationsdateien und Erweiterungen migrieren, php.ini aktualisieren und die erforderlichen Erweiterungen installieren; 4. Testen Sie, ob die Website normal ausgeführt wird, überprüfen Sie das Fehlerprotokoll, um sicherzustellen, dass kein Kompatibilit?tsproblem vorliegt. Befolgen Sie diese Schritte und Sie k?nnen das Upgrade in den meisten Situationen erfolgreich abschlie?en.

Topreventcsrfattacksinphp, Implementanti-csrftokens.1) GenerateAndSecuretokenseuseRandom_Bytes () orbin2hex (Random_Bytes (32)), Savethemin $ _session und IncludetheThItHididInputs

Um eine PHP -Entwicklungsumgebung einzurichten, müssen Sie die entsprechenden Tools ausw?hlen und die Konfiguration korrekt installieren. ① Die grundlegendste lokale PHP -Umgebung erfordert drei Komponenten: den Webserver (Apache oder Nginx), das PHP selbst und die Datenbank (wie MySQL/Mariadb); ② Es wird empfohlen, dass Anf?nger Integrationspakete wie XAMPP oder MAMP verwenden, die den Installationsprozess vereinfachen. XAMPP ist für Windows und MacOS geeignet. Nach der Installation werden die Projektdateien in das HTDOCS -Verzeichnis platziert und über Localhost aufgerichtet. ③MAMP ist für Mac -Benutzer geeignet und unterstützt eine bequeme Umstellung von PHP -Versionen, aber die kostenlose Version hat begrenzte Funktionen. ④ Erweiterte Benutzer k?nnen sie manuell durch Homebrew in macOS/Linux -Systemen installieren

Um zwei PHP -Arrays zusammenzuführen und eindeutige Werte zu behalten, gibt es zwei Hauptmethoden. 1. Verwenden Sie für Index -Arrays oder nur Deduplizierung Array_merge und Array_unique -Kombinationen: Zuerst merge array_merge ($ array1, $ array2) und verwenden Sie dann Array_unique (), um sie endgültig zu erhalten, um ein neues Array zu erhalten, das alle eindeutigen Werte enth?lt. 2. Verwenden Sie für assoziative Arrays und m?chten im ersten Array Schlüsselwertepaare beibehalten: $ result = $ array1 $ array2, was sicherstellt, dass die Schlüssel im ersten Array vom zweiten Array nicht überschrieben werden. Diese beiden Methoden gelten für verschiedene Szenarien, je nachdem, ob der Schlüsselname beibehalten wird oder nur der Fokus liegt

exit () ist eine Funktion in PHP, mit der die Skriptausführung sofort beendet wird. Zu den gemeinsamen Verwendungen geh?ren: 1. Beenden Sie das Skript im Voraus, wenn eine Ausnahme erkannt wird, z. 2. Ausgabe Zwischenergebnisse w?hrend des Debuggens und Stoppenausführung; 3. Aufrufen von Exit () nach Umleitung in Verbindung mit Header (), um die nachfolgende Codeausführung zu verhindern; Zus?tzlich kann Exit () String -Parameter als Ausgabeinhalt oder Ganzzahlen als Statuscode akzeptieren, und sein Alias ??ist die ().

Die rationale Verwendung semantischer Tags in HTML kann die Klarheit, Zug?nglichkeit und SEO -Effekte der Seitenstruktur verbessern. 1. für unabh?ngige Inhaltsbl?cke wie Blog-Beitr?ge oder Kommentare muss sie in sich geschlossen werden. 2. für klassifizierungsbezogene Inhalte, die normalerweise Titel enthalten, ist für verschiedene Module der Seite geeignet. 3.. Wird für Hilfsinformationen im Zusammenhang mit dem Hauptinhalt verwendet, nicht jedoch Kern, wie z. B. Seitenleistenempfehlungen oder Autorprofile. In der tats?chlichen Entwicklung sollten Etiketten kombiniert und andere, überm??ige Verschachtelung vermeiden, die Struktur einfach halten und die Rationalit?t der Struktur durch Entwicklerwerkzeuge überprüfen.

Um auf Sitzungsdaten in PHP zugreifen zu k?nnen, müssen Sie zuerst die Sitzung starten und dann das Hyperglobal -Array $ _Session überarbeiten. 1. Die Sitzung muss mit Session_Start () gestartet werden, und die Funktion muss vor jeder Ausgabe aufgerufen werden. 2. überprüfen Sie bei Zugriff auf Sitzungsdaten, ob der Schlüssel vorhanden ist. Sie k?nnen ISSET ($ _ Session ['Key']) oder Array_key_exists ('Key', $ _ Session) verwenden; 3. Setzen oder aktualisieren Sitzungsvariablen müssen dem Array $ _Session nur Werte zuweisen, ohne manuell zu speichern. 4. L?schen Sie spezifische Daten mit uneingestellter ($ _ Session ['Key']), l?schen Sie alle Daten und setzen Sie $ _Session auf ein leeres Array.

Rekursive Funktionen beziehen sich auf Selbstberechtigungsfunktionen in PHP. Die Kernelemente sind 1. Definieren der Terminierungsbedingungen (Basisbeispiele), 2. Zerlegung des Problems und das Aufrufen von selbst rekursiv (rekursive Beispiele). Es ist geeignet, mit hierarchischen Strukturen umzugehen, doppelte Unterprobleme zu zerlegen oder die Lesbarkeit der Code zu verbessern, z. B. Berechnung von Faktorien, Durchqueren von Verzeichnissen usw. Es ist jedoch erforderlich, auf das Risiko des Speicherkonsums und des Stapelüberlaufs zu achten. Beim Schreiben sollten die Ausstiegsbedingungen gekl?rt werden, die grundlegenden Beispiele sollten allm?hlich angesprochen werden, die redundanten Parameter sollten vermieden und kleine Eing?nge getestet werden. Beim Scannen eines Verzeichnisses trifft die Funktion beispielsweise auf ein Unterverzeichnis und ruft sich rekursiv auf, bis alle Ebenen durchquert werden.
