KorniloFF, это выражение такое))) Тем не менее на ответ вы не ответили, при работе с фреймворков в любом случае используются и массива, и наследование, и позднее статическое связывание. Или тут я тоже не прав?
KorniloFF, Иван, Одиночка Айс, mkramer, вопрос к вам, раз вы такие не любители фреймворков: вы сейчас проекты на чем пишите? На фреймворках, своих велосипедах или нативе?
KorniloFF, то есть по вашему, когда работаешь с фреймворком, ты вообще ничего не используешь нативно? WAT?!
Или под нативом подразумевается стандартные библиотеки (типа Mysqli, SimpleXML, ...)? Дак они как бы тоже библиотеки. Вы уже определитесь, в чем суть претензий.
no_one_safe, речь шла про вывод списка разделов, это как бы далеко не логика. Все что касается вывода, должно быть в шаблоне. result_modifier - это вспомогательный "инструмент", который помогает привести данные к нужному для шаблона виду.
Так что Битрикс не любят, потому что поверхностно пробежались по теме, не углубляясь. Или просто тупые?
mousesport, "посмотрите" имелось ввиду его содержимое (var_dump'ом например).
Т.е. воткните код: var_dump($arResult);
Посмотрите есть ли переменная ID или SECTION_ID или нечто подобное.
KazeZlat, по тайм-лайну в любом случае 2-ой выигрывает:
1-я неделя:
1 изучает теорию
2,3 изучают фреймворк
4-я неделя:
1 пишет свои велосипеды по паттернам
2,3 используют "велосипеды" фреймворка и могут в принципе какой-никакой сайт поднять
8-я неделя:
1 может на своих велосипедах какой-никакой сайт поднять
2,3 в принципе должны уже набить руку, чтобы писать более менее серьезные сайты
2 начал интересоваться тем, что происходит под капотом (изучает теорию)
12-ая неделя:
1 набил шишек, поднял несколько сайтов (причем в стол, вряд ли кто-то согласиться на покупку таких сайтов, либо они будут ужасны). Затем идут 2 варианта: 1) пофиксил баги, юзает свой инструмент; 2) начал изучать фреймворк.
2 изучил теорию и пришел к осознанию того, что он все это время делал
3 ему норм, ему похер
Дальше продолжать не буду, сроки конечно утрированы, но суть в том, что идя по второму пути, прибыль и навык придут раньше, чем по первому пути. Так что с экономической точки зрения, второй выгоднее, а по факту знающие специалисты с навыком работы с каким-либо инструментом появятся примерно в одно и тоже время.
Одиночка Айс, PHP и производительность - не совсем рядом стоят (можно конечно заикнуться про Hack, но тоже не очень выручит). Окей, выше в плане знаний. На предыдущем примере:
Когда я описываю объект формы (ConcreteForm), то я использую (может и сам того не понимая):
работу с классами (объявление, наследование, модификаторы доступа. Если особо упороться, то можно еще трейты)
MVC (отделение логики от представления, и собственно использую сами представления)
Когда я реализую форму велосипедами:
Описывать объект? Пффф, лучше в массиве буду хранить данные, пацаны советуют, да и меньше памяти потребляет, идеально!
Высота, как она есть.
Я вот все жду, когда до всех дойдет, что качество кода, багаж знаний и скилл зависят от самого программера и от его желания развиваться. А фреймворк просто предоставляет набор готовых инструментов (если хотите, чужих велосипедов). Но видимо это никогда не произойдет(((((
Одиночка Айс, выше в каком плане: качество, полезность, сложность? На чистом PHP можно написать любую херь, которая лишь бы работала. На фреймворках, особо не разгуляешься, нужно соблюдать тот же самый MVC (конечно можно написать любую херь, только тогда проблема явно не "с чего начинать?").
Например, как пишут формы на голом РНР?
создаешь index.php - в нем пишешь обработчик, там же пишешь вывод формы.
создаешь index.php - в нем пишешь вывод формы; создаешь process.php - в нем пишешь обработчик формы.
Как пишуться формы на фреймворке (допустим Yii):
создаешь объект ConcreteForm, в котором описываешь поля формы, правила валидации и обработчик (наследуется от базового класса в котором реализовано все, чтобы форма работала). создаешь вьюху/виджет в котором описываешь вывод формы (наследуешься от базового класса в котором реализовано все, чтобы вьюха/виджет работала).
4utka_pyan, мой основной посыл такой: "Используйте фреймворки, чтобы не велосипедить, со временем при ЖЕЛАНИИ в ЛЮБОМ случае придет понимание того, как это все работает".
Сергей Горностаев, Mikhail Osher, более хорошие программисты получаются из тех, кто хочет разбираться. Например, 3 человека:
один начал с нуля, и изучал все паттерный и принципы на своих велосипедах;
второй начал с фреймворков и уже потом, задумался "а что это я делаю?" и начал изучать паттерны и принципы (которые он УЖЕ по сути использует);
третий начал с фреймворков, хорошо знает инструмент (т.е. какие классы и модули использовать), но вообще не париться что и как там работает.
Какой итог?
2 и 3 могут начать работу прям почти сразу, 1-ому придется потратить время чтобы написать свои велосипеды и набить шишки.
1 и 2 будут знать что и как работает, вот только: 1 - велосипедист, 2 - умеет использовать конкретный инструмент (т.е. 2-ой в принципе востребованный специалист)
Резюме:
1 - знает что под капотом, но сидит без работы (кому нужен Pure PHP?),
2 - знает что под капотом и сидит работает,
3 - сидит работает, но не способен мыслить.
А теперь главный вопрос: и кому нахер нужен 1-ый специалист?
mkramer, эээ а как написание на голом PHP спасет от незнания "где выполняется php" ?!
Разница между работой на голом PHP и на фреймворке лишь в том, что когда используешь фреймворк у тебя есть уже готовая база функционала (AR, MVC, Router, ...).
Знаний это не добавит, это лишь облегчит работу и направит человека в нужное русло.