Начали писать большой проект, поэтому я решил пересесть на фреймворк, выбрал Laravel. Стоит отметить, что уже было написано: роутинг, несколько моделей, несколько представлений, сущность пользователя для БД. Всё это я перенёс на Laravel. И что я вижу... У Laravel время выполнения скрипта 0.046, а у самописного сайта 0.0018. Разница в 25 раз! Поэтому с этим у меня возник вопрос: зачем вообще использовать фреймворки, если они такие медленные? P.S. Да, я не использовал интерфейсы, пространства имён и т.д., но мне это и не было нужно.
Для ускорения работы. Естественно, любой фреймворк будет потенциально медленнее, как универсальное решение. Замедляют не интерфейсы и пространство имён, а попытка сделать универсальный, к примеру, роутер, который можно будет настроить под любые желания разработчика. Аналогично с универсальной работой с базой, модели ActiveRecord и т.п. Но при использовании фреймфорка не нужно уже решать общие задачи, можно сосредоточиться на бизнес-логике
ну наверное за тем что там написано куча готового кода и она уже протестирована миллионами людей. + тебе не надо фантазировать как там и что будет, ты подстраиваешься под ФВ.
Потому что время разработчика дороже. Потому что всю это обвязку так или иначе придется писать для проекта чуть сложнее табуретки и не факт, что оно в итоге будет быстрее и менее глючное, чем используемый тысячами людей фреймворк. А ещё есть готовый каркас с документацией под который всегда можно привлечь сторонних разработчиков, не объясняя им при этом каким таким желанием левой пятки всё собрано в один god object и как эту хрень теперь расширять. Ты просто берешь и пишешь, не грузя себя лишними проблемами. В чем затык?
Не надо. Ради призрачного ускорения получите обрезок фреймворка по функционалу и точно такое же количество проблем ) Не то что бы они плохи, просто нужно понимать "когда" и "зачем".
Джва года ждал этот тред. Фреймворки - зло, композер для лохов. Самое обидное в том, что весь этот срач толкают и будут толкать в массы. Вангую уроки от поповых. Задача любого фреймворка или инструмента упростить решение той или иной задачи, сделать его максимально компактным и производительным. Позволять пользователю быстро решать поставленную задачу в минимум кликов и символов. И это очень хорошо. Хорошо пока не приходит вася, который учит фреймворк и ничего не знает о стандартных возможностях языка. Вася знает возможности фреймворка, знает что даже есть какие-то зависимости в композере. Знает что такое MVC и неймспейсы. Но вася ничего не знает о том, как реализован его любимый фреймворк. Потому что знания дальше документации и уроков на ютубе не идут. В крайнем случае он зайдёт на стаковерфлоу и на корявом иврите спросит почему что-то там в его любимом фреймворке не работает. И начинается ад. Ад для всего сообщества, потому что таких вась и поповых становится овермного. Они вползаю на рынок с жадными воплями "ларавель! кодэгнайтер!" и засоряют его своими немытыми пятками. Они дрочат продвинутых рекрутеров и обманывают простых. Они плодят код, который вселяет тремор. Для работы со строками они грузят тонны покетов из композера, даже если для фреймворка есть. Меня дико раздражает вся эта биомасса и всё что она делает. На пути своего совершенства я не раз спотыкался от того, что всегда есть что изменить и если ты хочешь действительно хороший продукт, который будет удовлетворять тебя по всем параметрам, включая производительность, ресурсозатратность и расширяемость, то стоит начать писать что-то своё. В противном случае развития просто нет.
Все люди как люди и только пхпшники рассуждают о вреде менеджера зависимостей и фреймворков, считая что они то ого-го ))
В соседнем треде все пытаюсь объяснить юному падавану, что пытаться кодить на JQuery и спрашивать постоянно, почему то-то и то-то не работает, совершенно не зная при этом JS - это ооочень не круто. Пока успехи не очень. А тут у кого какая цель. Кому развиваться, а кому "поднять немного бабла бесплатно без смс". Второй случай превалирует у планктоноты. Она считает, что раскурив видеокурсы на тытубе достигло необходимую планку, переваливаться за которую не стоит. Хотя даже не в курсе, что эта планка - всего лишь плинтус.
Фрейморки не нужны - всё легко можно запихать в один большой god object за пару вечеров! Композер не нужен - он отупляет, заставляя использовать готовые решения, вместо прикладывания собственных титанических мозговых усилий. Гит не нужен - в моем нотепадике и так есть кнопка отмены, а с коллегами мы всегда можем договориться в курилке. Deployer? Нафига? Ведь есть ftp, phpmyadmin и панелька в хостинге. IDE? Мой блокнотик и так все прекрасно раскрашивать умеет. Вроде всё перечислил ))
ТС пишет о скорости исполнения, якобы зачем фреймворк если он добавляет тормозов. Это большая ошибка. Скорость исполнения это не фетиш на который надо дрочить. Гораздо важнее сосредоточиться на цели, не отвлекаясь на детали. Готовые компоненты как раз помогают этому. Да и если разобраться, тормоза можно серьёзно уменьшить. В основном они следствие большого количества файлов в проекте, это решается склейкой. Разница с "ручным" вариантом скорее не в N раз, а на фиксированные X миллисекунд и с ростом проекта разница нивелируется.
Все зависит от задачи. Если задача небольшая то использовать целый фреймворк может быть - как бить "из пушки по воробьям". Иногда достаточно взять из фреймворка только несколько библиотек. и задача решена быстро и качественно. Если проект крупный, то возможно потребуется использовать почти все возможности фреймворка. и это будет логично. Если проект нетривиальный, и там нужн чтото необычное, такое чего нет в полном объеме в фреймворках, то логичнее и быстрее запилить своё, чем адаптировать и пытаться состыковать нестыкуемое. Нужно включать голову, и всего-то.
Фактически, если вы отказываетесь от фреймворка, вы создаете свой фреймворк В наше время, слава макаронам, это облегчается наличием внятных стандартов PSR и посредством composer. Можно собрать в комплект своё плюс что-то стороннее, что, возможно, вы замените на своё позже. Или наоборот. ))) Например, я наблюдаю, что Symfony HttpFoundation попадает во всё большее количество мест, даже если эти места "не на симфони". Просто незачем повторять этот хорошо отлаженный пакет. Добавлено спустя 3 минуты 47 секунд: Композер стирает границы. Так что резюмирую ответ топикстартеру: Не используй фреймворки, если не хочешь, но не отказывайся от стандартов.
Да кстати, если проект крупный, логично что под него будет свой VPS, можешь еще такую штуку посмотреть как phalcon, фреймворк, но он написан как расширение для РНР, что собственно увеличивает его производительность во много раз. PS как было сказано все зависит от задачи.
Я даже для одностраничных сайтов в некоторых случаях использую фреймворк. К примеру, если к этому одностраничному сайту нужна достаточно развитая админка (был такой заказ, на одностраничнике надо было менять фотографии и подписи к фотографиям в 3 разноплановых галлереях, плюс ещё там фактически были зачатки интернет-магазина).
такой херни я ещё не читал. композер - говно, фреймворки - говно. слушай, иди на асм всё пиши, что ты здесь делаешь? ещё можешь вернуться к первым эвм.
Слушай, ну он же аргументировал свою позицию. Фреймворки хороши как инструмент. Но плохи как массовый заменитель языка в мозгу нуфагов. И из первого давно смутировали во второе. В итоге имеем армию кодеров, которые знают какой-нибудь фреймворк, но не знают PHP. С JS сейчас такой кризис. Рынок полон JQuery-программиздов, которые не знают JavaScript, но умеют копипастить сниппеты.
И это весь ваш аргумент на тему того что я написал ? Вы состоятельный человек. Как это относится к повестке дня ? По коду он маленький, по возможностям он удовлетворяет все потребности. Не обязательно титанических, но ты прав. Гит нужен в случае когда с коллегами в курилке не договорится. Не ко мне, но когда-то начинал с phpmyadmin. Благо светлые люди привили любовь к консоли. Согласен, notepad++ незаменим.