Я полный новичок в программировании. Я попробовал PHP и убедился, насколько мощными могут быть фреймворки. Но стоит ли мне даже подумать о том, чтобы попробовать работать с фреймворком, пока я не буду хорошо разбираться в самом PHP?
Примечание: я бы, скорее всего, использовал CodeIgnitor, но вопрос относится к любому из фреймворков.






Желательно, чтобы вы хорошо владели языком (и программированием в целом), прежде чем начать использовать фреймворки. Фреймворки могут сэкономить и сэкономят вам много работы, но вы также можете познакомить вас с продвинутыми концепциями и реализациями.
После того, как вы наберетесь опыта и начнете задаваться вопросом, как лучше всего решить некоторые типичные проблемы, с которыми вы сталкивались раньше, - это хорошее время, чтобы попробовать фреймворки.
Я предлагаю вам попробовать прочитать исходный код различных фреймворков и посмотреть, имеет ли это смысл для вас. Если нет - вы, вероятно, еще не готовы.
Лично я бы придерживался изучения PHP и создания некоторых проектов без помощи фреймворка. Хотя фреймворки могут абстрагироваться от множества беспорядочных и утомительных частей проекта, важно все же знать, как они работают, особенно при отладке.
Фреймворки также могут быть очень сложными, и научиться их эффективно использовать может быть сложно даже при хорошем понимании языка программирования.
Фреймворки могут отвлечь от вас большую часть сложности языка, но в какой-то момент вы столкнетесь с чем-то, что требует знания структур управления языка и стандартной библиотеки.
Это действительно зависит от вас, но я бы рекомендовал хотя бы изучить некоторые базовые конструкции языка, особенно связанные со структурами управления, перед использованием фреймворка.
Сам по себе PHP - большой язык, и вам, вероятно, следует выяснить, что PHP может делать хорошо сам по себе, прежде чем изучать фреймворки, которые отвлекают вас от языка. Но тогда вы можете в конечном итоге, как и я, бояться использовать какие-либо настоящие расширения, кроме стандартной библиотеки языка. Вы использовали фреймворк на другом языке? Если вы этого не сделали, использование фреймворка сейчас может быть полезным для будущего использования других фреймворков, возможно, на других языках.
вы должны сначала изучить программирование. Начните с основ: условия, циклы, приоритет операторов, затем переходите к объектно-ориентированной технике, шаблонам проектирования. Может быть, после того, как вы почувствуете себя комфортно со всем этим (это может занять некоторое время), вы могли бы подумать об использовании фреймворков. По пути вы, вероятно, сможете изучить, как вещи, о которых говорилось выше, используются во фреймворках.
Я бы сказал, что да, потому что это просто ускоряет выполнение более сложных вещей.
Я НАСТОЯТЕЛЬНО рекомендую вам сначала изучить основы языка. Фреймворки облегчают жизнь людям, которые знают, как их лучше всего использовать. Представьте, есть ли у меня каркас для строительства дома. Если вы начинающий плотник, вы все равно будете делать много ошибок, сталкиваться с множеством моментов типа «Эй ... как вы это делаете?», Использовать неправильные инструменты, не следовать определенным принятым соглашениям и т. д. Изучите основы.
Если вам нужен пример того, как фреймворк ударит вас по заднице за незнание своего материала, посмотрите Zend_Form в Zend Framework. Вы можете без проблем построить простую форму, но в реальной жизни вам потребуется настроить многие аспекты формы. Вам придется расширить его самостоятельно, чтобы получить то, что вы действительно хотите. Замените стандартные кнопки пользовательскими, измените сообщения об ошибках по умолчанию, настройте HTML и CSS, используемые для отображения различных частей формы. Сделайте форму как можно более многоразовой ... абстрагируйте ее определенные аспекты, чтобы дать ей более широкое применение. Поработайте над оценкой и авторизацией ... вы быстро окажетесь над головой, если у вас еще нет некоторых навыков программирования.