ホームページ バックエンド開発 PHPチュートリアル CodeIgniter のデータベース アクセスの抽出 class_PHP チュートリアル

CodeIgniter のデータベース アクセスの抽出 class_PHP チュートリアル

Jul 13, 2016 pm 05:46 PM
codeigniter 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 を書き直しました。 (例えば今回は画面に直接印刷しましたが…), 最近たまたまデザインパターンを見ていたのですが、この方法もテンプレートメソッドのパターンと一致しています。

著者「オオカミのパーソナルスペース」

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478617.html技術記事そうですね、組織のニーズにより、私は最近再び PHP に切り替え始めました。主に上司がデータ アクセス層にログイン認証を追加する必要があるため、ビジネス ロジックは問題ありません。 実際、この要求は合理的です...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

See all articles