Действительно ли фреймворки необходимы в PHP?
Каковы преимущества и недостатки его использования?
Действительно ли фреймворки необходимы в PHP?
Каковы преимущества и недостатки его использования?
Ответы:
Нет, но они хороши
Плюсы : экономия времени без необходимости перестраивать код самостоятельно. Используйте множество функций, функций и структур данных, созданных кем-то другим, которые применимы к вашему проекту.
Минусы : отсутствие самостоятельной сборки кода может быть потерей при лучшем понимании, на основе которого работает ваш проект.
Фреймворки веб-приложений так же хороши, как ваш опыт работы с ними.
У каждого фреймворка есть кривая обучения, пока вы не преодолеете эту кривую, вы, вероятно, в конечном итоге будете делать вещи настолько задом наперед, что сводите на нет все преимущества использования фреймворка. Ваше приложение будет излишне медленным для разработки, будет трудно следовать коду, и все это сломается, когда выйдет новая версия фреймворка. Я бы рекомендовал не пытаться использовать незнакомую среду (или любую незнакомую технологию) для проектов с жестким сроком.
Как можно лучше использовать фреймворки?
Вам придется создать несколько ужасных приложений и выполнить итерацию. В конце концов вы поймете причуды, и использование фреймворка позволит вам сократить время разработки и лучше организовать код.
Стоит ли использовать PHP-фреймворк?
Каждый, кто кодирует достаточно PHP, в конечном итоге использует фреймворк. Вопрос в том, будете ли вы использовать свой собственный фреймворк или тот, который разработан третьей стороной? По моему опыту, вы, вероятно, никогда не разработаете свою собственную инфраструктуру, которая будет соответствовать надежности и качеству сторонней платформы. Тем не менее, разработка собственного фреймворка, кажется, является правом прохода в сообществе PHP, поэтому не позвольте мне отговорить вас от написания собственного класса абстракции базы данных.
Вот полезный график:
По словам Расмуса Лердорфа , вам не нужны никакие дополнительные фреймворки, так как PHP сам по себе является фреймворком. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Ну, это действительно зависит от размера вашего проекта. Домашняя страница без базы данных и не более 10 страниц, фреймворк будет слишком много, в основном потому, что фреймворки всегда требуют большой конфигурации и настройки в большинстве случаев, чтобы соответствовать конкретным потребностям. И в некоторых ситуациях они могут быть немного медленнее, чем несколько страниц, включенных в файл (подумайте обо всех фреймворках, которые необходимо загрузить, чтобы использовать его функции.).
Теперь, если вы планируете сайт среднего / большого размера, с взаимодействиями с базой данных, веб-сервисами и т. Д., Вам понадобится инфраструктура, которая поможет вам взаимодействовать с различными технологиями и упорядочивать код таким образом, чтобы в случае поломки вы имели habilitie, чтобы быстро обнаружить и восстановить его. Кроме того, если вы думаете о клиентах, они всегда меняют свое мнение о программном обеспечении, поэтому, если клиенту нужно изменить или добавить новую функцию, вам не нужно разбираться со всем вашим кодом и думать о том, как подключить эту новую функцию ко всем это сфагетти.
Есть много других плюсов и минусов, но это те, которые впервые пришли мне в голову.
Редактировать: я использую фреймворк Symfony в повседневной работе, а также выполнил работу с php для университета (у меня было несколько курсов по веб-разработке, которые не позволяли использовать какую-либо фреймворк), поэтому большая часть этого получена из этого опыта.
Ты шутишь, да?
Необходимость зависит от использования. Компьютеры не нужны человечеству, ни машины, и т.д.
Что касается достоинств / недостатков, каждому свое!
Я хотел бы показать пример кода из моей собственной платформы:
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
Видишь, что я там сделал? Этот класс служит моделью для магазина. Что такого особенного, кроме ОО? Если таблица или какой-либо столбец не существует, он создается динамически. 0 установить скрипты. Конечно, это особенность моей структуры. Но Вы получаете идею.
$p=new Product($the_id); $p->load();
load()
Не все приложения требуют каркаса, но большинство из них требуют.
Преимущества:
Недостатки:
В общем, лучше использовать один.