特に、データベース周りでいくつものパッケージがあるため、PHPのバージョンによって書き方が変わってきます。
PDOを使っていたのに、サーバーで使えない環境だった場合。
mysqliクラスを使っていたのにサーバーでクラスが発見できない場合。
せっかくあるコードが使えないということは、コードのリユースの面から不効率です。
対策としては、mysql*関数で書き直すか、あとは自前でクラスを作る。
そんなときのために、PHPでのクラスの書き方をアップしておきます。
if(!class_exists("mysqli"))
{
class mysqli
{
public $dbname;
function __construct($host,$dbuser,$dbpassword,$dbname)
{
$this->dbname=$dbname;
echo $dbuser;
if(!mysql_connect($host,$dbuser,$dbpassword))
echo "No DB connection established";
}
function query($sql)
{
if(!mysql_select_db($this->dbname))
echo "Database not selected";
return new mysqli_result(mysql_query($sql));
}
};
class mysqli_result
{
public $records;
function __construct($results)
{
$this->records=$results;
}
function fetch_assoc()
{
return mysql_fetch_assoc($this->records);
}
};
作り方としては、mysqliクラス、PDOクラスなど、クラスを作ってメソッドを実装する形となります。
クラス間でやりとりがある場合など、クラスを作って実装します。
ソースを変えずにポータブルなコードが可能になります。