我是PHP OOP编程方面的新手,我不明白以下类名的时间和方式以及何时使用它们:
$a = new Classname();
$a = new Classname;
$a = ClassName::function();
$a = ClassName::getInstance();
Run Code Online (Sandbox Code Playgroud)
非常感谢和抱歉愚蠢的问题:
Lei*_*igh 10
这些是相同的.
$a = new Classname();
$a = new Classname;
Run Code Online (Sandbox Code Playgroud)
当类构造函数不接受或不需要其他参数时,您可以互换使用它们.
例:
class Classname
{
public function __construct($var = null)
{
// ..
}
static public function getInstance()
{
// ..
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你可以使用$a = new Classname;
,并$var
会采取默认值,或者$a = new Classname('hello')
和$var
将等于传递的值.
这些都是静态方法调用.
$a = ClassName::function();
$a = ClassName::getInstance();
Run Code Online (Sandbox Code Playgroud)
一个调用一个名为"function"的方法(它不能存在 - 它是一个保留字),另一个调用名为"getInstance"的方法.当你使用它们时,实际上取决于方法的作用.
可以在不创建对象实例的情况下调用静态方法.
即
Classname::staticMethod();
Run Code Online (Sandbox Code Playgroud)
与
$obj = new Classname;
$obj->method;
Run Code Online (Sandbox Code Playgroud)