PHP не позволяет вам перегружать операторы (за исключением нескольких небольших исключений). При этом вы всегда можете создать обходной путь:
class Person { ... }
class People
{
// Array of Person objects
private static $_people = Array();
// Add person object to people object
public function add(Array $persons)
{
foreach($persons as $person)
{
self::_people[] = $person;
}
}
}
$person1 = new Person;
$person2 = new Person;
$people = new People();
$people->add( Array($person1,$person2) );
...
Бла-бла ... Я вроде ругаю. Это просто концепция более или менее с большим количеством возможностей для совершенствования. Я хочу сказать, что вы можете комбинировать объекты таким образом, как этот.
Если ваша цель состоит в том, чтобы буквально применить оператор сложения к каждому свойству в двух классах и вывести непонятную версию объекта Person, вы можете создать функцию, которая сделает это за вас ... это просто не будет довольно как $person3 = $person1 + $person2;
. Вместо этого это может выглядеть как $person3 = add($person1,$person2);
.