Вот два подхода:
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();
Вызвать родительский метод как этот 'parent :: a1();'? –
'$ time' не существует вне метода. Вы должны сделать это свойство класса или вернуть его из метода, чтобы вы могли использовать значение. – jeroen
Просто подумал, вы можете называть прямую функцию a1() внутри b1() будет работать –