10 принципів майстрів PHP

Reg.ru: домени та хостинг

Найбільший реєстратор та хостинг-провайдер в Укаини.

Понад 2 мільйони доменних імен на обслуговуванні.

Понад 700 тис. клієнтів у всьому світі вже зробили свій вибір.

Безкоштовний Курс "Практика HTML5 та CSS3"

з основ адаптивної верстки

на HTML5 та CSS3 з повного нуля.

Фреймворк Bootstrap: швидка адаптивна верстка

Навчіться верстати просто, швидко та якісно, ​​використовуючи потужний та практичний інструмент.

Верстайте на замовлення та отримуйте гроші.

Безкоштовний курс "Сайт на WordPress"

Бажаєте освоїти CMS WordPress?

Отримайте уроки з дизайну та верстки сайту на WordPress.

Навчіться працювати з темами та нарізати макет.

*Наведіть курсор миші, щоб призупинити прокручування.

10 принципів майстрів PHP

1. Використовуйте PHP лише тоді, коли це дійсно необхідно – Расмус Лердорф

Расмус Лердорф створив PHP в 1995 році і, відтоді, мова поширилася в середовищі веб-розробників як лісова пожежа, змінюючи вигляд Інтернет. Расмус, однак, не створював PHP саме з цією метою. Мова PHP створювалася не для вирішення задач веб-розробки.

Не можна засобами PHP реалізувати все, що завгодно. Лердорф – перший, хто скаже вам про те, що PHP – просто один із інструментів у вашому арсеналі, що навіть PHP має свої обмеження.

"Використовуйте для роботи потрібні інструменти. Я зустрічав компанії, які з головою пішли в PHP, застосовуючи його де не потрапивши, але PHP ніколи не був мовою, що підходить для вирішення будь-якої проблеми. Найбільш потрібна для нього ніша - використання в якості "інтерфейсного" скриптового мови для Web".

Спроби використовувати PHP для підряд неефективні і, звичайно, це ненайкращий спосіб застосування вашого часу як веб-розробника. Не бійтеся використовувати інші мови, якщо PHP не задовольняє ваші потреби, не підходить для конкретного проекту.

2. Використовуйте багато таблиць у зв'язці "PHP+MySQL" для підвищення масштабованості - Matt Mullenweg

Якщо хтось і знає, як масштабувати вебсайт, то це Matt Mullenweg. У 2006 році Matt підняв завісу таємниці над структурою бази даних у Wordpress і пояснив, чому Wordpress MU (багатокористувацький) використовує окремі таблиці MySQL під кожен блог замість того, щоб використовувати одну величезну "монолітну" таблицю для всіх блогів.

багато

"Ми тестували такий підхід для розрахованої на багато користувачів системи, але вважали, що його масштабованість починаючи з певного моменту вимагатиме занадто високих витрат. З монолітною структурою ви впираєтеся в технічні обмеження вашого "заліза". У поточному ж варіанті користувачі розділені і можуть бути легко розведені по різних групам, наприклад на WordPress.com, користувачі розділені між 4096 базами даних, що дозволяє проводити масштабування дуже дешево і ефективно навіть за наявності сотень тисяч і мільйонів користувачів, при високому рівні трафіку."

Можливість перенесення таблиць дозволяє коду і, зрештою, блогам працювати набагато швидше і легше масштабуватися. Вміло використовуючи кешування та бази даних, Matt показав, що надзвичайно популярні сайти на кшталт Facebook та WordPress.com можуть працювати на PHP та успішно справлятися з неймовірним потоком трафіку.

3. Ніколи не довіряйте своїм користувачам – Dave Child

Dave пропонує вам і деякі мудрі поради для написання безпечного коду PHP: не довіряйте вашим користувачам. Вони можуть вас засмутити.

"Будьте остаточним ібезповоротним параноїком. Якщо ви будете виходити з припущення, що ваш сайт ніколи не піддаватиметься атакам, або іншим проблемам подібного роду, то у випадку, якщо це дійсно станеться, ви зіткнетеся з великими труднощами. З іншого боку, якщо ви виходите з того, що кожен відвідувач сайту хоче завдати вам шкоди, і ви з ним у стані "війни", то це допоможе вам зробити сайт набагато захищенішим і бути готовим до того, що справи можуть піти не найкращим. чином."

