Остался нерешенным один вопрос. Вот это место мне не нравится:
$currentDir = __DIR__;Здесь юзается $this-> вне метода. Очень некрасиво. Есть несколько решений, но все имеют недостатки.
$pos = stripos($currentDir, $this->repo);
$baseDir = substr($currentDir, 0, $pos);
$project = !empty($this->config['projectPpath']) ? $this->config['projectPpath'] .'/' : $this->version;
1. Затолкать в класс, и передать данные параметрами. Тогда придется запускать класс после инклюда, а для этого понадобится еще одно ветвление. Если селекторов будет больше одного, их тоже нужно группировать в свой класс. Лишний файл плюс директория. А хотелось бы минимализма. :)
2. Затолкать его в базовый класс отдельным методом. Решается проблема с инклюдом в методе, но нарушается принцип единственной ответственности.
3. Оставить как есть - совсем не нравится.
Есть другие предложения?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
