I'm working on a script that MUST to call like this:
$father = Father::firstName('Esaaro')->lastName('Ozaaraa')->age(42);
Person::firstName("Soobaasaa")->lastName( "Ozaaraa")->age(17)
->setFather( $father )-> toArray();
So we have two classes named Person and Father.
firstName method of two classes are static methods and other methods are public.
This is my file structure
<?php
class Person
{
protected static $name;
protected $lastName, $age, $father, $result;
public static function firstName($name = null)
{
self::$name = $name;
}
public function lastName($lastName = null)
{
$this->lastName = $lastName;
}
public function age($age = null)
{
$this->age = $age;
}
public function toArray()
{
}
public function setFather(Father $father)
{
}
}
/*
* Father Class
*/
class Father
{
protected static $name;
protected $family, $age, $result;
public static function firstName($name = null)
{
self::$name = $name;
}
public function lastName($lastName = null)
{
$this->family = $lastName;
}
public function age($age = null)
{
$this->age = $age;
}
public function toArray()
{
( (isset(static::$name) && static::$name !== null) ? $this->result['firsName'] = self::$name : '' );
( (isset($this->family) && $this->family !== null) ? $this->result['lastName'] = $this->family : '' );
return $this->result;
}
}
the above code is just structure and I just started to work on script. The file structure could not change because it's a challenge.
How should I manipulate my script that I can call methods like I mentioned before?
Thanks in Advance
from Chain methods aibility without force to new keyword using php
No comments:
Post a Comment