15 корисних порад в PHP

39

Від автора: у даній статті я хочу Вам дати 15 корисних порад php. Всі поради взяті з мого особистого досвіду. Тому буду радий Вашим коментарям та критичних зауважень як оцінка моїх праць.

Перший рада PHP. Не використовувати @

Оператор @ використовується для приховування помилок при використанні або виконання певних функцій. Даним оператором не варто користуватися з двох причин: він не виправдав себе у швидкодії, тобто повільний; автоматично блокує всі виниклі помилки при виконанні функції, що є небажаним.

Забути про cp1251

Важливий рада PHP. Усім, хто все ще працює з кодуванням cp1251 – терміново переходьте на utf8!!! Т. к. безліч функцій по роботі з рядками підтримує тільки utf8. І це тільки одна з причин.

Читайте phpmanual

Розробники створили величезну кількість функціоналу, яким гріх не скористатися, але щоб знати про всі принади php читайте phpmanual розробників.

Найкращий код – там, де його менше

Використовуйте одиничні лапки

Одинарні лапки швидше ніж подвійні, бо PHP шукає змінні всередині рядків, укладених в подвійні лапки. До того ж рядка, укладені в одинарні лапки, візуально сприймаються краще. Коли ви хочете передати змінні в рядок, то кращою продуктивністю користуються рядка, обрамлені подвійними лапками.

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

Наведу прості приклади оптимізації:

Echo швидше, ніж print

Як можна частіше звільняйте пам’ять

require_once не так вже й хороший

str_replace швидше, ніж preg_replace

Уникайте регулярок, краще використовувати рядкові функції, вони швидше

Як можна більше кэшируйте

Не все має бути ООП

mod_gzip — модуль Apache, який дозволяє стискати ваші дані на льоту і може зменшити обсяг переданих даних до 80%

Що таке звільнення пам’яті?

При роботі з великим об’ємом даних в ході виконання сценарію створюється чимала кількість змінних. Тому в певний момент потрібно видаляти змінні, чому і поняття видалення змінної можна порівняти скоріше з очищенням змінної з допомогою функції unset().

Також бажано використовувати мінімальну кількість змінних для виконання певних інструкцій. Тому що величезна кількість змінних знижує читабельність коду.

Розглянемо приклад:

// так писати не варто
$time = time();
$login = $_SESSION[‘login’];
$hash = md5($login . $time);
// якщо можна записати так
$hash = md5($_SESSION[‘login’] . time());

Спочатку пишемо, потім оптимізуємо

Ця рада PHP застосовується практично скрізь і у всьому (це стосується не тільки PHP, і програмування в цілому). Не доцільно оптимізувати, коли сценарій в процесі розробки. Ти не бачиш всієї картини в цілому.

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

Одвічна проблема початківців кодерів полягає в тому, що коли вони перебирають масив у циклі for, вони в кожній ітерації використовують функцію count(), яка підраховує кількість елементів у масиві. Що знову-таки позначається на швидкодії сценарію.

Помилка:

for($i=0;$i < count($array);$i++){
//оператори
}

Куди краще відразу занести в якусь змінну кількість елементів масиву і більше не чіпати її.

$elements = count($array);
for($i=0;$i < $elements;$i++){
//оператори
}

Завжди приходить момент, коли починаєш працювати з рядками, а саме коли потрібно порівняти довжину рядка з константою. І тут ми відразу звертаємось до функції strlen(), яка повертає кількість символів в рядку. Вона сама по собі швидка, бо довжина вже відома і функція просто витягує її.

Розглянемо приклад, який ми потім більш оптимізовано перепишемо.

if (strlen($string) < 10) { echo «String is short»; }

Оптимізований варіант:

if (!isset($string{10})) { echo «String is short»; }

Поговоримо про инкрементах:

Інкремент глобальної змінної в два рази повільніше, ніж локальної.

Інкремент властивості об’єкта (тобто $this->inc++) в три рази повільніше, ніж локальної змінної.

Інкремент невизначеною змінної в 9-10 разів повільніше, ніж заздалегідь инициализированной.

Інкремент локальної змінної у методі — найшвидший. Майже також працює інкремент локальної змінної функції.

Висновок за порадами PHP: не лінуйтеся читати і писати, писати і ще раз писати

Читайте блоги будь-програмістів, бажано буржуйських. Підпишіться на їх рас-силка. Вивчайте їх уроки, пости, замітки.

Пишіть своє, пишіть багато свого. Придумуйте цілі і досягайте їх. І так через го-дік простого регулярного праці ви досягнете успіхів.

Просто сідаєте кожен день, і по 60 хвилинок приділяйте PHP і все у вас вийде!

15 корисних порад в PHP

На цьому урок «Поради PHP» завершений.

E-mail: [email protected]

Проект webformyself.com — Як створити свій сайт. Основи самостійного сайтобудування

P. S. Хочете опублікувати цікавий тематичний матеріал і заробити? Якщо відповідь «Так», то тисніть сюди.