Воскресенье, 14-Июня-2026, 6.22 AM

Dletemplate.ru

Категории раздела
Html [7]
HTML-redactor [2]
CSS [10]
SSI [5]
XML [4]
JavaScript [10]
PHP [9]
Perl [5]
ASP [3]
MySQL [5]
Apache [6]
Раскрутка сайта [15]
Наш опрос
Оцените мой сайт
Всего ответов: 107
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Статьи

Главная » Статьи » PHP

Советы и трюки по PHP

Небольшое вступление

Началом написания серии статей "Советы и трюки" послужил отчет "Tips and Tricks" Расмуса Лирдофа (Rasmus Lerdorf) с конференции PHPCon2002, которая состоялясь 24 октября 2002 года в городе Milbrae, Калифорния, США. Изначально планировалось просто перевести отчет по просьбам членов Клуба разработчиков PHP, но по мере чтения статей возникло много спорных вопросов и разногласий с автором, поэтому я постарался как можно более четко определить и разъяснить преимущества и недостатки того, или иного подхода оптимизации решений.

Часть 1. Оптимизация

1. Без необходимости не используйте регулярные выражения.

В PHP кроме регулярных выражений существует большое количество функций по обработке текста, которые в некоторых случаях могут заменить их, экономя при этом ресурсы сервера.

Неправильно: <? $new = ereg_replace("-","_",$str); ?>
Правильно:
<? $new = str_replace("-","_",$str); ?>
Неправильно:
<? preg_match("/(\..*?)$/",$str,$reg); ?>
Правильно:
<? substr($str,strrpos($str,)); ?>

2. Используйте ссылки при обработке больших массивов данных для экономии памяти сервера.

Работа со ссылками (references) является более приемлемой при обработке больших объемов информации, хотя и немного медленней, чем работа с копией, но использует меньший объем памяти. Поэтому Вы должны самостоятельно определить, запасы каких ресурсов на сервере более рационально использовать - процессора или памяти.

3. Постоянные (persistent) соединения с БД

Некоторые БД более медленно выполняют создание новых соединений, чем другие БД. Чем дольше происходит создание нового соединения, тем больший смысл имеет использовать постоянное соединение с БД. Но учтите, что постоянные соединения связывают и используют ресурсы сервера, даже тогда, когда эти соединения простаивают.

Учтите, в PHP реализована функция отключения постоянных соединений, поэтому если у провайдера в конфигурации PHP установлена директива mysql.allow_persistent = Off, то соединения вызываемые функцией mysql_pconnect() будут обрабатываться как mysql_connect().

Очень часто встречаются советы не использовать постоянные соединения с БД. Это связано в первую очередь с тем, что многопоточные веб-сервера, к которым относится и Apache, не могут разделить со своими потомками соединение с БД. Таким образом если следующий запрос приходит на другого потомка, то он создает новое постоянное соединение, что со временем приводит к появлению большого количества незакрытых соединений с БД и переполнению допустимого лимита max_connections в MySQL. Возможно два решения этой проблемы: первое описано выше заключается в запрете использования постоянных соединений, второе - использовать малое значение времени жизни постоянного соединения в директиве wait_timeout конфигурации MySQL. По умолчанию оно составляет 28800 сек. (8 часов), по истечению которых после отсутствия активности соединения будет закрыто.

Помимо всего этого существуют еще некоторые проблемы постоянных соединений с транзакциями и блокировками таблиц. Так, если таблица блокируется запросом на транзакцию или LOCK TABLE и при этом скрипт заканчивает свое выполнение до завершения транзакции или выполнения разблокировки таблицы UNLOCK TABLE соответственно, то вторичная попытка доступа к таблице через это же постоянное соединение будет отклонена. При использовании непостоянного соединения с БД, при завершении скрипта соединение закрывается автоматически и при этом снимает блокировку со всех таблиц и завершает все транзакции. Решением этой проблемы есть регистрации функции register_shutdown_function() которая бы по завершению скрипта снимала блокировку с таблиц и завершала транзакции.

Так что можете использовать, а можете и не использовать, все зависит от поставленных задач.

4. Используешь MySQL? Проверь mysql_unbuffered_query()

