Maison Bibliothèques PHP Autres bibliothèques Classe PHP pour le traitement de la pagination
Classe PHP pour le traitement de la pagination
<?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();
    }

La pagination consiste à diviser une page en deux pages ou plus.

Il existe un mécanisme de pagination automatique qui peut diviser le contenu

du formulaire Web mobile en un groupe de pages plus petites pour une présentation adaptée à l'appareil spécifique. Ce mécanisme restitue également les éléments de l'interface utilisateur qui peuvent être utilisés pour naviguer vers d'autres pages. Quelle que soit la quantité de mémoire dont dispose votre serveur NT, elle n'est toujours pas suffisante. Lorsque la RAM physique est faible, Windows NT utilise le fichier d'échange Pagefile.sys. Afin d'exécuter différents processus et applications, Pagefile.sys alloue de l'espace à la mémoire physique. L'échange de pages de données est autorisé dans ces espaces. Apparemment, les performances du système seront améliorées en demandant au système de rechercher des données dans le cache du système de fichiers plutôt que de rechercher les données sur le disque. Trop d'opérations de recherche peuvent enliser le processeur. C'est l'une des raisons pour lesquelles l'expression « acheter plus de mémoire » est devenue un cliché de l'ère informatique : la RAM est votre amie. La gestion de la mémoire rend vos « amis » plus efficaces.

Le Gestionnaire des tâches Windows ([Ctrl][Alt][Supprimer] | Gestionnaire des tâches) sous Windows NT est un outil de visualisation qui peut fournir des informations rapides et importantes pour accéder à l'utilisation de la mémoire. L'historique d'utilisation de la mémoire fournit une image immédiate de l'activité de la mémoire en prenant en compte la taille de la mémoire physique et en calculant la valeur du compteur d'utilisation MEM. La comparaison des compteurs d'utilisation du processeur et de l'historique d'utilisation du processeur avec les compteurs d'utilisation MEM fournit une évaluation simple des performances globales. Ceci est très pratique si vous devez décider de lancer Diskperf immédiatement pour enquêter plus en profondeur sur un problème de pagination excessif. Le fichier d'échange Windows NT peut être géré via l'onglet Panneau de configuration | Système | Mémoire virtuelle. Ici, vous pouvez contrôler plusieurs paramètres pour le fichier d'échange (y compris la taille et la zone). Évidemment, vous pouvez laisser le système le gérer, mais pour une configuration optimale, il est préférable d'utiliser le Visual Memory Manager (VMM).

Principes de base du fichier d'échange Windows NT Windows NT définit initialement la taille du fichier d'échange de départ en ajoutant 12 Mo à la quantité de RAM physique. Ces 12 Mo permettent de vider le contenu du fichier d'échange dans un journal par mesure de précaution en cas de panne du système. Si vous voyez une boîte Stop suivie d'un écran bleu de mort, vous avez rencontré ce problème dans votre opération. Si la taille du fichier d'échange de démarrage est inférieure à ce nombre (la quantité de RAM physique plus 12 Mo), vous commencerez à recevoir des messages de manque de mémoire. Le système d'exploitation Windows NT et ses applications utilisent environ 10 Mo de RAM. Par conséquent, cette valeur doit être soustraite de la quantité de RAM physique. Cela vous donnera une grande marge de manœuvre pour déterminer les besoins en mémoire de votre serveur. Windows NT nécessite une taille minimale de fichier d'échange de 2 Mo. Si le fichier d'échange est trop petit ou n'existe pas du tout, un message d'avertissement apparaîtra au démarrage.

