Pull to refresh

Comments 8

Странно что фреймворк высокого уровня реализовал джоины таким образом. Зачем менять простенькую строку «INNER JOIN markers_tags MarkersTag ON (MarkersTag.marker_id = Marker.id) » на довольно объемную конструкцию типа
array('joins' => array(
array(
'table' => 'markers_tags',
'alias' => 'MarkersTag',
'type' => 'inner',
'foreignKey' => false,
'conditions'=> array('MarkersTag.marker_id = Marker.id')
)…

Если уж ООП пытаемся использовать — то какого хрена используются массивы? — можно же через объекты реализовать, и phpdoc поможет с подсказками.
Например как то так:
array('joins' => DB_Joins_Helper::Add('markers_tags')
->Alias('MarkersTag')
->Type('inner')
->foreignKey(false)
->Conditions( array('MarkersTag.marker_id = Marker.id')),

Что бы не привязываться к типу базы данных (и как следствие: потому что используется ORM).
Почему массивы, а не классы? Потому, что заявлена поддержка php4, в котором классам плохо.
зачем тогда вообще фреймворки если можно все руками написать?
а массивы используются потому что когда начинали писайт фреймворк ооп еще не было распространено.
в версии 2 будет все как вы хотите.
Ничего не слышал про 2ую версию.
Это шутка, или она действоительно будет?
будет действительно
https://trac.cakephp.org/milestone/2.0.0.x
Sign up to leave a comment.

Articles