Небуферезированные запросы к БД MySQL применяется так же как и mysql_query(). Разница заключается в том, что вместо того, чтоб ожидать полного окончания запроса сохранить результат в клиентском API, небуферизированный запрос делает доступными результаты своего выполнения как можно скорее, минуя буферизацию в клиентском API. Таким образом Вы получаете боле быстрый доступ к данным с меньшими затратами памяти. Недостатком использования такого типа запросов является невозможность получить доступ к функции mysql_num_rows(),этои запросы медленнее на маленьких выборках SELECT, а также хотелось бы заметить то, что при выполнении любого другого запроса, все данные которые небыли выведены, будут потеряны.

5. В поисках идеала

Если решения выглядят для Вас комплексно, то наверняка найдется более простой и очевидный подход к решению задачи.

Категория: PHP | Добавил: mas (19-Сентября-2006)
Просмотров: 41908 | Комментарии: 1818 | Рейтинг: 0.0/0
Всего комментариев: 2471 2 3 ... 24 25 »
247 Leonellip  
0
ПРОСТОТА В УХОДЕ https://norsy.ru/kontakty

Детская одежда https://norsy.ru/ceny

ШВЕЙНАЯ ФАБРИКА https://norsy.ru/voprosy-otvety

Маркировка и сертификация https://norsy.ru/kontakty

и напишите нам https://norsy.ru/pochemu-my

швейная Фабрика 21 производство одежды в Москве, московской области, СПБ, Нижегородской области филиалы швейного производство по России https://norsy.ru/poshiv-futbolok

246 Williesaica  
0
Универсальная схема работы выглядит следующим образом:
Завод "Термопак" — это предприятие, занимающееся выпуском термоупаковочного оборудования https://wnkk.ru/product-category/oborudovanie-dlya-upakovki-v-bag-in-box/
Термопак представляет на рынке разные модели термоупаковочных станков: от ручных до автоматических, в зависимости от потребностей и мощностей производства https://wnkk.ru/product/stanok-dlya-skladyvaniya-polotenecz-i-upakovki-v-paket-l-986/


Использование такого оборудования актуально для товаров любого формата: пищевых и непищевых продуктов, изделий из пластмассы, стекла, металла https://wnkk.ru/product/avtomaticheskaya-liniya-po-rozlivu-i-ukuporke-kvashenoj-kapusty-v-steklyannye-banki/
С его помощью упаковывают банки, канистры, бутылки, коробки и пр https://wnkk.ru/product-category/linii-rozliva-v-razlichnuyu-taru/page/2/
Также упаковочные аппараты используются в качестве вспомогательного оборудования в разных производственных процессах https://wnkk.ru/product/termousadochnyj-upakovochnyj-stanok-dlya-butylok-s-vodoj/

Обандероливатели — это упаковочное оборудование для обвязки одного или нескольких предметов https://wnkk.ru/product/stanok-dlya-upakovki-v-doj-pak-razlichnyh-gelej/

Упаковочное оборудование автоматизирует производственные процессы, дополняет или полностью заменяет ручную сборку, позволяя экономить время и средства https://wnkk.ru/product/stanok-dlya-upakovki-v-strejch-plenku-r26k/

245 MartaHeike  
0
The US president raged at NATO allies over defense spending in meeting with the German chancellor, as Israel ordered its military to ‘advance’ in Lebanon

244 Robertutemi  
0
Фиксированная стоимость https://drogal.ru/uslugi/takelazh/

В чем специфика работ https://drogal.ru/glossary/vakuumnaya-upakovka/

Ответы на частые вопросы https://drogal.ru/glossary/sertifikat-o-proishozhdenii-tovara/

Любая численность грузчиков https://drogal.ru/portfolio_tags/slozhnye-takelazhnye-raboty/

Смена, кол-во человек Смена, кол-во часов Цена, от (за человека) Цена, от (за 1 кг) 1 4+1 3 000 руб https://drogal.ru/glossary/zapros/
5 руб https://drogal.ru/glossary/brutto/
4-8 8+2 3 500 руб https://drogal.ru/glossary/transportirovka/
7 руб https://drogal.ru/uslugi/upakovka/zhestkaya-upakovka/

Выбор авто для перевозки грузов https://drogal.ru/glossary/brutto/

243 RobertQueld  
0
Как заказать станки из Китая для бизнеса
Бизнесмены из Европы и США практикуют закупку целых заводов, которые в дальнейшем реализуются под собственной торговой маркой https://towarkitai.com/products/61582104

