到目前爲止,我已經使用過一個連接類和一個類來保存頁面的邏輯。然而,我現在有一個頁面,我需要根據可能發生的不同場景使用多個類。如何在沒有多個連接的情況下使用多個類?
這是我已經能夠做的工作,但它似乎是不好的做法。我已經四處搜尋,但找不到解決方案。所以我的問題是,什麼是我想要做的更好的方式。
<?php
require 'class/connect.php';
$db = new Connect();
require 'class/normal-page.php';
require 'class/get-page.php';
?>
<?php if (!isset($_GET['id'])) { ?>
<?php $normalpage = new NormalPage($db); ?>
<?php
} else {
$id = $_GET["id"];
$getpage = new Getpage($id, $db);
?>
<h1><?php echo $getpage->getTitle(); ?></h1>
<p><?php echo $getpage->getDescription(); ?></p>
<?php } ?>
class Normalpage {
function __construct($db) {
$query = 'SELECT something FROM table';
$result = $db->query($query);
}
}
希望這是足夠的信息是有道理的。所以簡而言之,我包含connect類,並在其他兩個類中使用該變量。
除了@ nickb的答案,我建議你看看自動加載類。這樣,你不必指定你有類文件包括,因爲它們會自動加載,請參閱http://php.net/manual/en/language.oop5.autoload.php – jeroen
我覺得你可以讓你的使用[autoloading](http://php.net/manual/de/language.oop5.autoload.php)也會讓生活變得更輕鬆。 **編輯:**像吉榮寫道,與此同時,同樣的想法;) – hakre