Список лучших open source проектов реализованных на Symfony?
Доброго времени суток!
Какие, на Ваш взгляд, лучшие open source проекты, реализованные с помощью Symfony? Где "чистый" код? Где приложение хорошо спроектировано? Где корректные тесты?
Спасибо
Игорь Катков: в большинстве случаев гетеры и сеттеры приводят к нарушению икапсуляции. Пример:
<?php
class User {
private $firstName;
private $lastName;
public function setFirstName($firstName : string) {
$this->firstName = $firstName;
}
public function getFirstName() {
return $this->firstName;
}
public function setLastName($lastName : string) {
$this->lastName = $lastName;
}
}
Казалось бы, все хорошо, но.... допустим по нашей логике пользователь всегда должен иметь имя и фамилию. В случае с сеттерами мы можем спокойно создать объект вообще не указывая имени или фамилии, или же мы можем установить только имя, и забыть фамилию... словом... поведение объекта и его логика начинают вытекать из объекта наружу.
Что следовало бы сделать, убрать сеттеры и либо указывать имя/фамилию в конструкторе объекта, или вообще заточить это дело в value-object. Тут как удобнее, по ситуации.
Но не стоит опять же впадать в крайности, иногда сеттеры можно писать, когда по вашим правилам должна быть возможность установить значение одного свойства. Геттеры же тоже довольно часто нужды. Проблема в том что большинство разработчиков написав свой объект сразу же просит IDE сгенерировать геттеры и сеттеры вообще для всего. И вот это плохо.
Денис: ну да.... я бы хотел увидеть в опенсурсе проект написанный по DDD или с применением CQRS... но что-то пока не видел, видел только библиотеки для организации всего этого.