PHP デザイン パターン シリーズ - テンプレート パターン_PHP チュートリアル
テンプレートモード
テンプレート デザイン パターンは、一連のメソッドを実装する抽象オブジェクトを作成し、多くの場合、サブクラスはこのオブジェクトを独自のデザインのテンプレートとして使用します。
デザインシーン
通常、データベースの抽象クラスに使用されます。
コード設計:
[php]
if (!define('IS_INITPHP')) exit('アクセスが拒否されました!');
/*************************************************** * *********************************
* InitPHP 2.0 国産PHP開発フレームワーク Dao-dbbase Driver DB基本クラス
*------------------------------------------------ - ---------------------------------
* 著作権: CopyRight By initphp.com
※このソースコードはご自由にお使いいただけますが、ご使用の際は作者情報を保管しておいてください。他人の労働の成果を尊重することは、自分自身を尊重することです
*------------------------------------------------ - ---------------------------------
* $作者:zhuli
* $Dtime:2011-10-09
************************************************* * *********************************/
抽象クラス dbbaseInit{
/**
*抄録データベースリンク
* @param string $host SQL サーバー
* @param string $user データベースのユーザー名
* @param string $password データベースログインパスワード
* @param string $database データベース
* @param string $charset エンコーディング
* @param string $pconnect リンクが永続的かどうか
*/
抽象保護関数 connect($host, $user, $password, $database, $charset = 'utf8', $pconnect = 0);
/**
* *抽象的なデータベース実行ステートメント
* @param string $sql SQL ステートメント
* @return obj
*/
抽象保護関数クエリ($sql);
/**
*抽象データベース - 結果セット内の行数
* @param $result 結果セット
* @return 配列
*/
抽象保護関数 result($result, $num=1);
/**
*抽象データベース - 結果セットから連想配列として行を取得します
* @param $result 結果セット
* @return 配列
*/
抽象保護関数 fetch_assoc($result);
/**
*抽象データベース - 結果セットから列情報を取得し、オブジェクトとして返します
* @param $result 結果セット
* @return 配列
*/
抽象保護関数 fetch_fields($result);
/**
* 抽象データベース - 前の操作によって影響を受けたレコードの数
* @return int
*/
抽象保護関数affected_rows();
/**
*抽象データベース - 結果セット内の行数
* @param $result 結果セット
* @return int
*/
抽象保護関数 num_rows($result);
/**
* * 抽象データベース - 結果セット内のフィールドの数
* @param $result 結果セット
* @return int
*/
抽象保護関数 num_fields($result);
/**
*抽象データベース - 前の INSERT の ID 値を取得します
* @return Int
*/
抽象保護関数 insert_id();
/**
*抽象データベースリリース結果メモリ
* @param obj $result 解放する必要があるオブジェクト
*/
抽象保護関数 free_result($result);
/**
※抄録データベースのリンクは閉鎖しました
* @param string $sql SQL ステートメント
* @return obj
*/
抽象保護関数 close();
/**
* エラーメッセージ
* @戻り文字列
*/
抽象保護関数 error();
}
if (!define('IS_INITPHP')) exit('アクセスが拒否されました!');
/*************************************************** * *********************************
* InitPHP 2.0 国産 PHP 開発フレームワーク Dao-mysqli 基本クラス
*------------------------------------------------ - ---------------------------------
* 著作権: CopyRight By initphp.com
※このソースコードはご自由にお使いいただけますが、ご使用の際は作者情報を保管しておいてください。他人の労働の成果を尊重することは、自分自身を尊重することです
*------------------------------------------------ - ---------------------------------
* $作者:zhuli
* $Dtime:2011-10-09
************************************************* * *********************************/
クラス mysqliInit extends dbbaseInit{
パブリック $link_id; //链接对象
/**
* MYSQL コネクタ
* @param string $host SQL サーバー
* @param string $user データベースのユーザー名
* @param string $password データベースログインパスワード
* @param string $database データベース
* @param string $charset エンコーディング
* @param string $pconnect リンクが永続的かどうか
* @return obj
*/
public function connect($host, $user, $password, $database, $charset = 'utf8', $pconnect = 0) {
$link_id = ($pconnect == 0) ? mysqli_connect($host, $user, $password) : mysqli_pconnect($host, $user, $password);
if (!$link_id) InitPHP::initError('mysql 接続エラー!');
mysqli_query($link_id, 'SET NAMES ' . $charset);
if (!mysqli_select_db($link_id, $database)) InitPHP::initError('データベースが存在しません!');
$link_id を返します;
}
/**
* SQL エグゼキュータ
* @param string $sql SQL ステートメント
* @return obj
*/
パブリック関数クエリ($sql) {
return mysqli_query($this->link_id, $sql);
}
/**
* *結果セット内の行数
* @param $result 結果セット
* @return 配列
*/
パブリック関数 result($result, $num=1) {
return mysqli_result($result, $num);
}
/**
* 結果セットから連想配列として行を取得します
* @param $result 結果セット
* @return 配列
*/
パブリック関数 fetch_assoc($result) {
mysqli_fetch_assoc($result) を返します;
}
/**
* 結果セットから列情報を取得し、オブジェクトとして返します
* @param $result 結果セット
* @return 配列
*/
パブリック関数 fetch_fields($result) {
mysqli_fetch_field($result) を返します。
}
/**
* *結果セット内の行数
* @param $result 結果セット
* @return int
*/
パブリック関数 num_rows($result) {
mysqli_num_rows($result) を返します;
}
/**
* *結果セット内のフィールドの数
* @param $result 結果セット
* @return int
*/
パブリック関数 num_fields($result) {
mysqli_num_fields($result) を返します。
}
/**
*リリース結果メモリ
* @param obj $result 解放する必要があるオブジェクト
*/
パブリック関数 free_result($result) {
mysqli_free_result($result) を返します。
}
/**
* 前の INSERT の ID 値を取得します
* @return Int
*/
パブリック関数 insert_id() {
return mysqli_insert_id($this->link_id);
}
/**
* * 前回の操作によって影響を受けたレコードの数
* @return int
*/
パブリック関数affected_rows() {
return mysqli_affected_rows($this->link_id);
}
/**
*接続を閉じる
* @return bool
*/
パブリック関数 close() {
if ($this->link_id !== NULL) @mysqli_close($this->link_id);
$this->link_id = NULL;
true を返します。
}
/**
* エラーメッセージ
* @戻り文字列
*/
パブリック関数 error() {
return mysqli_error($this->link_id);
}
}
作者:initphp

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

昨年Huawei Mate60シリーズが発売されて以来、個人的にはMate60Proをメインで使っています。ほぼ1年の間に、Huawei Mate60Proは複数のOTAアップグレードを受け、全体的なエクスペリエンスが大幅に向上し、人々に常に新しい感覚を与えました。たとえば、最近、Huawei Mate60 シリーズは再びイメージング機能の大幅なアップグレードを受けました。 1 つ目は、新しい AI 除去機能で、通行人やゴミをインテリジェントに除去し、空白領域を自動的に埋めることができます。2 つ目は、メインカメラの色の精度と望遠の鮮明さが大幅に向上しました。新学期シーズンであることを考慮して、Huawei Mate60シリーズは秋のプロモーションも開始しました。携帯電話の購入時に最大800元の割引が受けられ、開始価格は4,999元という低価格です。よく使われる、価値の高い新製品が多い
