Я начал писать несколько приложений на PHP, и я больше знаком с языком. Кто-то рассказал мне о CakePHP и CodeIgniter. Я хотел лучше понять, как это может мне помочь, и стоит ли тратить время на изучение структуры?
Использовать PHP Framework или нет?
Ответ 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, в зависимости от того, насколько сложным является ваш проект.