Я начал писать несколько приложений на PHP, и я больше знаком с языком. Кто-то рассказал мне о CakePHP и CodeIgniter. Я хотел лучше понять, как это может мне помочь, и стоит ли тратить время на изучение структуры?
Каковы преимущества использования фреймворков MVC PHP?
Ну, есть много преимуществ использования фреймворков PHP, давайте посмотрим некоторые из основных преимуществ их использования.
проверить статью
Моя философия заключается в том, что вы должны использовать что-то только тогда, когда оно решает необходимость, которую вы сейчас имеете.
Существует настоящая тенденция, особенно в этой области, просто использовать структуру ради использования одного или потому, что вы чувствуете, что должны что-то использовать. Я препятствую такой практике. Кроме того, я считаю, что каркасы имеют наибольшее значение, когда вы делаете что-то трудное, чтобы у вас было хорошее представление о том, какие у вас проблемы и как структура может помочь вам в этой ситуации . Выбор структуры зависит от ситуации.
Что все сказано, шаблон MVC с веб-приложениями полезен, поэтому, конечно, не помешает вам узнать хотя бы один. Однако я придерживаюсь довольно минималистской основы. CodeIgniter вспоминает здесь.
Наконец, другая опасность с фреймворками заключается в том, что они могут быть настолько инвазивными, что вы больше не занимаетесь PHP, вы делаете CakePHP, Symfony или что-то еще. Это не обязательно проблема, но опасность для нее настолько инвазивная, что вы не получите хорошее обоснование в PHP, и если вы когда-либо захотите ее изменить, это будет слишком сложно, что вы никогда не сможете это сделать.
Одним из главных преимуществ фреймворков PHP является то, что они сводят к минимуму переосмысление колеса в большом количестве общих потребностей веб-приложений. Вопросы безопасности, грациозная обработка исключений, URL-адреса RESTful и повторное использование кода на вашем сайте являются довольно универсальными соображениями.
Может быть проще ознакомиться с инструментами фреймворка, а затем посмотреть, хотите ли вы взять на себя всю поддерживаемую систему MVC. Для этого я хотел бы ознакомиться с Zend Framework. ZF работает как библиотека классов, которые могут быть реализованы индивидуально для конкретных целей – от безопасности до поиска Lucene – но содержат классы, которые при совместном использовании реализуют полностью флешированную парадигму MVC.
я просто хочу рассказать о своем собственном опыте программирования, я все еще новичок, хотя
Это все, что я могу поделиться с вами на данный момент, я не умею писать на английском, извините за это. но я рекомендую вам использовать фреймворк
Счастливый друг.
Я думаю, что это, несомненно, хорошая инвестиция, чтобы потратить время на изучение инфраструктуры PHP. Во-первых, он научит вас, как кто-то решает проблему архивирования структуры, как организовать ваш PHP-код и как обрабатывать такие вещи, как сеансы и доступ к базе данных … и т. Д.
По большей части, если вы серьезно относитесь к разработке веб-приложений, вам нужно будет использовать какую-то структуру, а не писать свои собственные рамки с нуля.
Некоторые причины, по которым вы НЕ должны писать свои собственные рамки:
Итак, да, изучите пару фреймворков и найдите тот, который вам подходит лучше всего!
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!):
В отношении пули четыре: 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, в зависимости от того, насколько сложным является ваш проект.