Вопрос

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

Это было полезно?

Решение

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

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

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

    Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

    Diclaimer: Я НЕ программист php, и я НИКОГДА не писал php-приложения. С другой стороны, я установил, настроил и использовал много php cmss для своего сайта и корзин.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Сложный или простой каркас

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

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

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

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

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

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top