PHP tips  

Posted in , ,

Несколько не хитрых типсов по решению хитрых проблем на PHP.
Честно скажу - от PHP у меня на зубах песок образовывается, зато его (PHP) сырость и нелогичность позволяет делать забавные хаки.

Типс о занимаемой мамяти.
В PHP есть вообщем ссылки. И если у вас есть переменная, которая содержит большой объем данных и вы хотите эти данный ещё разок обработать.
(например nl2br($str); и т.д.) - передавайте по ссылке. Просто nl2br(&$str);. Экономия памяти и процессорного времени на копировании данных в функцию и обратно.
(надо будет посчитать в циферках что к чему)

Типс о неровной отдаче.
Когда большой скрипт долго думает - он может отдавать страницу кусками, что выглядит некрасиво. Поэтому такой вывод можно буфферизировать, благо в PHP есть для этого средства. Можно использовать эти два типса вместе. Т.е. буферизировать вывод, сохранив его в переменную, потом проверить например на XSS.
Буферизация смотрится красиво + можно при таком подходе сделать какой-нить "please wait" красивый, или рекламу показать, пока вывод готовится на сервере. (только чтоб таймаут не порвался, ибо данные-то не идут)

Типс о скрытых ошибках.
Никакие ошибки пользователь не должен видеть на вашем сайте.
И для этого не нужно городить нечитаемых ифов и переменных состояния - достаточно просто чуть что выкидывать эксепшн. При том можно написать свой класс эксепшенов, который юудет все логировать. Или логировать через catch(Exception $e) { /* code */ }.
Для пользователя любой лаг может выглядеть например как выкидывание на последнюю посешенную страницу на сайте. Использой везде файринг с "тихим" отловом можно даже защитится от собственных кривых рук.


Спасибо за внимание, надеюсь был ползен.

0 responzez

Post a Comment

metanews


Add to Google