我有下面的情况下读取变量,我不知道如何作出这样的:如何从另一个类
class A {
public fuction a1()
{
$time = date("Y-m-d H:i:s");
}
}
class B extends A {
public function b1()
{
// how to echo the variable "$time" in class B?
}
}
我有下面的情况下读取变量,我不知道如何作出这样的:如何从另一个类
class A {
public fuction a1()
{
$time = date("Y-m-d H:i:s");
}
}
class B extends A {
public function b1()
{
// how to echo the variable "$time" in class B?
}
}
你也可以试试这个
<?php
class A
{
public static function a1()
{
echo $time = date("Y-m-d H:i:s");
}
}
class B extends A
{
public function b1()
{
$this->a1();
}
}
$object = new B;
$object->b1();
这里是2的方法:
First:
<?php
/**
* Class A
*/
class A
{
/**
* Class Property (Class Var)
* @var public
*/
public $time;
/**
* a1
* Set date time in class property $time
* @return [type] [description]
*/
public function a1()
{
$this->time = date("Y-m-d H:i:s");
}
}
/**
* Class B extends Class A
*/
class B extends A
{
/**
* b1
* Call Parent Class A method first to set date time
* then echo time output
* @return string Parent Class T$time value
*/
public function b1()
{
// first init the time value from parent class method
$this->a1();
// now show or get the parent class property
return $this->time;
}
}
/**
* Class Object B
* @var B
*/
$B = new B();
// call B Class method b1 to echo time
echo $B->b1();
Second:
<?php
/**
* Class A
*/
class A
{
/**
* Class Property (Class Var)
* @var public
*/
public $time;
/**
* a1
* Set date time in class property $time
* @return [type] [description]
*/
public function a1()
{
// set date time
$this->time = date("Y-m-d H:i:s");
// return set class property value
return $this->time;
}
}
/**
* Class B extends Class A
*/
class B extends A
{
/**
* b1
* Call Parent Class A method first to set date time
* then echo time output
* @return string Parent Class T$time value
*/
public function b1()
{
// first init the time value from parent class method
return $this->a1();
}
}
/**
* Class Object B
* @var B
*/
$B = new B();
// call B Class method b1 to echo time
echo $B->b1();
对于您可以声明你的第一类变量没有的功能。
class A()
{
protected static $time = date("Y-m-d H:i:s");
}
class B extends A
{
public function b1()
{
echo parent::$time;
}
}
您可以在代码中的任何位置使用time变量而无需实例化A类。 “$ time”变量也不一定是静态的。
调用父类方法就像这个'parent :: a1();'? –
'$ time'不存在于方法之外。您应该将其设置为类属性或从方法返回,以便可以使用该值。 – jeroen
只是想到,你可以调用直接函数a1()里面b1()它会工作 –