所以,我有这个课程在我的应用程序中反复使用。这只是一个例子,而不是实际需要做的事情:
档案A:
class Names {
public function first() {
echo 'Bob';
}
}
使用spl_autoload_register
将该文件自动加载到我的应用中,并在其他页面/类中使用所有文件:
档案B:
class LastNames {
public function __construct() {
$this->first = new Names();
}
public function last() {
echo $this->first->first().' Smith';
}
}
$names = new LastNames();
echo $names->last(); // Bob Smith
我有很多文件在构造函数中实例化类Names
。
static function
代替public function
吗? Names
内的函数?答案 0 :(得分:0)
你有几个选择,使用静态功能就是其中之一:
class LastNames {
public static function foo(){
// do stuff
}
}
或者您可以使用单身人士:
class LastNames {
private static $instance = null;
private function __construct(){
// do stuff
}
public function foo(){
// do stuff
}
public static function getInstance(){
if ( !self::$instance ){
self::$instance = new LastNames();
}
return self::$instance;
}
}
然后你可以用:
来调用它$lastnames = LastNames::getInstance();
$lastnames->foo();