Звучит как проблема наследования.У вас есть Person
, но тогда этого человека можно описать в более конкретных терминах, таких как Employee
или Customer
.
Обычно в объектно-ориентированном программировании вы начинаете с базового класса (в этомinstance, Person
), а затем добавьте свойства в расширяющиеся подклассы.Таким образом, Person
может иметь имя, Employee
может иметь номер сотрудника, но это не имело бы смысла, если бы они были Customer
.
. Что вы могли бы сделать, так это реализовать декораторшаблон, и просто продолжайте строить на своем Person
классе.Я не уверен, как вы в настоящее время строите профили людей в своем текущем приложении, но в псевдокоде это будет выглядеть следующим образом:
<?php
$id = intval($_GET['person_id']);
$employee = new Employee(new Person($id));
Это создаст экземпляр вашего класса Person
, тогда это будетбыть переданным в ваш Employee
класс, чтобы получить дополнительные свойства и методы, характерные для сотрудника.