4. Робіть ставку на PHP-кешування - Ben Balbo

Ben Balbo писав для Site Point – дуже шанованого навчального сайту для веб-розробників та дизайнерів. Він складається з комітетів Melbourne PHP User Group та Open Source Developers' Club і він знає дещо про цю мову. Не дивно, враховуючи його минуле, пов'язане з PHP-розробкою та проведенням тренінгів у цій галузі та те, що він пропонує вдумливо використовувати кешування.

"Якщо у вас є навантажений ресурс з переважно статичним контентом, наприклад, блог, керований за допомогою CMS, знадобиться невелика переробка, але в результаті ви отримаєте величезний приріст у продуктивності при невеликих часових витратах. Установка кешування для більш складних сайтів, які генерують різний контент для різних користувачів (наприклад, портали) вимагатиме більшої майстерності та тимчасових витрат, але переваги очевидні і в цьому випадку."

Існує багато способів кешування в PHP:

- кешування викликів функцій - робота з http-заголовками - кешування завантаження файлів у IE - кешування шаблонів та багато інших. Через природу динамічних мов на кшталт PHP, кешування дуже важливе для зберігання інформації на сторінці, до якої часто звертаються і яка рідко змінюється.

5. Прискорюйте розробку на PHP, використовуючи IDE (інтегроване середовище розробки), шаблони та сніпети – Chad Kieffer

Коли Chad не зайнятий роботою над інтерфейсами користувача або адмініструванням баз даних, він дає експертні поради зі свого блогу. Його кругозір дуже широкий і він часто бачить повнішу картину, яку не бачать інші програмісти, особливо коли справа доходить до глобального підходу, який Chad використовує при розробці веб-сайтів. Він спеціалізується на всіх аспектах розробки, тому будь-які ідеї, що виникають у нього під час використання такого підходу, можуть виявитися дуже корисними.

