user6106183 user6106183 - 7 months ago 13
PHP Question

echo OOP php method

I had one lesson in OOP which included messaging between classes. On the tutorial, the guy just showed var_dump output version of that. I wanted to play with the code and change from var_dump to echo output, because it would me more useful in future. I just couldn't find any solution so you guys are my only option. Here's the code.

<?php

class Person {

protected $name;

public function __construct($name)
{
$this->name = $name;
}

public function getName()
{
return $this->name;
}
}

class Business {

// adding Staff class to Business
public function __construct(Staff $staff)
{
$this->staff = $staff;
}

// manual hire(adding Person to Staff)
public function hire(Person $person)
{
// add to staff
$this->staff->add($person);
}

// fetch members
public function getStaffMembers()
{
return $this->staff->members();
}
}

class Staff {

// adding people from Person class to "member" variable
protected $members = [];

public function __construct($members = [])
{
$this->members = $members;
}

// adding person to members
public function add(Person $person)
{
$this->members[] = $person;
}

public function members()
{
return $this->members;
}
}

// you can also create an array with this method

$bros = [
'Bro',
'Zdenko',
'Miljan',
'Kesten'
];

// pretty simple to understand this part

$employees = new Person([$bros]);

$staff = new Staff([$employees]);

$business = new Business($staff);

var_dump($business->getStaffMembers());
// or the print_r, it doesn't matter
print_r($business->getStaffMembers());

?>

Answer

Try to loop through the array and echo out every single value.

$array = $something //your assignment here
foreach($array as $key => $value ){
    echo "$key => $value\n";
}
Comments