シンプル、便利、フル機能の php ページング クラス
<code class="php plain"><br>
分页类代码<br>
<?php
ページネーションクラスコード
class
SubPages{
private
$each_disNums
;
//每页显示的条目数
private
$nums
;
//总条目数
private
$current_page
;
//当前被选中的页
private
$sub_pages
;
//每次显示的页数
private
$pageNums
;
//总页数
private
$page_array
=
array
();
//用来构造分页的数组
private
$subPage_link
;
//每个分页的链接
private
$subPage_type
;
//显示分页的类型
/*
__construct是SubPages的构造函数,用来在创建类的时候自动运行.
@$each_disNums 每页显示的条目数
@nums 总条目数
@current_num 当前被选中的页
@sub_pages 每次显示的页数
@subPage_link 每个分页的链接
@subPage_type 显示分页的类型
当@subPage_type=1的时候为普通分页模式
example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function
__construct(
$each_disNums
,
$nums
,
$current_page
,
$sub_pages
,
$subPage_link
,
$subPage_type
){
<code class="php variable">$this->each_disNums=
intval
(
$each_disNums
);
<code class="php variable">$this->nums=
intval
(
$nums
);
if
(!
$current_page
){
<code class="php variable">$this->current_page=1;
}
else
{
<code class="php variable">$this->current_page=
intval
(
$current_page
);
}
<code class="php variable">$this->sub_pages=
intval
(
$sub_pages
);
<code class="php variable">$this->pageNums=
ceil
(
$nums
/
$each_disNums
);
<code class="php variable">$this->subPage_link=
$subPage_link
;
<code class="php variable">$this->show_SubPages(
$subPage_type
);
//echo $this->pageNums."--".$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function
__destruct(){
unset(
$each_disNums
);
unset(
$nums
);
unset(
$current_page
);
unset(
$sub_pages
);
unset(
$pageNums
);
unset(
$page_array
);
unset(
$subPage_link
);
unset(
$subPage_type
);
}
/*
show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
*/
function
show_SubPages(
$subPage_type
){
if
(
$subPage_type
== 1){
<code class="php variable">$this->subPageCss1();
}
elseif
(
$subPage_type
== 2){
<code class="php variable">$this->subPageCss2();
}
}
/*
用来给建立分页的数组初始化的函数。
*/
function
initArray(){
for
(
$i
=0;
$i
<code class="php variable">$this
->sub_pages;
$i
++){
<code class="php variable">$this->page_array[
$i
]=
$i
;
}
return
<code class="php variable">$this->page_array;
}
/*
construct_num_Page该函数使用来构造显示的条目
即使:[1][2][3][4][5][6][7][8][9][10]
*/
function
construct_num_Page(){
if
(
<code class="php variable">$this->pageNums <code class="php variable">$this
->sub_pages){
$current_array
=
array
();
for
(
$i
=0;
$i
<code class="php variable">$this
->pageNums;
$i
++){
$current_array
[
$i
]=
$i
+1;
}
}
else
{
$current_array
=
<code class="php variable">$this->initArray();
if
(
<code class="php variable">$this->current_page
<div class="line number92 index91 alt1">
<code class="php spaces">
for
(
$i
=0;
$i
<code class="php functions">count
(
$current_array
);
$i
++){
$current_array
[
$i
]=
$i
+1;
}
}
elseif
(
<code class="php variable">$this->current_page <code class="php variable">$this
->pageNums &&
<code class="php variable">$this->current_page >
<code class="php variable">$this->pageNums -
<code class="php variable">$this->sub_pages + 1 ){
for
(
$i
=0;
$i
<code class="php functions">count
(
$current_array
);
$i
++){
$current_array
[
$i
]=(
<code class="php variable">$this->pageNums)-(
<code class="php variable">$this->sub_pages)+1+
$i
;
}
}
else
{
for
(
$i
=0;
$i
<code class="php functions">count
(
$current_array
);
$i
++){
$current_array
[
$i
]=
<code class="php variable">$this->current_page-2+
$i
;
}
}
}
return
$current_array
;
}
/*
构造普通模式的分页
共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
*/
function
subPageCss1(){
$subPageCss1Str
=
""
;
$subPageCss1Str
.=
"共"
.
<code class="php variable">$this->nums.
"条记录,"
;
$subPageCss1Str
.=
"每页显示"
.
<code class="php variable">$this->each_disNums.
"条,"
;
$subPageCss1Str
.=
"当前第"
.
<code class="php variable">$this->current_page.
"/"
.
<code class="php variable">$this->pageNums.
"页
"
;
if
(
<code class="php variable">$this->current_page > 1){
$firstPageUrl
=
<code class="php variable">$this->subPage_link.
"1"
;
$prewPageUrl
=
<code class="php variable">$this->subPage_link.(
<code class="php variable">$this->current_page-1);
$subPageCss1Str
.=
"[<a href="%24firstPageUrl">首页</a>] "
;
$subPageCss1Str
.=
"[<a href="%24prewPageUrl">上一页</a>] "
;
}
else
{
$subPageCss1Str
.=
"[首页] "
;
$subPageCss1Str
.=
"[上一页] "
;
}
if
(
<code class="php variable">$this->current_page <code class="php variable">$this
->pageNums){
$lastPageUrl
=
<code class="php variable">$this->subPage_link.
<code class="php variable">$this->pageNums;
$nextPageUrl
=
<code class="php variable">$this->subPage_link.(
<code class="php variable">$this->current_page+1);
$subPageCss1Str
.=
" [<a href="%24nextPageUrl">下一页</a>] "
;
$subPageCss1Str
.=
"[<a href="%24lastPageUrl">尾页</a>] "
;
}
else
{
$subPageCss1Str
.=
"[下一页] "
;
$subPageCss1Str
.=
"[尾页] "
;
}
echo
$subPageCss1Str
;
}
/*
构造经典模式的分页
当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function
subPageCss2(){
$subPageCss2Str
=
""
;
$subPageCss2Str
.=
"当前第"
.
<code class="php variable">$this->current_page.
"/"
.
<code class="php variable">$this->pageNums.
"页
"
;
if
(
<code class="php variable">$this->current_page > 1){
$firstPageUrl
=
<code class="php variable">$this->subPage_link.
"1"
;
$prewPageUrl
=
<code class="php variable">$this->subPage_link.(
<code class="php variable">$this->current_page-1);
$subPageCss2Str
.=
"[<a href="%24firstPageUrl">首页</a>] "
;
$subPageCss2Str
.=
"[<a href="%24prewPageUrl">上一页</a>] "
;
}
else
{
$subPageCss2Str
.=
"[首页] "
;
$subPageCss2Str
.=
"[上一页] "
;
}
$a
=
<code class="php variable">$this->construct_num_Page();
for
(
$i
=0;
$i
<code class="php functions">count
(
$a
);
$i
++){
$s
=
$a
[
$i
];
if
(
$s
==
<code class="php variable">$this->current_page ){
$subPageCss2Str
.=
"[<span style="color:red;font-weight:bold;">"</span>
.
$s
.
"]"
;
}
else
{
$url
=
<code class="php variable">$this->subPage_link.
$s
;
$subPageCss2Str
.=
"[<a href="%24url">"</a>
.
$s
.
"]"
;
}
}
if
(
<code class="php variable">$this->current_page <code class="php variable">$this
->pageNums){
$lastPageUrl
=
<code class="php variable">$this->subPage_link.
<code class="php variable">$this->pageNums;
$nextPageUrl
=
<code class="php variable">$this->subPage_link.(
<code class="php variable">$this->current_page+1);
$subPageCss2Str
.=
" [<a href="%24nextPageUrl">下一页</a>] "
;
$subPageCss2Str
.=
"[<a href="%24lastPageUrl">尾页</a>] "
;
}
else
{
$subPageCss2Str
.=
"[下一页] "
;
$subPageCss2Str
.=
"[尾页] "
;
}
echo
$subPageCss2Str
;
}
}
?>
デモコード:
<?php
require_once
(
"SubPages.php"
);
//每页显示的条数
$page_size
=20;
//总条目数
$nums
=1024;
//每次显示的页数
$sub_pages
=10;
//得到当前是第几页
$pageCurrent
=
$_GET
[
"p"
];
//if(!$pageCurrent) $pageCurrent=1;
$subPages
=
new
SubPages(
$page_size
,
$nums
,
$pageCurrent
,
$sub_pages
,
"test.php?p="
,2);
?>

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

XSS攻撃を防ぎ、リソースのロードを制限し、ウェブサイトのセキュリティを改善できるため、CSPは重要です。 1.CSPはHTTP応答ヘッダーの一部であり、厳格なポリシーを通じて悪意のある行動を制限します。 2。基本的な使用法は、同じ起源からのロードリソースのみを許可することです。 3.高度な使用法は、特定のドメイン名がスクリプトやスタイルをロードできるようにするなど、より微調整された戦略を設定できます。 4。CSPポリシーをデバッグおよび最適化するには、コンテンツセキュリティポリシーレポートのみのヘッダーを使用します。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

HTTPSは、HTTPに基づいてセキュリティレイヤーを追加するプロトコルであり、主に暗号化されたデータを介してユーザーのプライバシーとデータセキュリティを保護します。その作業原則には、TLSの握手、証明書の確認、暗号化された通信が含まれます。 HTTPSを実装する場合、証明書管理、パフォーマンスへの影響、および混合コンテンツの問題に注意を払う必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版
中国語版、とても使いやすい

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



