ホームページ > バックエンド開発 > PHPチュートリアル > PHP オブジェクト指向プログラミングのクイック スタート_PHP チュートリアル

PHP オブジェクト指向プログラミングのクイック スタート_PHP チュートリアル

WBOY
リリース: 2016-07-21 16:07:49
オリジナル
786 人が閲覧しました

オブジェクト指向プログラミング (OOP) はプログラミングの基本スキルであり、PHP4 は OOP を適切にサポートします。 OOP のアイデアを使用して PHP の高度なプログラミングを実行する方法は、PHP プログラミング能力を向上させ、優れた Web 開発アーキテクチャを計画するために非常に意味があります。以下では、例を使用して、PHP の OOP をプログラミングに使用する実際的な意義と応用方法を説明します。

通常、データベース バックエンドを使用して Web サイトを構築するとき、プログラムはさまざまなアプリケーション環境に適している必要があると考えます。他のプログラミング言語と異なるのは、PHP ではデータベースが一連の特定の関数によって操作されることです (ODBC インターフェイスを使用しない場合)。これは非常に効率的ですが、カプセル化だけでは十分ではありません。統一されたデータベース インターフェイスがあれば、プログラムに変更を加えることなく、それをさまざまなデータベースに適用できるため、プログラムの移植性とクロスプラットフォーム機能が大幅に向上します。

PHPでOOPを完成させるには、オブジェクトをカプセル化する、つまりクラスを書く必要があります。新しい SQL クラスを生成することで、データベースの単純なカプセル化を実現できます。例:

{
$include_path = ini_get("include_path");
$DriverFile = $include_path."/".$d.".php";ストレージ パスは PHP 内にある必要があります。ini ファイルに設定された INCLUDE_PATH の下にある必要があります
if( file_exists( $DriverFile)) //ドライバーが存在するかどうかを確認します
{
$this->Driver = new $ d();
// ドライバー名に応じて、対応するデータベースドライバークラスが生成されます
return true;
} //ドライバーの登録に失敗しました
}
function Connect($host,$user,$) passwd,$database)//データベースに接続する関数
{
$this->Driver->host=$host;
$this->Driver->user=$user; ;Driver->passwd=$pas
swd;
$this->Driver->database=$d
database;
$this->connection = $this->Driver->Connect();
}
function Close()//データベース関数を閉じる
{
$this->Driver->close($this->connection);
}
function Query($queryStr)//データベース文字列クエリ関数
{
return $this->Driver->query ($queryStr,$this->connection)
}
function getRows($res)//行を検索
{
return $this->Driver-> ;getRows($res);
function getRowsNum($res)//行番号を取得します
return $this->Driver->
}
}
?
MySQL データベースの操作を例として取り上げます。データベース ドライバー クラス MySQL を作成します。このクラスでは、MySQL データベース操作に関連する関数をさらにカプセル化します。このクラスを含むファイルを MySQL.php という名前で PHP システムの include_path 配下に置くと、正常に使用できるようになります。データベース ドライバー ファイルを作成するときは、ファイル名がクラス名と一致している必要があることに注意してください。

クラス MySQL
{
var $host; 
var $user; 
var $passwd; 
var $database; 
function MySQL() //利用构造関数数实现变量初期化
{
$host = ""; 
$user = ""; 
$passwd = 「」; 
$データベース = 「」; 
}
function Connect()
{
$conn = MySQL_connect($this->host, $this->user,$this->passwd) または
die("$this-> に接続できませんでした。ホスト"); 
MySQL_select_db($this->database,$conn) または
die("データベース $this->database;"); 
$conn を返す; 
}
関数 Close($conn)
{
MySQL_close($conn); 
}

function Query($queryStr, $conn)
{
$res =MySQL_query($queryStr, $conn) または
die("データベースをクエリできませんでした"); 
$res を返す; 
}
関数 getRows($res)
{
$rowno = 0; 
$rowno = MySQL_num_rows($res); 
if($rowno>0)
{
for($row=0;$row<$rowno;$row++)
{
$rows[$row]=MySQL_fetch_row($res); 
}
return $rows; 
}
}
関数 getRowsNum($res)
{
$rowno = 0; 
$rowno = mysql_num_rows($res); 
$rowno を返します; 
}
}
? > 
同様に、他の「データベース制御」を自分の SQL クラスにカプセル化する場合は、対応するクラスを作成するだけでよく、同じ名前のプログラム ファイルを PHP のインクルード項目に配置するだけで済みます。

<

<

< ? 
Include(“SQL.php”); 
$sql = 新しい SQL; // 新しい Sql オブジェクトの生成
if($sql-> DriverRegister(“MySQL”)) //注册数据库驱动
{
$sql->Connect(“localhost”,”root”,””,”test) ”); 
$res=$sql->query(“select * from test”); // 戻り查询记录集
$rowsnum = $sql->getRowsNum($res); 
if($rowsnum > 0)
{
$rows = $sql->getRows($res); 
foreach($rows as $row) //循環取出记录集コンテンツ
{
foreach($row as $field){
print $field;}
}
}
$sql->Close(); 
}
? > 

実際のアプリケーションでは、実際の必要な要求に応じて、さまざまなオブジェクトの種類に対してさらなる拡張を行うこともできます。たとえば、継承、再ロード、参照、串刺しなどの OOP メソッドも提供します。さまざまな方法を十分に調整し、使用することで、より信頼性の高いウェブサイトをより合理的に構築し、公開や保存をより容易にすることができます。

http://www.bkjia.com/PHPjc/314972.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314972.html技術記事オブジェクト指向プロシージャ (OOP) は私たちのプログラマの基本技術であり、PHP4 は OOP に適切なサポートを提供します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート