Использовать PHP Framework или нет?

Я начал писать несколько приложений на PHP, и я больше знаком с языком. Кто-то рассказал мне о CakePHP и CodeIgniter. Я хотел лучше понять, как это может мне помочь, и стоит ли тратить время на изучение структуры?

Каковы преимущества использования фреймворков MVC PHP?

Ну, есть много преимуществ использования фреймворков PHP, давайте посмотрим некоторые из основных преимуществ их использования.

  1. Эти фреймворки PHP следуют некоторым шаблонам проектирования, поэтому, когда вы используете фреймворк, вы должны следовать их соглашению по кодированию, что делает ваш код чистым и расширяемым для будущих целей.
  2. Популярные PHP-фреймы, такие как CakePHP, CodeIgniter, Zend Framework, Symfony, соответствуют шаблону проектирования Model View Controller (MVC), который отделяет бизнес-логику от пользовательского интерфейса, а также делает код более чистым и расширяемым.
  3. Как все могут догадаться, эти структуры содержат множество библиотек, чтобы облегчить вашу работу. Например: для проверки формы вам не нужно писать столько кода, сколько вам нужно сделать в сценарии обычного кодирования (без использования фреймворка), для этого обычно достаточно нескольких строк кода, вызывающих библиотеку.
  4. Во время работы над крупным проектом в команде фреймворк MVC PHP станет отличным инструментом для разработки, поскольку вы можете назначить разработчика для разработки одной части модуля для разработчика, и интеграция будет довольно легко из этих разработанных модулей на конечном уровне ,
  5. Эти рамки MVC действительно помогут вам быстро разработать проект, если вы хорошо знаете структуру, тогда вы никогда не будете беспокоиться о крайнем сроке проекта.
  6. Большинство из этих инфраструктур MVC используют четкий подход к URL, что делает ваш веб-проект SEO дружественным.

проверить статью

Моя философия заключается в том, что вы должны использовать что-то только тогда, когда оно решает необходимость, которую вы сейчас имеете.

Существует настоящая тенденция, особенно в этой области, просто использовать структуру ради использования одного или потому, что вы чувствуете, что должны что-то использовать. Я препятствую такой практике. Кроме того, я считаю, что каркасы имеют наибольшее значение, когда вы делаете что-то трудное, чтобы у вас было хорошее представление о том, какие у вас проблемы и как структура может помочь вам в этой ситуации . Выбор структуры зависит от ситуации.

Что все сказано, шаблон MVC с веб-приложениями полезен, поэтому, конечно, не помешает вам узнать хотя бы один. Однако я придерживаюсь довольно минималистской основы. CodeIgniter вспоминает здесь.

Наконец, другая опасность с фреймворками заключается в том, что они могут быть настолько инвазивными, что вы больше не занимаетесь PHP, вы делаете CakePHP, Symfony или что-то еще. Это не обязательно проблема, но опасность для нее настолько инвазивная, что вы не получите хорошее обоснование в PHP, и если вы когда-либо захотите ее изменить, это будет слишком сложно, что вы никогда не сможете это сделать.

Одним из главных преимуществ фреймворков PHP является то, что они сводят к минимуму переосмысление колеса в большом количестве общих потребностей веб-приложений. Вопросы безопасности, грациозная обработка исключений, URL-адреса RESTful и повторное использование кода на вашем сайте являются довольно универсальными соображениями.

Может быть проще ознакомиться с инструментами фреймворка, а затем посмотреть, хотите ли вы взять на себя всю поддерживаемую систему MVC. Для этого я хотел бы ознакомиться с Zend Framework. ZF работает как библиотека классов, которые могут быть реализованы индивидуально для конкретных целей – от безопасности до поиска Lucene – но содержат классы, которые при совместном использовании реализуют полностью флешированную парадигму MVC.

я просто хочу рассказать о своем собственном опыте программирования, я все еще новичок, хотя

  1. сначала используя фреймворк, вы привыкнете к их стилю / правилу кодирования, что хорошо, потому что большинство фреймворков глубоко задумано, как они пишут свой код. короче, я получу лучший стиль и чистый код
  2. Обычно фреймворк поставляется со множеством арсеналов (плагинов и / или библиотек), которые вы можете найти в Интернете, это сократит время кодирования, сократит время впустую. Короче говоря, вы можете сделать свое собственное драгоценное время, думая о бизнес-процессе
  3. с использованием фреймворка с открытым исходным кодом, есть другой программист, который уже знает и, возможно, освоил структуру, тогда вы можете легко сотрудничать с другими.
  4. По правде говоря, я не хорошо организованный программист, но это было до того, как я использовал некоторую среду с открытым исходным кодом. возможно, как и я, вы получите более организованный

