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) { $this->staff->add($person); } public function getStaff() { 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; } } $larry = new Person('Larry Page'); $staff = new Staff([$larry]); $google = new Business($staff); $google->hire(new Person('Sergey Brin')); var_dump($google->getStaff()); //var_dump($staff);
public function getMembers() { return $this->staff->getMembers(); } } class Staff { protected $members = []; public function __construct($members = []) { //staff isn't always req'd $this->members = $members; } public function add(Person $person) { //typehint Person $this->members[] = $person; } public function getMembers() { return $this->members; } } //The business depends on staff to run //this is a dependancy $ram = new Person('Ramaneek'); $staff = new Staff(); $company = new Business($staff); $company->hire($ram); $company->hire(new Person('Gagan')); var_dump($company->getMembers());
} // 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());
//Afegeix $person a la coleccio de staff $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());
<?php /** * Created by PhpStorm. * User: Jundat95 * Date: 12/24/2015 * Time: 10:05 AM */ require 'Person.php'; require 'Business.php'; require 'Staff.php'; $person = new Person('Doan Tinh'); $staff = new Staff([$person]); $business = new Business($staff); $business->hire(new Person('Ngo Tinh')); print_r($business->getStaffMember());
$this->members[] = $person; } public function members() { return $this->members; } } class Business { protected $stuff; public function __construct(Stuff $stuff) { $this->stuff = $stuff; } public function hire(Person $person) { // add person to stuff collection $this->stuff->add($person); } public function getStaffMembers() { return $this->stuff->members(); } } $anam = new Person('Anam'); $stuff = new Stuff([$anam]); $laracast = new Business($stuff); $laracast->hire(new Person('Jane Doe')); echo '<pre>'; var_dump($laracast->getStaffMembers()); echo '</pre>';
} 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());