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

PHP オブジェクト指向プログラミングのクイック スタート

WBOY
リリース: 2016-07-29 08:35:40
オリジナル
879 人が閲覧しました

[要約] オブジェクト指向プログラミング (OOP) は私たちのプログラミングの基本スキルであり、PHP4 は OOP を適切にサポートします。 OOP のアイデアを使用して PHP の高度なプログラミングを実行する方法は、PHP プログラミング能力を向上させ、優れた Web 開発アーキテクチャを計画するために非常に意味があります。
オブジェクト指向プログラミング (OOP) は私たちのプログラミングの基本スキルであり、PHP4 は OOP を適切にサポートします。 OOP のアイデアを使用して PHP の高度なプログラミングを実行する方法は、PHP プログラミング能力を向上させ、優れた Web 開発アーキテクチャを計画するために非常に意味があります。以下では、例を使用して、PHP の OOP をプログラミングに使用する実際的な意義と応用方法を説明します。
通常、データベース バックエンドを使用して Web サイトを構築するときは、プログラムがさまざまなアプリケーション環境に適している必要があると考えます。他のプログラミング言語と異なるのは、PHP ではデータベースを操作するために一連の特定の関数が使用されることです (ODBC インターフェイスを使用しない場合)。これは非常に効率的ですが、カプセル化だけでは十分ではありません。統一されたデータベース インターフェイスがあれば、プログラムに変更を加えることなく、それをさまざまなデータベースに適用できるため、プログラムの移植性とクロスプラットフォーム機能が大幅に向上します。
PHP で OOP を完成するには、オブジェクトのカプセル化を実装する、つまりクラスを作成する必要があります。新しい SQL クラスを生成することで、データベースの単純なカプセル化を実現できます。例:
PHP:

コードをコピーします。 コードは次のとおりです: function DriverRegister($d)

{
if($d!="")
{
$include_path = ini_get("include_path")
$DriverFile = $include_path."/".$d." .php";
//ドライバーの保存パスは、PHP.ini ファイルで設定された INCLUDE_PATH の下にある必要があります
if(file_exists($DriverFile)) //ドライバーが存在するかどうかを確認します
{
include($DriverFile);
$ this- >Driver = new $d();
//ドライバー名に基づいて、対応するデータベース ドライバー クラスを生成します
}
} //ドライバーの登録に失敗しました
}
function ($host,$user ,$passwd,$database)//データベースに接続する関数
{
$this->Driver->host=$host;
$this->Driver->user= $ユーザー;
$this->ドライバー->passwd=$passwd;
$this->ドライバー->データベース=$データベース;
$this->ドライバー-> 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->($res); ?>

MySQLデータベースで運用している例です。データベース ドライバー クラス MySQL を作成します。このクラスでは、MySQL データベース操作に関連する関数をさらにカプセル化します。このクラスを含むファイルを MySQL.php という名前で PHP システムの include_path 配下に置くと、正常に使用できるようになります。データベース ドライバー ファイルを作成するときは、ファイル名がクラス名と一致している必要があることに注意してください。
PHP:



コードをコピー

コードは次のとおりです:

 
クラス MySQL
{
var $host; 
var $ユーザー; 
var $passwd; 
var $データベース; 
function MySQL() //利用构造関数数实现变量初期化
{
$host = ""; 
$ユーザー = 「」; 
$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 $行; 
}
}
function getRowsNum($res)
{
$rowno = 0; 
$rowno = mysql_num_rows($res); 
return $rowno; 
}
}
?> 


同様に、他の「データベース ドライブ」を自分の SQL クラスにカプセル化する場合は、対応するクラスを作成し、同じ名前のデータベース プログラムを PHP のインクルード リストに保存するだけで済みます。
カプセル化が完了すると、
PHP:

倍コードコードは次のようになります:

 
Include(“SQL.php”); 
$sql = 新しい < font color="#0000bb">SQL; // 新しい Sql オブジェクトを生成
if($sql->DriverRegister(“MySQL”& lt;font color="#007700">)) //注册数据库驱动
{
$sql->Connect(“ localhost”,”root”&l t;font color="#007700">,””,”test”&l t;font color="#007700">); 
$res=$sql->query(“select & lt;font color="#007700">* 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(); 
}
?> 

実際のアプリケーションでは、実際の必要な要求に応じて、さまざまなオブジェクトの種類に対してさらに拡張を行うこともできます。PHP では、継承、重畳、参照、並列化などの一連の OOP メソッドも提供されています。さまざまな方法を十分に調整し、使用することで、普及しているウェブサイトをより合理的に構築し、より簡単に公開できるようになります。
以上、PHP の面からオブジェクトへのプロセスを紹介しましたが、側面の内容も含まれているため、PHP の教則に関心のある友人の助けになることを望みます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート