我有下面的情况,我不知道怎么做:
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的父关键字,并返回a1()
函数的值。
<?php
class A
{
public static function a1()
{
$time = date("Y-m-d H:i:s");
return $time;
}
}
class B extends A
{
public function b1()
{
echo parent::a1();
}
}
你也可以试试这个
<?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();
有两种方法:
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;
}
}
您可以在代码中的任何地方使用时间变量,而无需实例化A类。另外,"$time"变量不一定是静态的