PHPオブジェクトの継承状況についてのガイダンスが必要です。私は持っています:次のような構成オブジェクト:
configuration{
var driver = 'mysql'; // or 'mssql';
var host = 'database_host';
var user = 'database_user';
var password = 'database_password';
var name = 'database_name';
}
2つのデータベースハンドラークラス:
class mysql{
public mysql(){} // connect
public query(){} // set a query
public result(){} // load result
}
class mssql{
public mysql(){} // connect
public query(){} // set a query
public result(){} // load result
}
とある種のクラスコントローラー:
class database{
public function __construct(){
$configuration = new configuration;
/*
* now, depending on the value of the $configuration->driver
* my database class must inherit methods from mysql or mssql class
*/
switch( $configuration->driver ){
case 'mysql':
// database inherit mysql methods
break;
case 'mssql':
// database inherit mssql methods
break;
}
}
}
次のような使用法:
$database = new database;
$database->query( 'select * from some_table' );
$result = $database->result();
したがって、データベースクラスのメソッドを使用する場合、構成オブジェクトに応じて、実際にはmysqlまたはmssqlメソッドを使用します。私のデータベースクラスがクラスコンストラクターで別のクラスを継承するようにしたいので、私が見る方法は受け入れられません。
私は誰かが私にこれをどのように行うことができるかについてアドバイスをくれることを望んでいました..言いましょう..正しい方法。
ありがとう。