Это все, что я могу поделиться с вами на данный момент, я не умею писать на английском, извините за это. но я рекомендую вам использовать фреймворк

Счастливый друг.

Я думаю, что это, несомненно, хорошая инвестиция, чтобы потратить время на изучение инфраструктуры PHP. Во-первых, он научит вас, как кто-то решает проблему архивирования структуры, как организовать ваш PHP-код и как обрабатывать такие вещи, как сеансы и доступ к базе данных … и т. Д.

По большей части, если вы серьезно относитесь к разработке веб-приложений, вам нужно будет использовать какую-то структуру, а не писать свои собственные рамки с нуля.

Некоторые причины, по которым вы НЕ должны писать свои собственные рамки:

  1. Вы заново изобретаете колесо, когда это уже много раз было сделано.
  2. Вы вряд ли будете работать лучше, чем с открытым исходным кодом, который был протестирован и повторен многими разработчиками.
  3. Вы потратите все свое время на запись и отладку своей собственной структуры, чем потратите на создание своего приложения.

Итак, да, изучите пару фреймворков и найдите тот, который вам подходит лучше всего!

Diclaimer: Я НЕ программист php, и я еще НЕ написал приложение php. С другой стороны, я установил, настроил и использовал alp php cmss для своего сайта и тележек для покупок.

На мой взгляд, php страдает от серьезных проблем. Самым большим является то, что «каркас» кажется иностранным словом для почти всех крупных и даже успешных проектов. Php-код имеет тенденцию быстро превращаться в спагетти-салат: spaghetti html, смешанный с кодом спагетти и спагетти sql.

osCommerce, одна из самых успешных покупок, когда-либо была, в основном не вызывает сомнений. Это относится и к большому числу проектов php.

Если вы хотите использовать фреймворк для своего проекта, я говорю «да»! Определенно! Независимо от того, насколько велик ваш проект, использование веб-фреймворка помогает вам подбирать код и писать код главной таблицы.

Это также влияет на ваш стиль программирования, даже если вы не используете фреймворк.

Использование MVC-рамки упростит вашу разработку. Особенно связанные с базой данных приложения. Он предоставляет вам кристально чистую структуру папок и множество библиотек кодов. Я предлагаю вам начать с CodeIgniter.

Рамки великолепны, когда вы создали команду разработчиков, работающих над одним и тем же проектом. Контроллер MVC прекрасно сочетает конструктор + программист. Однако создание «рамочных» элементов и «переосмысление» колеса – не такая уж плохая идея. Если вы работаете над огромным проектом, вам лучше спуститься и загрязнить ваш код и настроить ВСЕ, чтобы они соответствовали вашим потребностям. Он станет более сильным продуктом, так как он будет полностью разработан для проекта.

Следующая публикация находится в ответ на поток, который был немедленно закрыт, поскольку я писал свой ответ на сообщение RenderIn по адресу: https://stackoverflow.com/questions/3265509/what-are-the-benefits-of-using-a- программирование . Поток был закрыт, и в комментариях была помещена ссылка, направляющая его сюда, поэтому я попытаюсь ответить на его вопрос здесь. В нижеприведенных цитатах я должен был представить:

«Позвольте мне порекомендовать Joomla! Вам и вашей организации. У моего последнего работодателя мне пришлось забрать PHP (не имея опыта работы с ним), и примерно через полтора месяца с помощью ручной ручной кодировки PHP, мне было поручено закодировать компонент Joomla !, который будет обслуживать видео для пользователей. Мне также пришлось создать бэкэнд, который позволил бы администраторам, не являющимся разработчиками, классифицировать, редактировать, удалять и т. Д., Видео, а также предоставлять миниатюры для них и т. д.

Теперь, чтобы получить рабочий прототип для этого, потребовалось около двух месяцев (я был стажером в то время и работал только 20-24 часа в неделю, поэтому, если у вас есть довольно много опыта работы с PHP, а также опыт разработки методологии разработки MVC , вы, вероятно, могли бы получить рабочий прототип быстрее, чем я).

