Чи потрібні рамки PHP?
Які переваги та недоліки використання одного?
Чи потрібні рамки PHP?
Які переваги та недоліки використання одного?
Відповіді:
Ні. Але вони приємні.
Плюси : економить час, не потрібно самостійно перебудовувати код. Використовуйте безліч функцій, функцій та структур даних, які побудував хтось інший, який стосується вашого проекту.
Мінуси : Якщо самостійно не створити код, це може бути втратою при кращому рівні розуміння, на основі якого працює ваш проект.
Рамки веб-додатків такі ж хороші, як і ваш досвід роботи з ними.
Кожна основа має криву навчання, поки ви не подолаєте цю криву, ви, ймовірно, зробите щось настільки задом назад, що ви заперечуєте всі переваги використання рамки. Ваш додаток буде непотрібно повільним для розробки, код буде важко дотримуватися, і вся справа порушиться, коли вийде нова версія фреймворку. Я б рекомендував не намагатися використовувати незнайомі рамки (або будь-які незнайомі технології) для проектів із строгим терміном.
Як можна краще використовувати рамки?
Вам доведеться скласти жменю жахливих програм і повторити. Врешті-решт ви з’ясуєте примхи, а використання фреймворку дозволить вам скоротити час розробки та краще організований код.
Чи варто використовувати рамку PHP?
Кожен, хто кодує достатньо PHP, врешті-решт використовує фреймворк. Питання полягає в тому, чи будете ви використовувати свій власний фреймворк або розроблений третьою стороною? На мій досвід, ви, ймовірно, ніколи не виробите власний фреймворк, який буде відповідати надійності та якості сторонніх рамок. Однак, розробка власних рамок представляється правом проходу до спільноти PHP, тому не дозволяйте мені відштовхувати вас від написання власного класу абстрагування баз даних.
Ось корисний графік:
За словами Расмуса Лердорфа , вам не потрібні додаткові рамки, оскільки PHP сам по собі є рамкою. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Ну, це дійсно залежить від розміру вашого проекту. Домашня сторінка, яка не має бази даних і не більше 10 сторінок, має бути занадто багато, головним чином, тому, що рамкові програми завжди потребують великої конфігурації та налаштування в більшості випадків, щоб відповідати конкретним потребам. І в деяких ситуаціях вони можуть бути трохи повільнішими, ніж кілька сторінок, що містяться у файлі (подумайте про всі рамки, які потрібно завантажити, щоб використовувати його функції.)
Тепер, якщо ви плануєте сайт середнього / великого розміру, із взаємодією з базами даних, веб-сервісами тощо тощо, вам знадобиться рамка, яка допоможе вам взаємодіяти з різними технологіями та організувати свій код таким чином, що, коли все порушиться, у вас буде габіліті для швидкого виявлення та ремонту. Крім того, якщо ви думаєте про клієнтів, вони завжди змінюють свою думку щодо програмного забезпечення, тому, якщо клієнту потрібно змінити або додати нову функцію, вам не доведеться перебирати весь код і думати про те, як я підключую цю нову функцію до всіх це сфагетті.
Є багато інших плюсів і мінусів, але це ті, хто вперше перейшов у голову.
Редагувати: я використовую симфонічний фреймворк у щоденних базах, а також робив роботу з 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();
Бачите, що я там робив? Цей клас слугує зразком для магазину. Що таке особливе, крім OO? Якщо таблиці або будь-якого стовпця не існує, він створюється динамічно. 0 встановити сценарії. Звичайно, це специфічна риса в моїх рамках. Але ви отримуєте ідею.
$p=new Product($the_id); $p->load();
З'єднання load()
в рядок" на відміну від перезапису всього рядка.
Не всі програми вимагають основи, але це робить більшість послідовних програм.
Перевагами є:
Недоліками є:
Загалом, краще використовувати один.