La règle du minimum de RAM + 12 doit toujours être respectée. En aucun cas, le fichier d'échange ne peut être plus petit que la taille de la RAM du serveur. Si le système dispose de 32 Mo de RAM physique, plus 12 Mo, la taille totale du fichier d'échange est de 44 Mo. Évidemment, plus le fichier d'échange est volumineux, mieux c'est. Cela signifie augmenter l'investissement en RAM physique plutôt que simplement augmenter la taille du fichier d'échange. Sans suffisamment de RAM, le lecteur passera trop de temps à lire et à écrire dans le fichier d'échange. Cela ne fera que ralentir le serveur, voire le rendre inutilisable si le serveur doit être redémarré pour effacer les demandes d'E/S. Et si la machine doit être redémarrée pour cette raison, il peut y avoir une seconde fois. Les 12 Mo de RAM par défaut sont suffisants pour effacer le contenu du fichier d'échange si nécessaire. Un petit fichier d'échange limite ce qui peut être stocké et peut épuiser la mémoire virtuelle réservée aux applications. S'il n'y a pas assez de RAM, il y aura plus de pagination, ce qui imposera une charge supplémentaire sur le disque, rendant le système moins réactif. Dans ce cas, Windows NT exige que la taille minimale du fichier d'échange soit égale à la taille de la RAM physique en plus de 1 Mo de mémoire virtuelle au démarrage du système afin de pouvoir écrire des informations de débogage dans un fichier. Comme mentionné précédemment, les tailles maximale et minimale du fichier d'échange sont spécifiées dans la boîte de dialogue Mémoire virtuelle. En fonction de l'application, le fichier d'échange augmente et diminue. Le fichier d'échange ne peut pas être compressé ou conservé pendant que le système est en cours d'exécution. Cependant, les fichiers d'échange peuvent être gérés à l'aide de divers logiciels tiers tels que Diskeeper.


Clause de non-responsabilité

Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn

Article connexe

Exemples d'utilisation de la pagination et de la classe SqlHelper en php Exemples d'utilisation de la pagination et de la classe SqlHelper en php

14 Jan 2017

Cet article présente principalement l'utilisation des classes de pagination et de SqlHelper en PHP, et analyse les définitions et les techniques d'utilisation spécifiques des classes de requête de base de données PHP et des classes de pagination sous forme d'exemples. Les amis dans le besoin peuvent se référer à ce qui suit.

Comment inclure des fichiers JAR externes dans le chemin de classe pour le traitement de la compilation et des annotations Java ? Comment inclure des fichiers JAR externes dans le chemin de classe pour le traitement de la compilation et des annotations Java ?

11 Dec 2024

Inclure des fichiers Jar dans Classpath pour la compilation Java ou le traitement des annotations (ligne de commande)Pour compiler un programme nécessitant des dépendances de...

Comment calculer avec précision le nombre de pages pour la pagination ? Comment calculer avec précision le nombre de pages pour la pagination ?

04 Jan 2025

Arrondir les résultats de la division entière pour les contrôles de paginationLors de l'implémentation de la pagination en C# ou Java, il est nécessaire de calculer avec précision le nombre de pages...

Parallel.ForEach vs Task.Factory.StartNew : quel est le meilleur pour le traitement de la collecte parallèle ? Parallel.ForEach vs Task.Factory.StartNew : quel est le meilleur pour le traitement de la collecte parallèle ?

12 Jan 2025

Comprendre les nuances entre Parallel.ForEach et Task.Factory.StartNewLors de l'exécution d'opérations sur des collections en parallèle, les développeurs...

Classe de génération de vignettes PHP, prend en charge le traitement des bibliothèques imagemagick et gd Classe de génération de vignettes PHP, prend en charge le traitement des bibliothèques imagemagick et gd

18 Feb 2017

1. Réduire/agrandir proportionnellement 2. Remplissez la couleur d'arrière-plan 3. Recadrer par zone 4. Ajouter un filigrane, y compris la position du filigrane, la transparence, etc.

De combien de pages ai-je besoin pour la pagination : résoudre le problème de la division entière ? De combien de pages ai-je besoin pour la pagination : résoudre le problème de la division entière ?

03 Jan 2025

Arrondir la division entière : une énigme de paginationDans le domaine de la programmation, la division entière présente souvent un dilemme lorsqu'il s'agit de...

See all articles