Chad упевнений, що використання IDE на кшталт Eclipse PDT (Eclipse's PHP development package – набір Eclipse для PHP-розробки) із застосуванням шаблонів та сніпетів може значно прискорити процес розробки проекту.

"Щільний графік, величезні списки "to do" і дедлайни ускладнюють розробникам життя, не дозволяючи їм ознайомитися з функціями програм, в яких вони працюють. Це жахливо, оскільки деякі можливості, на кшталт шаблонів в Eclipse, можуть істотно знизити час кодування і кількість помилок ."

Здоровий глузд говорить про те, що якщо ви зумієте автоматизувати виконання завдання, ви завершите проект швидше. Витративши час на створення шаблонів, які ви будете використовувати знову і знову, ви заощадите багато часу при роботі з блоками коду, що повторюються.

6. Найкраще використовуйте функції фільтрації в PHP – Joey Sochacki

Хоча ім'я Joey Sochacki і не так відоме в середовищі PHP-розробників, як Matt Mullenweg, він є дуже досвідченим веб-розробником і ділиться досвідом, накопиченим в процесі роботи в своєму блозі Devolio.

Joey виявив, що навіть з огляду на той факт, щоу PHP-коді має бути безліч різних перевірок, далеко не всі програмісти використовують функції фільтрації в PHP.

Фільтрування може бути досить хитромудрим, але за допомогою Joey ви навчитеся фільтрувати практично все, що завгодно, і використовувати всі переваги фільтрації засобами PHP.

7. Використовуйте PHP-фреймворк – Josh Sharp

Завжди велися дебати щодо того, використовувати PHP-фреймворк на кшталт Zend, CakePHP, CodeIgniter, або взагалі не використовувати їх. У кожного з них є свої переваги та недоліки, і багато розробників мають з цього приводу свою думку.

Josh Sharp – веб-розробник, який заробляє собі на хліб з олією створенням сайтів для клієнтів. Ось чому є сенс повірити йому, коли він говорить про те, що використовувати фреймворк - чудова ідея, тому що він допомагає заощаджувати час і уникати помилок під час програмування. Чому? Josh впевнений, що через те, що PHP дуже просто навчитися.

"Однак легкість освоєння PHP – слабкість даної мови. Оскільки практично немає обмежень на структуру коду, то дуже легко написати поганий код. Але є вихід – використовуйте фреймворк.

PHP-фреймворки допомагають стандартизувати вашу програму, і ви можете заощадити багато часу при роботі над проектом.

8. Не використовуйте PHP-фреймворк – Расмус Лердорф

На противагу Josh Sharp Расмус, творець PHP не вважає, що фреймворки так хороші. Чому? Тому що вони працюють набагато повільніше, ніж чистий PHP.

Під час презентації на Drupalcon 2008 Расмус порівнював швидкість відповіді сторінки на PHP з типовим "Hello World" у разі використання чистого PHP та низки фреймворків. Результати показали, що фреймворки виявилися набагато повільнішими, ніж простий код PHP.

ЯкщоКоротко, то Расмус говорить про те, що найбільша різниця у продуктивності виникає при спробах використовувати PHP-фреймворк як альтернативу простому PHP.

[Зауваження: Якщо вам все ж таки потрібно використовувати фреймворк, то Расмус найбільше подобається CodeIgniter, так як він, за словами Расмуса "найменше схожий на фреймворк"]

9. Використовуйте пакетну обробку - Jack D. Herrington

Jack D. Herrington рекомендує використовувати пакетну обробку та крон для вирішення тих завдань, які можуть бути вирішені у фоновому режимі. Користувачі в мережі не хочуть довго чекати. Є деякі завдання, вирішення яких займає чимало часу, і їх можна робити у фоновому режимі.

Звичайно, в окремих випадках трохи простіше виділити допоміжний поток для виконання невеликого завдання. Але легко побачити і те, що за допомогою звичайних інструментів – крона, MySQL, звичайного об'єктно-орієнтованого програмування та Pear::DB створення пакетних завдань у додатках на PHP просто реалізується, просто розгортається та просто обслуговується.

"Я використовував обидва підходи і я думаю, що крон має перевагу "Keep It Simple, Stupid" (KISS) - "Роби простіше, тупиця". Він робить обробку в фоні дуже простий. Замість того, щоб відбувалося постійне виконання кількох завдань у різних потоках, у вас є простий скрипт, який запускається кроном.Скрипт перевіряє, чи потрібно що-небудь виконувати.Якщо потрібно - виконує і завершується.Не потрібно турбуватися про витікання пам'яті. "

10. Негайно увімкніть Error Reporting – David Cummings

David Cummings керує компанією, що займається розробкою CMS – систем управління контентом. Його компаніяздобула кілька нагород і якщо хтось і знає, як розробляти PHP-додатки ефективно, то це David.

David написав у статті на SitePoint про дві речі в PHP, які він хотів би знати, коли тільки починав. Одна з них: Увімкніть error reporting негайно. Це заощадить вам у перспективі чортову безліч часу.

"Це найперша річ, про яку я говорю людям, які використовують PHP - виставити error reporting на відображення всіх помилок. Навіщо? За замовчуванням error reporting не встановлена ​​так, що вам не будуть показуватися багато, здавалося б, незначні помилки на кшталт:

Ці речі можуть здатися незначними, поки ви не почнете розробляти великі об'єктно-орієнтовані програми з функціями та класами. Дуже часто, коли вам показуються не всі помилки, ви вб'єте не одну годину, ризикуючи за своїми функціями, які не працюю через неправильно написане ім'я змінної або неможливості отримати до неї доступ."

Error reporting може значно допомогти вам у разі встановлення на відображення всіх помилок. Пошкодуйте волосся на вашій голові і свій дорогоцінний час – нехай помилки шукає PHP, а не ви.

За матеріалами www.net.tutsplus.com Переклад - Дмитро Науменко

P.S. Придивіться до безкоштовного курсу створення своєї CMS-системи на PHP з нуля. Він може стати для вас хорошим стартом при вивченні PHP: