+154
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
trait TPerson {
public $fname;
public $lname;
public $mname;
// ...
}
class BUser extends EMongoDocument {
public $first_name;
public $last_name;
public $middle_name;
// ...
}
class User extends BUser {
public $firstname;
public $lastname;
// ...
}
Попалось такое наследие на одном рабочем месте. Было два типа юзеров, каждый из них наследовал BUser, в одном из них были firstname и lastname, в другом не были. В монге документы юзера, у которого свои firstname и lastname были вида:
{
_id: ObjectId("..."),
...
first_name: '',
last_name: '',
middle_name: '',
fname: '',
lname: '',
mname: '',
firstname: '',
lastname: ''
}
LubarVV,
26 Апреля 2014