Простой пример. Интернет магазин. Объект коллекция товаров, имеет методы addAttributeToFilter, addAttributeToSelect итд.
До меня уже было все написано, и методы помогают мне работать с коллекциями товаров.
Что же я пишу в коде:
Код:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect(*);
$collection->addAttributeToFilter('category_id',array('in'=> array(16,17,19,20));
foreach($collection as $product){
echo '<a href="'.$product->getUrl().'"/>'.$product->getName().'</a>';
}
Так я вывел ссылки на все товары из категорий 16,17,19,20.
Мне все равно какие поля есть у продуктов и категорий, как все организованно в базе, мне даже не важно знать что за код используется, и используются ли вообще там базы данных, или все на файлах.
Я использую методы и получаю результат, легко читать и понять что же делает код. Даже если не разбираешься в системе.
Если разработчики что-то поменяют внутри, или изменят что-то, мне не придется исправлять свой код во множестве мест где используются ссылки на продукты и их имена. Все будет работать так же.
Если я вернусь когда нибудь к этому коду, я пойму как все это работает. И мне не придется сидеть и вспоминать за что отвечает та или иная таблица в запросе, и как работают всевозможные join'ы.
MVC изучать стоит.Со временем чем сложнее будет становится проект, важно будет разделять работу. Важно будет что бы разные люди работающие над проектом делали только свою работу.
В принципе в MVC нечего изучать, там статья на 1 страницу, важно понять основы.
codeigniter изучить стоит. Он достаточно легок по сравнению например ZendFramework. Ну и соответствено не будете делать работу которую за вас уже тысячу раз писали другие люди)