Преимущества покупки оборудования в Китае
Получить не то оборудование — один из главных рисков при закупках из Китая https://towarkitai.com/products/61718778
Привезли не ту модель, упаковали не так, перепутали напряжение https://towarkitai.com/products/category/2218884?text=&balance=&categoryId=2218884&sort=5&min_cost=&max_cost=&productGroup=0&productCustomGroup=0&page=1
Если контроль качества не организован заранее, обнаружить проблему можно только на складе в России — когда уже поздно https://towarkitai.com/products/automaticvacuumpackager

подписи исполнителя и дата https://towarkitai.com/products/57968722

242 Robertkex  
0
Доставка негабаритных и малых грузов, осуществляется нашим партнером, сервисом курьерской доставки, компанией "Достависта".
По запросу 521 https://deneb-spb.ru/krany-i-ventili
15 https://deneb-spb.ru/shtanga-rezbovaya

Полипропиленовые трубы ST-PN20 Remsan предназначены для монтажа внутренних систем холодного, горячего водоснабжения и отопления, а также в технологических трубопроводах, транспортирующих жидкости и газы не агрессивные к материалам трубы и фитингов https://deneb-spb.ru/kollektory
Изготовлены в соответствии ГОСТ 32415-2013 https://deneb-spb.ru/klipsy

Мы на связи Пн - Пт с 9 до 18 (Мск +2)
По запросу 500 https://deneb-spb.ru/mufty-i-perekhodniki
12 https://deneb-spb.ru/obvody

Минимальная глубина гнезда под трубу при сварке https://deneb-spb.ru/krestoviny

241 DuaneBar  
0
Профессиональная косметология на Цветном бульваре https://sinapple.ru/collection/diego-dalla-palma/product/diego-dalla-palma-professional-snowhite-enchanting-shower-gel
Spa Dream – это интернет- магазин косметики, ориентированный на искушенных покупателей, которые привыкли получать все и сразу https://sinapple.ru/collection/miriamquevedo/product/miriamquevedo-extreme-caviar-shampoo-for-color-treated-hair А именно – средства премиум-класса и высокий уровень обслуживания https://sinapple.ru/collection/skinclinic-ispaniya/product/skinclinic-krem-dlya-tela-glycolic-extra-ob-2

240 Robertkex  
0
VTp https://deneb-spb.ru/mufty-i-perekhodniki
700 https://deneb-spb.ru/vse_novosti
0020 https://deneb-spb.ru/svarochnye-apparaty-i-mashiny
32 https://deneb-spb.ru/dostavka
02 https://deneb-spb.ru/ugolniki

По запросу 199 https://deneb-spb.ru/filtry-i-obratnye-klapany
42 https://deneb-spb.ru/ugolniki

Доставка У нас имеется собственный автопарк, и возможность оперативно доставить изделие на объект https://deneb-spb.ru/shurup-shpilka
При наличии товара на складе возможна доставка по Москве и Московской области 15 https://deneb-spb.ru/shtanga-rezbovaya
03 https://deneb-spb.ru/kompensatory
2025 после 12-00 https://deneb-spb.ru/sedla

По запросу 49 https://deneb-spb.ru/truby-armirovannye-steklovoloknom-pn20-i-pn25
48 https://deneb-spb.ru/

По запросу 84 https://deneb-spb.ru/shtanga-rezbovaya
40 https://deneb-spb.ru/clientam

Область применения полипропиленовых труб – инженерные, прежде всего – отопительные, водопроводные, и технологические установки https://deneb-spb.ru/truby-pn-10-i-pn-20
Полипропиленовые трубы характеризуются прочностью, неподверженностью коррозии, устойчивостью к воздействию агрессивных сред https://deneb-spb.ru/zaglushki
Практиков привлекает их простой монтаж методом муфтовой сварки, легкая транспортировка https://deneb-spb.ru/kollektory
При соблюдении условий эксплуатации срок службы данных труб – не менее 50 лет https://deneb-spb.ru/adaptory-nasadki-i-sverla-dlya-sedel
VALTEC предлагает однослойные и многослойные трубы и фитинги из полипропилена повышенной прочности PP-R 100, которые выпускаются на новейшем оборудовании https://deneb-spb.ru/truby-armirovannye-alyuminiem
Диапазон диаметров – от 20 до 110 мм https://deneb-spb.ru/ugolniki
Многослойные полипропиленовые трубы VALTEC PPR-FIBER (PP-R/FB/PP-R) армированы стекловолокном, PPR-ALUX (PP-R/AL/PP-R) – сплошной алюминиевой прослойкой, полностью исключающей диффузию кислорода https://deneb-spb.ru/truby-armirovannye-alyuminiem
Форма поставки продукции – отрезки по 4 и 2 м https://deneb-spb.ru/homuty-santekhnicheskie-trubnye

