CodeIgniter のデータベース アクセスの抽出 class_PHP チュートリアル
そうですね、組織のニーズにより、私は最近再び PHP に切り替え始めました。主に上司がデータ アクセス層にログイン認証を追加する必要があるため、ビジネス ロジックは問題ありません。
実際、この要件は合理的です。インターネット サービスでは、上位層が下位層を保護する必要がありますが、下位層は上位層を完全に信頼することはできません。しかし、問題が 2 つあります:
1. 呼び出し元からのリクエストを組み立てて呼び出し側に返す mysql プロキシ サーバーを作成します。これを行う際の主な困難は次のとおりです:
a) SQL ステートメントのアセンブリとシリアル化
b) データセットのシリアル化。この分野には多くのプロダクトがありますが、結局のところ複雑すぎて、いじる時間がありません
思い切って諦めましょう。
2. mysql API の層をカプセル化すると、呼び出し元はそれをローカルで直接呼び出すことができます。この場合、考慮する必要があるのは SQL ステートメントのアセンブリだけです。今は選択肢がたくさんあります
a) django の Model に似たモデルクラスを使用します
b) ci
でアクティブレコードを使用する
Model メソッドはデータ層のシールドに優れていますが、チーム メンバーは一般に、このメソッドが軽量である場合には重すぎると考えており、最終的に CodeIgniter の AR を選択しました。
さて、今度は ci モジュールの分割が適切かどうかをテストします。
難しい作業の詳細については説明しませんが、システム データベースを別のディレクトリ x:/php/ にコピーする、最終的な実装について話しましょう。
ファイル myconfig.php を作成します:
定義('BASEPATH', dirname(__FILE__).'/');
定義('EXT', '.php');
require_once(BASEPATH . 'データベース/DB' . EXT);
関数&instantiate_class(&$class_object)
{
$class_object を返します;
}
関数 log_message($level = 'error', $message, $php_error = FALSE)
{
エコー($message);
}
関数MYDB()
{
$params = 配列(
'dbdriver' => 'mysql',
'ホスト名' => 'ローカルホスト',
'ユーザー名' => 'root',
'パスワード' => '',
'データベース' => 'ダンテ',
'pconnect' => TRUE、
'db_debug' => 偽、
'cache_on' => FALSE、
'char_set' => 'utf-8',
'dbcollat' => 'utf8_general_ci',
);
$db = DB($params,TRUE);
$db を返します;
}
?>
テスト ファイル test.php を作成します:
require_once('myconfig.php');
$db = MYDB();
$db->select('ID,ユーザーログイン,ユーザーメール');
$query = $db->get('wp_users');
エコー「n」;
foreach ($query->result() as $row)
{
$row->ID を出力します。 "n";
$row->user_login を印刷します。 "n";
$row->user_email を印刷します。 "n";
}
?>
入力結果は以下の通りです:
1
管理者
zny2008@gmail.com
OK~~~ このように、データアクセス前に権限検証が必要な場合は、MYDB関数内で判断するだけで済みます。
さらに、ci モジュールの分割は systemcodeigniterCommon.php から来ていると言わざるを得ません。各呼び出し元が異なる方法でログを書きたいため、log_message を書き直しました。 (例えば今回は画面に直接印刷しましたが…), 最近たまたまデザインパターンを見ていたのですが、この方法もテンプレートメソッドのパターンと一致しています。

ホット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 でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

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

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

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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