Теперь в ответ на OP этой темы: потратить время на изучение фреймворка, безусловно, стоит (я не видел, чтобы он упоминался здесь до моего сообщения, поэтому я еще раз скажу: для PHP-рамки я бы рекомендовал Joomla!).

Некоторые из преимуществ изучения фреймворка (open-source, такого как Joomla!):

  • Огромное сообщество людей, которые могут помочь ответить на ваши вопросы (помимо stackoverflow, lol)
  • Доступ ко всем исходным кодам, поэтому вы можете настроить его, как хотите.
  • Множество бесплатных (и платных) сторонних плагинов для повышения функциональности.
  • Много учебников.
  • Frameworks заботится о выполнении множества мирских задач автоматически.

В отношении пули четыре: Joomla! заботится о вещах для вас, таких как управление подключением к базе данных и, таким образом, вам не нужно беспокоиться о создании всех собственных пользовательских функций для подключения к базе данных MySQL или возврата результатов различных типов базы данных (например, одна запись, первый результат первого запись, список записей и т. д.), вы просто отправляете свои звонки. API Joomla! Открыт в Интернете на своем сайте: http://api.joomla.org/

В любом случае, надеюсь, это поможет RenderIn и всем, кто интересуется рамками (особенно связанными с PHP).

Рамки для меня – хороший инструмент, чтобы ускорить вас и сэкономить ваше время ради вас, просто не хотите тратить время на его повторное использование, а не потому, что вы хотите сэкономить время, чтобы не знать, сколько , Вы заплатите за это, если вы это сделаете.

Для меня фреймворк хорош, если вы уже являетесь опытным программистом, и у вас есть прикосновение или ощущение, что вы знаете, как каркас грубо работает ниже (примерно точно не совсем) и уверенно сказать ya, если я хочу, чтобы я мог воссоздать вроде упростить эту структуру. Тогда каркас – это экспресс-машина для вас, и это не вызовет у вас боли, если вы хотите сделать что-то, что каркас не готов или что-то необычное или другое странное.

Если вы этого не сделаете, вам лучше попытаться решить вашу проблему, используя простой старый PHP и пройти через боль от игры на пальце, и сначала узнайте о хорошей практике программирования и парадигме и шаблоне. Кроме того, вы станете одним из тех выпускников, которые присоединятся к большой команде, и их первый проект работает над проектом с очень мощной инфраструктурой, которая требует очень мало кодирования и больше на настройку и исправление. Вы никогда не станете хорошим программистом и не сможете создать хорошее PHP-приложение с нуля.

Как, если вы находитесь в организации, использующей сложную структуру?

Потратьте свое время на то, чтобы решить проблему в простом возрасте в этом случае PHP, пока вы не прикоснетесь к тому, что я упомянул выше. Кроме того, вы никогда не найдете своего уверенного в программировании и продолжаете говорить себе: «Я просто знаю, что это шаги, чтобы сделать это». Это не программирование (немного крайнее :)).

Комплексная и простая структура

Некоторые из рамок, хотя и используются многими, просто для подавляющего. Слишком много слоев, которые вы потеряете. Эти рамки обычно для чего-то, что является стереотипом, большим количеством файлов конфигурации, и если вы хотите сделать что-то необычное, вам лучше быть разработчиком фреймворка (немного преувеличенным здесь :)). Я не хочу упоминать здесь какое-либо имя, но вы узнаете об этом, когда столкнетесь с ним.

CodeIgniter является продуктом команды EllisLab, и их основным продуктом является Expression Engine, разработанный с помощью CodeIgniter.

После некоторого времени использования CI я обнаружил, что использование Yii Framework более удобно. У него много расширений. И не так сложно понять с хорошими документами.

CakePHP, я думаю, близко к CodeIgniter.

Я бы настоятельно рекомендовал использовать фреймворк для чего-то большего, чем простой скрипт. Иногда это может показаться излишним, но я бы сказал, что это не так. У меня было несколько случаев, когда я думал, что мне это не нужно (простое приложение, базовый CRUD в таблицах 3 db).

Вскоре после этого я обнаружил, что делаю ручную mysql_escape_string, фильтрацию XSS и так далее. С этого момента я пишу только код без фреймворка, когда думаю, что установка займет больше рабочего кода. И это происходит очень редко.

Если бы мне пришлось рекомендовать фреймворк PHP, мне пришлось бы пойти с CodeIgniter или Yii Framework, в зависимости от того, насколько сложным является ваш проект.