Архив рубрики 'PHP'

10 советов по улучшению PHP кода

Wednesday, August 29th, 2007

После правки очередного кода моих предшественников по проекту, решил выложить десяток советов по улучшению PHP кода.

  1. Используйте error_reporting(E_ALL) - это поможет избежать многих неприятностей
  2. Всегда определяйте переменные перед использованием (при error_reporting(E_ALL) интерпретатор напомнит Вам об этом сообщением )
  3. Форматируйте свой код
  4. Документируйте свой код или пишите самодокументированный код
  5. Проверяйте свой код на ошибки (как было где-то написано: Вы делаете ошибки. Да, да. Именно Вы.)
  6. Пользуйтесь советами по улучшению производительности PHP
  7. Не пишите функций, которые уже реализованы в самом PHP, внимательно читайте manual
  8. Используйте паттерны
  9. Не реализовывайте средствами PHP то, что можно реализовать средствами БД
  10. Производите рефакторинг кода

NuSOAP и PHP 5

Friday, July 27th, 2007

Оказывается, для работы NuSOAP в PHP 5 (а работа эта нужна лишь для того чтобы не переписывать старый код, т.к. в PHP 5 есть SOAP расширение, которое написано на Си и выигрывает в скорости у всех реализаций SOAP написанных на PHP) необходимо поменять имя класса и конструктора soapclient. Т.к. это имя класса совпадает с именем в SOAP расширении PHP 5.

О производительности в PHP

Tuesday, May 15th, 2007

Давно пользуюсь темплитным движком Smarty, поэтому echo не использую. Но обстоятельства сложились таким образом, что надо было быстро набросать код и показать его работоспособность заказчику. В скрипте был следующий кусок кода:

foreach ($a_servers as $val)
{
  echo ‘Что-то выводилось’;
  //далее выполнялись какие-то действия
  echo ‘Потом снова был вывод’;
}

Массив $a_servers оказался большим (больше 2000 элементов) и скрипт выполнялся долго.

Заменил код на следующий:

$message = ”;
foreach ($a_servers as $val)
{
  $message .= ‘Что-то выводилось’;
  //далее выполнялись какие-то действия
  $message .= ‘Потом снова был вывод’;
}
echo $message;

Время выполнения скрипта уменьшилось на 2 секунды!

Вывод: если вы знаете как повысить производительность, не ленитесь и всегда делайте это.

Zend Developer Zone жжет!

Wednesday, March 14th, 2007

Уже второй день на Zend Developer Zone висит сообщение с необычным, на мой взгляд заглавием - Adobe Survey for PHP Develoeprs.
Adobe Survey for PHP Develoeprs
Так что если считаете себя ДЕВЕЛОЕПЕРОМ, то Adobe сделал для вас опрос :)

Кэширование в PHP

Wednesday, March 7th, 2007

Недавно опять просматривал слайды с php конференций по теме производительность на http://talks.php.net от Ilia Alshanetsky. В который раз меня поразил этот слайд: (more…)