public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } public function remove() { foreach ($this->members as $key => $object) { if ($key == 2) { unset($this->members[2]); } } } public function members() { return $this->members; } } $jess = new Person('Jess Vista'); $jom = new Person('Jose Mari Vista'); $chris = new Person('Chris Vista'); $staff = new Staff([$jess]); $google = new Business($staff); $google->hire($jom); $google->hire($chris); var_dump($google->getStaffMembers()); $google->kick(); var_dump($google->getStaffMembers());
public function hire(Person $person) { // add $person to staff collection $this->staff->add($person); } public function getStaffMembers() { return $this->staff->members(); } } class Staff { protected $members = []; public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } public function members() { return $this->members; } } $steven = new Person('Steven Jasionowicz'); $staff = new Staff([$steven]); $codeshop = new Business($staff); var_dump($codeshop->getStaffMembers());
// if it's a getter, always add the get keyword public function getStaffMembers() { return $this->staff->getMembers(); } } class Staff { protected $members = []; public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } // if it's a getter, always add the get keyword public function getMembers() { return $this->members; } } $jeffrey = new Person('Jeffrey Way'); $staff = new Staff([$jeffrey]); $laracasts = new Business($staff); $noob = new Person('Jane Doe'); $laracasts->hire($noob); // shorthand: $laracasts->hire(new Person('Jane Doe')); var_export($laracasts->getStaffMembers());
$this->staff->add($person); } public function getStaffMembers() { return $this->staff->members(); } } class Staff { protected $members = []; public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } public function members() { return $this->members; } } $oscar = new Person('Pepe Pepito'); $staff = new Staff([$oscar]); $laracasts = new Business($staff); //$laracasts->hire($oscar); $laracasts->hire(new Person('Oscar ')); //var_dump($staff); var_dump($laracasts->getStaffMembers());
} class Staff { protected $members = []; public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } public function members() { return $this->members; } } // An example how to call this and build the objects out: $owner = new Person('Sean', 'Owner'); $secondowner = new Person('Jackie', 'Leecher'); $staff = new Staff([$owner, $secondowner]); $scs = new Business("SCS", $staff); $scs->hire(new Person('Jake', 'Tech')); $scs->hire(new Person('Colby', 'Tech')); echo "Company report for " . $scs->getCompanyName() . "\n"; echo "=====\n"; foreach ($scs->getStaffMembers() as $member) { echo $member->getName() . ", with position: " . $member->getPosition() . "\n"; } //var_dump($scs); echo "Yeee, we're at the end...\n";
public function hire(Person $person) { $this->staff->add($person); } public function getStaffMembers() { return $this->staff->members(); } } class Staff { protected $members = []; public function __construct($members = []) { $this->members = $members; } public function add(Person $person) { $this->members[] = $person; } public function members() { return $this->members; } } $ryan = new Person('Ryan Abney'); $staff = new Staff([$ryan]); $giadc = new Business($staff); $giadc->hire(new Person('Eric Snatcher')); var_dump($giadc->getStaffMembers());