Heim PHP-Bibliotheken Andere Bibliotheken PHP-Klasse für die Paginierungsverarbeitung
PHP-Klasse für die Paginierungsverarbeitung
<?php
namespace JasonGrimes;
class Paginator
{
    const NUM_PLACEHOLDER = '(:num)';
    protected $totalItems;
    protected $numPages;
    protected $itemsPerPage;
    protected $currentPage;
    protected $urlPattern;
    protected $maxPagesToShow = 10;
    protected $previousText = 'Previous';
    protected $nextText = 'Next';
    /**
     * @param int $totalItems The total number of items.
     * @param int $itemsPerPage The number of items per page.
     * @param int $currentPage The current page number.
     * @param string $urlPattern A URL for each page, with (:num) as a placeholder for the page number. Ex. '/foo/page/(:num)'
     */
    public function __construct($totalItems, $itemsPerPage, $currentPage, $urlPattern = '')
    {
        $this->totalItems = $totalItems;
        $this->itemsPerPage = $itemsPerPage;
        $this->currentPage = $currentPage;
        $this->urlPattern = $urlPattern;
        $this->updateNumPages();
    }

Paginierung bedeutet, eine Seite in zwei oder mehr Seiten zu unterteilen.

Es gibt einen automatischen Seitenmechanismus, der den Inhalt

im mobilen Webformular in eine Gruppe kleinerer Seiten aufteilen kann, um ihn passend zum jeweiligen Gerät darzustellen. Dieser Mechanismus rendert auch Benutzeroberflächenelemente, die zum Navigieren zu anderen Seiten verwendet werden können. Egal wie viel Speicher Ihr NT-Server hat, es reicht immer nicht aus. Wenn der physische Arbeitsspeicher knapp wird, verwendet Windows NT die Auslagerungsdatei Pagefile.sys. Um verschiedene Prozesse und Anwendungen auszuführen, weist Pagefile.sys dem physischen Speicher etwas Speicherplatz zu. Innerhalb dieser Bereiche ist der Austausch von Datenseiten zulässig. Anscheinend wird die Leistung des Systems dadurch verbessert, dass das System nach Daten im Dateisystem-Cache sucht, anstatt nach den Daten auf dem Laufwerk zu suchen. Zu viele Suchvorgänge können den Prozessor auslasten. Dies ist einer der Gründe, warum der Satz „kaufe mehr Speicher“ zu einem Klischee des Computerzeitalters geworden ist: RAM ist dein Freund. Durch die Verwaltung des Speichers werden Ihre „Freunde“ effizienter.

Der Windows-Task-Manager ([Strg][Alt][Entf] | Task-Manager) unter Windows NT ist ein Anzeigetool, das schnelle und wichtige Informationen für den Zugriff auf die Speichernutzung bereitstellen kann. Der Speichernutzungsverlauf bietet ein sofortiges Bild der Speicheraktivität, indem er die Größe des physischen Speichers berücksichtigt und den Wert des MEM-Nutzungszählers berechnet. Der Vergleich der CPU-Nutzungsindikatoren und des CPU-Nutzungsverlaufs mit den MEM-Nutzungsindikatoren ermöglicht eine einfache Gesamtleistungsbewertung. Dies ist sehr praktisch, wenn Sie entscheiden müssen, ob Sie Diskperf sofort starten möchten, um ein übermäßiges Paging-Problem weiter zu untersuchen. Die Windows NT-Auslagerungsdatei kann über die Registerkarte „Leistung“ | verwaltet werden. Hier können Sie verschiedene Einstellungen für die Auslagerungsdatei steuern (einschließlich Größe und Bereich). Natürlich können Sie dies dem System überlassen, für eine optimale Konfiguration ist es jedoch besser, den Visual Memory Manager (VMM) zu verwenden.

Grundprinzipien der Windows NT-Auslagerungsdatei Windows NT legt die Startgröße der Auslagerungsdatei zunächst fest, indem es 12 MB zur Größe des physischen RAM hinzufügt. Diese 12 MB ermöglichen es, den Inhalt der Auslagerungsdatei als Vorsichtsmaßnahme im Falle eines Systemausfalls in ein Protokoll zu speichern. Wenn Sie ein Stoppfeld gefolgt von einem Bluescreen mit dem Hinweis „Tod“ sehen, ist dieses Problem bei Ihrem Betrieb aufgetreten. Wenn die Größe der Startauslagerungsdatei kleiner als diese Zahl ist (die Größe des physischen RAM plus 12 MB), erhalten Sie Meldungen, dass nicht genügend Arbeitsspeicher verfügbar ist. Das Betriebssystem Windows NT und seine Anwendungen benötigen etwa 10 MB RAM. Daher sollte dieser Wert von der Menge des physischen RAM abgezogen werden. Dies gibt Ihnen viel Spielraum bei der Bestimmung des Speicherbedarfs Ihres Servers. Windows NT erfordert eine Mindestgröße der Auslagerungsdatei von 2 MB. Wenn die Auslagerungsdatei zu klein ist oder gar nicht existiert, erscheint beim Start eine Warnmeldung.

Die Regel von mindestens RAM + 12 sollte immer befolgt werden. Unter keinen Umständen darf die Auslagerungsdatei kleiner sein als die Größe des Arbeitsspeichers im Server. Wenn das System über 32 MB physischen RAM plus 12 MB verfügt, beträgt die Gesamtgröße der Auslagerungsdatei 44 MB. Je größer die Auslagerungsdatei, desto besser. Das bedeutet, die Investition in physischen RAM zu erhöhen, anstatt einfach nur die Größe der Auslagerungsdatei zu erhöhen. Ohne ausreichend RAM verbringt das Laufwerk zu viel Zeit mit dem Lesen und Schreiben in die Auslagerungsdatei. Dadurch wird der Server nur verlangsamt oder sogar funktionsunfähig, wenn der Server neu gestartet werden muss, um E/A-Anfragen zu löschen. Und wenn die Maschine aus diesem Grund neu gestartet werden muss, kann es sein, dass es ein zweites Mal gibt. Die standardmäßigen 12 MB RAM reichen aus, um bei Bedarf den Inhalt der Auslagerungsdatei zu löschen. Eine kleine Auslagerungsdatei schränkt die Speicherkapazität ein und erschöpft möglicherweise den für Anwendungen reservierten virtuellen Speicher. Wenn nicht genügend RAM vorhanden ist, kommt es zu mehr Paging, was wiederum zu einer zusätzlichen Belastung des Laufwerks führt und die Reaktionsfähigkeit des Systems verringert. In diesem Fall erfordert Windows NT, dass die Mindestgröße der Auslagerungsdatei der Größe des physischen RAM entspricht, zusätzlich zu 1 MB virtuellem Speicher beim Systemstart, um Debuginformationen in eine Datei schreiben zu können. Wie bereits erwähnt, werden die maximale und minimale Größe der Auslagerungsdatei im Dialogfeld „Virtueller Speicher“ angegeben. Je nach Anwendung vergrößert und verkleinert sich die Auslagerungsdatei. Die Auslagerungsdatei kann nicht komprimiert oder verwaltet werden, während das System ausgeführt wird. Auslagerungsdateien können jedoch mit verschiedenen Softwarepaketen von Drittanbietern wie Diskeeper verwaltet werden.


Haftungsausschluss

Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von großen Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrität der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um ihn zu löschen. Kontaktinformationen: admin@php.cn

Verwandter Artikel

Was sind die besten PHP-Bibliotheken für den benutzerdefinierten XLSX/XLS-Export und -Import? Was sind die besten PHP-Bibliotheken für den benutzerdefinierten XLSX/XLS-Export und -Import?

03 Jan 2025

Alternative Bibliotheken zu PHP_excel für den Export nach XLSX/XLS in einem benutzerdefinierten FormatPHP_excel ist eine beliebte Bibliothek für die Arbeit mit Excel...

Wie kann ich die Leistung einer PHP-Klasse für eine bestimmte Aufgabe genau bewerten? Wie kann ich die Leistung einer PHP-Klasse für eine bestimmte Aufgabe genau bewerten?

19 Dec 2024

Messen der Ausführungsgeschwindigkeit von PHP-CodeWie können Sie genau bestimmen, welche Klasse unter ähnlichen Klassen eine bestimmte Aufgabe effizienter ausführt? Zu...

Warum wird in C beim Instanziieren einer Klasse mit einer eingebetteten Klasse ohne Standardkonstruktor die Meldung „Für die Klasse existiert kein Standardkonstruktor' angezeigt? Warum wird in C beim Instanziieren einer Klasse mit einer eingebetteten Klasse ohne Standardkonstruktor die Meldung „Für die Klasse existiert kein Standardkonstruktor' angezeigt?

10 Dec 2024

„Für die Klasse ist kein Standardkonstruktor vorhanden“ Fehler in C beim Versuch, eine Instanz der GameCryptography-Klasse zu instanziieren, ohne eine … anzugeben.

Welche .NET-Timer-Klasse ist die richtige für Ihre Anwendung? Welche .NET-Timer-Klasse ist die richtige für Ihre Anwendung?

14 Jan 2025

Entschlüsselung der fünf Timer-Klassen in .NETDas .NET-Framework verfügt über eine Fülle von Timer-Klassen, die Entwicklern vielfältige Optionen für ... bieten.

Kann die ng-Klasse von AngularJS komplexe bedingte Ausdrücke für die Klassenanwendung verarbeiten? Kann die ng-Klasse von AngularJS komplexe bedingte Ausdrücke für die Klassenanwendung verarbeiten?

05 Jan 2025

Erweiterte bedingte Ausdrücke für die ng-Klasse in AngularJSFrage: Können wir bedingte Ausdrücke mit der ng-Klasse-Direktive von AngularJS verwenden, um...

Welche Java-Klasse behält die Einfügereihenfolge für Schlüsselwertzuordnungen am besten bei? Welche Java-Klasse behält die Einfügereihenfolge für Schlüsselwertzuordnungen am besten bei?

04 Dec 2024

Java-Klasse für geordnete SchlüsselwertzuordnungenIn Java kann es sein, eine Klasse zu finden, die Schlüsselwertzuordnungen verwaltet und die Einfügereihenfolge beibehält ...

See all articles