首頁 PHP 函式庫 其它類別庫 分頁處理的PHP類
分頁處理的PHP類
<?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();
    }

分頁 (pagination),即將一個頁面分成兩個或兩個以上的頁面。

有一個自動分頁機制,可以將行動 Web窗體中的內部

容分割成一組群組較小的頁進行呈現,以適合於特定的裝置。此機制也呈現可用於瀏覽到其他頁面的使用者介面元素。無論你的NT伺服器的記憶體有多大,它總是顯得不夠充足。當實體RAM從低階開始運作時,Windows NT使用了分頁檔案Pagefile.sys。為了運行不同的進程和應用程序,Pagefile.sys為物理記憶體分配了一些空間。在這些空間內允許交換資料頁。顯然,系統在檔案系統快取中尋找資料而不是在磁碟機上搜尋資料會提高系統的效能。太多的搜尋操作會使處理器停頓下來。這就是為什麼短語“買更多的內存”成為電腦時代的陳詞濫調的原因之一:RAM是你的朋友。管理記憶體可使你的「朋友」更有效率。

Windows NT下的Windows Task Manager ([Ctrl][Alt][Delete] | Task Manager)是一個可以為存取記憶體使用情況提供快速重要資訊的察看工具。考慮實體記憶體的大小並計算MEM Usage計數器的值,Memory Usage History提供了記憶體活動的即時情況。把CPU Usage計數器和CPU Usage History與MEM Usage計數器一作比較,就可以簡單地得到效能的總和的評價。如果你必須決定是否要立刻啟動 Diskperf以進一步調查分頁過多問題那就非常便利了。 Windows NT的分頁檔案可以透過Control Panel |System | Performance 標籤| Virtual Memory進行管理。在這裡,你可以控制分頁檔案的幾個設定(包括大小和區域)。顯然,你可以允許系統對它進行處理,但為了獲得最佳配置還是使用Vitual Memory Manager (VMM)為好。

Windows NT分頁檔案的基本原則 Windows NT最初透過在實體RAM的數量上加上12MB以設定開始的分頁檔案大小。這12MB考慮到在系統故障時分頁檔案內容可傾倒到一個日誌中以防萬一。如果看見了「停止」框框和接著出現藍屏死機,你就在操作中遇到了這個問題。如果開始的分頁檔案的大小小於這個數(物理RAM的數量上加上12MB),就會開始收到Running Out Of Memory訊息。 Windows NT作業系統和其應用程式使用了約10MB的RAM。所以,應該從物理RAM的數量上減去這個值。這會給你充分的迴旋餘地決定你的伺服器的記憶體需求。 Windows NT要求分頁檔案的最小值為2MB。如果分頁檔案太小或根本不存在,啟動時就會出現警告訊息。

應該總是遵循RAM的最小值 12的規則。在任何情況下,分頁檔案都不能比伺服器中的RAM的大小小。如果系統有32 MB的實體RAM,加上12MB後分頁檔案總的大小就是44MB。顯然,分頁文件越大越好。意思是增加對實體RAM的投資,而不是簡單地增加分頁檔案的大小。如果沒有足夠的RAM,磁碟機就會花太多的時間對分頁檔案進行讀寫。這只會降低伺服器的速度,如果必須重新啟動伺服器來清除I/O請求,甚至會導致伺服器無法運作。而如果因為這個原因需要重啟機器,那麼可能就會有第二次。預設的12MB RAM足以在必要時清除分頁檔案的內容。小的分頁檔案限制了可以儲存的內容並且可能耗完為應用程式保留的虛擬記憶體。如果RAM不足,就會有更多的分頁,這反過來為驅動器增加了額外的負擔,從而降低了系統的響應速度。在這樣的情況下,Windows NT要求分頁檔案的最小值等於除了系統啟動時1MB虛擬記憶體之外的實體RAM的大小,以便能夠把偵錯資訊寫到一個檔案上。如前所述,分頁檔案的最大值和最小值在Virtual Memory對話方塊中指定。根據應用程序,分頁檔案會增大和縮小。當系統運作時,不能壓縮或維護分頁檔案。但是,使用各種第三方軟體套件如Diskeeper可對分頁檔案進行維護。


免責聲明

本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn

相關文章

php如何使用PHP圖片處理類別庫? php如何使用PHP圖片處理類別庫?

02 Jun 2023

PHP圖片處理類別庫是PHP開發者常用的工具之一,它可以幫助我們快速輕鬆地對圖片進行編輯、剪裁、縮放等操作。本文將介紹如何使用PHP圖片處理類別庫。一、什麼是PHP圖片處理類別庫? PHP圖片處理類別庫是為了方便PHP開發者對圖片進行快速處理而開發的一組工具包。它可以處理JPG、PNG、GIF和BMP等圖片格式,實現圖片縮放、旋轉、裁剪等多

PHP實作資料庫的分頁類 PHP實作資料庫的分頁類

28 Jul 2016

: PHP實作資料庫的分頁類別:PHP實作資料庫的分頁類別最近在實作一個商品的管理專案,對商品的資料能進行分頁的輸出. 因此,實作了一個分頁類別操作,具體程式碼如下:class SepPage{var$rs;var$pagesize;var$nowpage;var$array;var$conn;var$sqlarr;function ShowData($sqlarr,$conn,$ pagesize,$nowpage){ //定義方法

MybatisPlus怎麼處理Mysql的json類型 MybatisPlus怎麼處理Mysql的json類型

27 May 2023

MybatisPlus處理Mysql的json類型1、在資料庫表定義JSON欄位;2、在實體類別加上@TableName(autoResultMap=true)、在JSON欄位對映的屬性加上@TableField(typeHandler=JacksonTypeHandler.class);1.實體類別中有個屬性是其他對象,或是List;在資料庫中儲存時使用的是mysql的json格式,此時可以用mybatisplus的一個註解@TableField(typeHandler=JacksonTypeH

如何處理 Python 類型提示中的循環依賴? 如何處理 Python 類型提示中的循環依賴?

21 Oct 2024

本文討論 Python 類型提示中的循環依賴問題,特別是當類別在其類型註釋中引用不存在的類別時發生的 NameError 異常。它使用前向引用和

PHP 的 `::class` 如何簡化類別名稱處理? PHP 的 `::class` 如何簡化類別名稱處理?

26 Nov 2024

在 PHP 的 ::class 表示法中使用 ::class 確定類別名稱是一種有用的機制,它傳回類別的完全限定名稱,包括...

如何使用 PHP 中的 BigInteger 類別處理大整數? 如何使用 PHP 中的 BigInteger 類別處理大整數?

21 Oct 2024

在 PHP 中使用 BigInteger 類別 PHP 提供了多種處理大整數值的方法。 BigInteger 類別就是這樣的選項之一。但是,您可以使用外部程式庫

See all articles