所以这是今天使用方法的类()。是否可以调用today()而不需要实例化的类对象来运行它?
即。不使用MyDateClass :: today()
<?php
Class MyDateClass
{
public $mm;
public $dd;
public $yyyy;
function __construct($mm, $dd, $yyyy)
{
$this->mm = $mm;
$this->dd = $dd;
$this->yyyy = $yyyy;
}
function today()
{
return date('Y-m-d');
}
}
?>
答案 0 :(得分:0)
MyDateClass::today()
- 这意味着您调用静态方法,并且静态方法不创建类的实例,除非存在创建实例的代码。但是,today()
不是静态的(没有static
字)。
静态函数更像是一个简单的函数而不是类方法。
Class MyDateClass
{
public $mm;
public $dd;
public $yyyy;
public $timestamp;
function __construct($mm, $dd, $yyyy)
{
$this->mm = $mm;
$this->dd = $dd;
$this->yyyy = $yyyy;
}
function printDate(){
echo $this->dd.'.'.$this->mm.'.'.$this->yyyy;
}
static function today()
{
return date('Y-m-d');
}
}
MyDateClass::today(); // no instance
$instance1 = new MyDateClass('01','05','2015'); //instance1
$instance2 = new MyDateClass('01','05','2014'); //instance2
$instance1->printDate(); // prints 05.01.2015
$instance2->printDate(); // prints 05.01.2014