我正在读到在另一个类(database class
)中使用类属性(html class
)的最佳方法是在类(html
)中创建该类的实例。至于为什么,我不确定......但无论如何。
这是怎么做到的? 我有两个场景,看看哪个是正确的,哪些是错的......
情景A
require( database.php );
class html(){
private static $db = null;
private static $page = null;
public function __construct($id){
self::bootstrap($id);
}
public static function bootstrap($id){
self::$db = new database();
self::$page = $db->page($id);
return self::$page;
}
}
//$page = new html('hello-world');
//print $page;
print html::bootstrap('hello-world');
情景B
//Class autoloader
spl_autoload_register(function ($class) {
include $_SERVER['DOCUMENT_ROOT'] . '/class/' . $class . '.php';
});
//Scenario B code
class html(){
private static $page = null;
public static function bootstrap($id){
self::$page = database::page($id);
return self::$page;
}
}
print html::bootstrap('hello-world');
如果这些是错误的方法,也许你有一个合适的不同场景
答案 0 :(得分:1)
我认为没有任何情况是错误的,但情景B更合适。由于page
被设计为database
类中的静态方法,因此会通知故意使用该方法。