另一个类中的类的对象

时间:2013-08-14 02:43:40

标签: php oop

class date{
    public $now,$today;
    public function __construct(){
        $now = new DateTime("now");
        $today = new DateTime("today");
    }
}

$date= new date();
echo $date->$now->format('l, jS F Y, g:i A');

代码无法使用错误

  

注意:未定义的属性:date :: $ now

根据OOP概念,我需要在任何函数之外的类中声明$now$today。但是php不需要声明变量。

什么是正确的方法?

2 个答案:

答案 0 :(得分:2)

您现在和今天都声明为构造函数的局部变量,而不是类的实例变量。然后,您需要使用$ this

引用它们
class date{
    public $now;
    public $today;

    public function __construct(){
        $this->now = new DateTime("now");
        $this->today = new DateTime("today");
    }
}

您可能还想重命名该类,以免与内置日期方法混淆。

答案 1 :(得分:1)

这里你在php中有正确的OOP形式:

<?php
class date{
        public $now;
        public $today;

        public function __construct(){
                $this->now = new DateTime("now");
                $this->today = new DateTime("today");
        }
}

$date= new date();
echo $date->now->format('l, jS F Y, g:i A');
?>