Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

Ответ 4

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

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

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

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

Ответ 5

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

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

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

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

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

Ответ 6

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

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

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

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

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

Ответ 7

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

Ответ 8

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

Ответ 9

Следующая запись в ответ на поток, который был немедленно закрыт, когда я писал свой ответ на сообщение RenderIn по адресу: fooobar.com/questions/157404/.... Поток был закрыт, и в комментариях была помещена ссылка, направляющая его сюда, поэтому я попытаюсь ответить на его вопрос здесь. В нижеприведенных цитатах я должен был сообщить:

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

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

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

Некоторые из преимуществ обучения фреймворку (с открытым исходным кодом, например, Joomla!):

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

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

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

Ответ 10

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

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

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

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

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

Сложная и простая структура

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

Ответ 11

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

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

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

Ответ 12

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

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

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