239 JeffreyHeelo  
0
Прибор электро-радиохирургический Surgitron-DF 120 представляет собой полупроводниковый высокочастотный генератор, являющийся источником высокомощной энергии радиоволн, который может использоваться для целого ряда радиоволновых хирургических манипуляций https://ellman.ru/plates
Данное действие достигается выбором форм волны и уровней мощности с помощью кнопок, расположенных на передней панели https://ellman.ru/plates
Выбор режима осуществляется с помощью нажимных кнопок и индикаторов, которые дают информацию о состоянии прибора https://ellman.ru/articles
Уровень мощности для каждого режима высвечивается на цифровых дисплеях, находящихся на передней панели прибора, на которых также показывается положение самопроверки и наблюдения https://ellman.ru/accessories
Регулирование окончательной выходной мощности осуществляется с помощью ножного и (или) ручного переключения https://ellman.ru/triangular
Внутренняя память является особым элементом для сохранения всех настроек передней панели, режима и уровня выходной мощности https://ellman.ru/tips
Прибор соответствует международным стандартам безопасности https://ellman.ru/ball

Кат https://ellman.ru/devices
№ IEC-3FHPB/D https://ellman.ru/electrodes

После получения счета и договора поставки обязательно изучите указанные в нем:
Высокочастотный хирургический радиоволновой генератор Surgitron® Dual EMC™ 90 - 1 шт https://ellman.ru/devices
; Электроды активные монополярные (базовый комплект) - 1 шт https://ellman.ru/ball
; Электроды активные биполярные пинцетообразные (комплект) - 1 шт https://ellman.ru/catalog
; Электроды пассивные (антенная пластина) с кабелем одноразовые (комплект) - 1 шт https://ellman.ru/articles
; Электрод пассивный (Антенная пластина) с кабелем (стерилизуемый) - 1 шт https://ellman.ru/triangular
; Наконечник-держатель монополярный - 1 шт https://ellman.ru/oval
; Наконечник-держатель биполярный одноразовый - 1 шт https://ellman.ru/oval
; Двойная ножная педаль со шнуром - 1 шт https://ellman.ru/catalog
; Силовой шнур - 1 шт https://ellman.ru/diamond

Специалистам легко осваивать устройство благодаря эргономичному дизайну https://ellman.ru/
Цветной дисплей, а также световые индикаторы создают дополнительные удобства для хирурга в ходе операции https://ellman.ru/catalog
Переключать режимы работы можно ножной педалью и/или ручным переключением с помощью наконечника https://ellman.ru/ball
Обеспечена безопасность хирурга и пациента на уровне международных стандартов https://ellman.ru/articles
Этому способствуют такие встроенные функции как самоконтроль и самопроверка https://ellman.ru/ball
С их помощью обеспечивается надежность и долговременность работы устройства https://ellman.ru/oval
В памяти генератора сохраняются режимы, которые использовались раньше https://ellman.ru/ball
В процессе операции ткани получают минимум повреждений, и процесс регенерации происходит быстро https://ellman.ru/tips
С первых дней наблюдается понижение уровня постоперационного дискомфорта прооперированной области https://ellman.ru/diamond
Благодаря стерилизующему эффекту снижается возможность заражения https://ellman.ru/
Врач может видеть ткани, которые удаляются, используя используются режимы: коагуляции и разреза https://ellman.ru/articles

238 Robertutemi  
0
Иванин Владимир Александрович https://drogal.ru/glossary/obreshetka/

Фургон 3 м https://drogal.ru/vidy-takelazhnyh-rabot/

В списке плюсов нашей компании:
ПАРАМЕТРЫ ЗАКАЗА https://drogal.ru/glossary/kombinirovannaya-perevozka/

Нам все по силам! Такелаж любой сложности и объема!
Принципиальная позиция нашей компании ? неукоснительное соблюдение техники безопасности https://drogal.ru/uslugi/takelazh/takelazh-transformatorov/
В противном случае любая ошибка или небрежность может обернуться финансовыми потерями или нанесением ущерба здоровью людей https://drogal.ru/glavnaya/vakansii/
Поэтому каждый наш сотрудник проходит спецобучение по проведению такелажных работ, которое завершается аттестацией https://drogal.ru/takelazhnoe-oborudovanie/

1-10 11-20 21-30 ... 231-240 241-247
Имя *:
Email *:
Код *: