Обновить
33.27

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

Zend Studio for Eclipse 6.0.1.1rc1

Время на прочтение1 мин
Количество просмотров757
Предварительная версия популярной среды разработки для PHP от Zend.

Наткнулся случайно на официальном форуме, там искал возможность исправления бага зависания во время «building workspace». Пока полет нормальный, у кого есть подобная проблема, советую обновиться.

Скачать:
Linux — downloads.zend.com/studio-eclipse/6.0.2_preview/ZendStudioForEclipse-6_0_1_1RC1.tar.gz
Windows — downloads.zend.com/studio-eclipse/6.0.2_preview/ZendStudioForEclipse-6_0_1_1RC1.exe
MacOS — downloads.zend.com/studio-eclipse/6.0.2_preview/ZendStudioForEclipse-6.0.1.1RC1.dmg

Источник:
www.zend.com/forums/index.php?t=msg&th=6084&start=0&S=67245387af6142400e10f1c2ee920787

Когда критическая ошибка приносит радость…

Время на прочтение1 мин
Количество просмотров2K
Прочитав недавно на пьяную голову «Обработка ошибок и исключений в PHP», решил применить полученные знания на практике. Честно, ещё 6 часов назад не знал, куда это меня приведёт, но в итоге теперь мои скрипты при ошибка зажигают вот такой симпотный экран:


Хотите узнать, как я этого добился?

Видео с PHPConf 2008 — ~20 часов видео

Время на прочтение1 мин
Количество просмотров697

Выпущен последний релиз PHP 4 — PHP 4.4.9

Время на прочтение1 мин
Количество просмотров3.2K
Еще вчера вечером был выпущен последний релиз PHP четвертой ветки. В нем исправлены несколько серьезных уязвимостей и обновлена версия PCRE до 7.7.

На этом поддержка и обновления PHP 4 заканчиваются. Хотя уже давно широкими шагами идет по миру PHP 5, на многих хостинговых площадках все еще остается четверка (часто совместно с пятеркой).

Итак, сегодня эпоха PHP 4 официально закончена.

Абстракция БД

Время на прочтение4 мин
Количество просмотров5K
Когда я только начинал писать на PHP, ООП я владел, пожалуй, на уровне синтаксиса, не более. В то время мне вполне хватало функций mysql_*. Со временем, опыта становилось больше, я начинал задумываться об оптимизации. Этот топик описывает эволюцию моего кода.
Читать дальше →

smarty перестал дружить с php.net?

Время на прочтение1 мин
Количество просмотров817
Очень странно — захожу на smarty.php.net и созерцаю там вместо веб-сайта популярного шаблонизатора страницу об ошибках в php (http://bugs.php.net).
Интересно, к чему бы это?

(Официальный сайт Smarty так же доступен по адресу www.smarty.net)

PHP 5.3 alpha

Время на прочтение1 мин
Количество просмотров839
НУ что — вот мы и дождались первый альфа релиз PHP5.3!

Из нововведений:
  • Namespaces ( пока правда без документации )
    Late static binding и __callStatic
    лямбда-функции и замыкания
    добавлены некоторые экстеншны ( intl, phar, fileinfo и sqlite3 )
    Опциональная поддержка MySQLnd вместо libmysql
    отказ от поддержки Windows старше чем Windows 2000 (Windows 98, NT4 и т.д.)
    добавление нового синтаксиса: NOWDOC, ограниченный GOTO, сокращенный тернарный оператор (?:)


    P.S. обращаю внимание на авторское замечание: THIS IS A DEVELEOPMENT PREVIEW — DO NOT USE IT IN PRODUCTION!

Обработка ошибок и исключений в PHP

Время на прочтение6 мин
Количество просмотров39K
Эта «небольшая» статейка является развитием темы затронутой в этой статье.
Как известно, PHP зародился довольно давно и уже тогда возник вопрос, что делать с возникающими ошибками. Perl, который является несомненным прародителем PHP по умолчанию не имел какой-либо системы обработки ошибок. При возникновении любой ошибки сервер выбрасывал 500-ю ошибку и на этом все заканчивалось. Поэтому Warnings, Fatal Errors и Notices были настоящим прорывом в облегчении и без того нелегкого труда программиста. Однако время шло, механизмы PHP не менялись, а технологии, как известно, на месте стоять не любят.
Читать дальше →

Пишем свой XML-парсер

Время на прочтение9 мин
Количество просмотров72K

Предыстория


Решив запустить небольшой сервис на подаренном мне хостинге, оказалось, что там нету ни одного xml-парсера: ни SimpleXML, ни DOMXML, а только libxml и xml-rpc. Недолго думая, я решил написать свой. Мне требовался разбор не сложных rss-лент, поэтому хватило достаточно просто класса xml => array.[1]

Но для интересной статьи этого было явно не достаточно, поэтому сейчас мы напишем свою замену для SimpleXML. А заодно пробежимся по многим интересным возможностям PHP 5.

Постановка задачи


Доступ к элементам у нас будет осуществляться как доступ к свойствам класса, например $xml->element, а доступ к атрибутам элемента, как к массиву, те $xml->element['attr'], также реализуем проверку на существование атрибута при помощи isset() и итерацию по элементам при помощи foreach. И так, начнем.
Читать дальше →

Производительность кодирования и декодирования serialize и json — часть вторая

Время на прочтение2 мин
Количество просмотров3.4K
Первая часть моей публикации получила ряд конструктивных комментариев, которые дали толчок разобраться в проблеме более детально.

Новые графики, комментарии и выводы

Производительность кодирования и декодирования serialize и json

Время на прочтение3 мин
Количество просмотров12K
Возникла мысль сравнить два способа хранения абстрактных данных в виде строк, реализованных в PHP: старая добрая сериализация и относительно недавно поддерживающий в языке формат json.

Для сравнения небольшой скрипт генерирует массив из 1000 элементов, две трети элементов которого — строки, длинной 15 символов (напополам — только буквы и только цифры), а оставшаяся треть — массивы по 50 элементов (также — буквенные и цифровые элементы пополам).

Итог весьма неоднозначен, подробности во второй части.

Подробности под катом

Лямбда вычисления и замыкание

Время на прочтение2 мин
Количество просмотров2.2K
В конце 2007 года был предложен патч, добавляющий лямбда функций (но без замыканий) для PHP. В ходе дискуссии в списке рассылки, было решено, что без поддержки замыканий, нет необходимости добавлять их в PHP.
Тем не менее, интерес к этой теме привел к существенным изменением первоначального патча Кристиана Сайлера (Christian Seiler) и выпуску Дмитрием Стоговым (Dmitry Stogov) нового патча.

В результате мы имеем замыкание и лямбда функции в PHP (5.3)


Читать дальше →

Ближайшие события

Обязанности PHP-программистов

Время на прочтение1 мин
Количество просмотров29K
Эта тема поднималась в отдельных комментариях к постам о собеседованиях при приеме на работу PHP-программистов, но я думаю, что она достойна и отдельного обсуждения.

Если почитать объявления о приеме на работу, то кроме непосредственно PHP и MYSQL работодатели требуют множество других знаний и умений. Знание верстки, причем валидной (css, html), хорошие знания javascript, XML, часто AJAX, реже, но тоже бывает — флэш и графические редакторы, администрирование UNIX-систем.

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

Какие навыки требуются от PHP-программиста в вашей организации? Конечно, вопрос адресован PHP-программистам или тем, кто работает с ними рядом. Чем кроме самого PHP занимаются PHP-программеры? Я понимаю, что в конторе из двух человек и где-нибудь в «Гугле» их обязанности могут быть очень различными, но это-то и интересно.

Защита PHP скриптов от копирования — это возможно?

Время на прочтение4 мин
Количество просмотров42K
Бывает так, что вам неохота предоставлять исходные коды проектов, которые вы разрабатывали. Для этого можно использовать программы-обфускаторы, о которых недавно шла речь.

А бывает, что вам не так хочется закрыть исходный код, как защитить скрипт от копирования. На мой взгляд, сокрытие исходного кода, в большинстве случаев, не имеет смысла без защиты от копирования.
Читать дальше →

Работа с датой. PHP5.2

Время на прочтение2 мин
Количество просмотров14K
В PHP5.2 для работы с датой/временем появились классы DateTime и DateTimeZone. Вначале на них не обратил внимание, так как привык пользоваться функциями date(), etc. Но потом решил все-таки посмотреть какие возможности реализуют новые классы.

DateTime


Конструктор класса


DateTime DateTime::__construct ([ string $time [, DateTimeZone $timezone ]] )

Конструктор принимает два параметра:
1. Строка в формате принимаемым strtotime(), по умолчанию — «now».
2. Зона для которой будем считать время.
Читать дальше →

Конвертация базы из Windows1251 в UTF8

Время на прочтение3 мин
Количество просмотров37K
Всем привет. Столкнулся с вопросом конвертации базы из CP1251 в UTF8.
Полазив по просторам Интернета не нашел готового скрита (видимо плохо искал).
Вот решил написать свой скриптп. Конвертация происходит безо всяких дампов базы. Решены проблемы с символами е = ё и т.д.

продолжение под катом
Читать дальше →

Фонетический поиск

Время на прочтение4 мин
Количество просмотров16K
Пару лет назад была задача написать для одного из сайтов такой поиск, который бы распознавал опечатки и предлагал бы исправленные запросы. Было перепробовано несколько вариантов, об одном из которых я и хотел тут написать. Поиск на основе звучания слов может стирать языковые границы, поскольку имена собственные на разных языках созвучны. Например, ищешь «Арнольд Шварцнеггер» на русском — находишь «Arnold Schwarzenegger» на английском, или ищешь «Michael Jordan» — находишь «Майкл Джордан», или ищешь «Чак Норрис» — и вдруг он сам тебя находит. Помимо поиска созвучных слов этот метод нивелирует большое количество опечаток. А то че-то задолбала попса, надо больше про инсайд…

...больше про инсайд

PHP + Ajax = Web explorer?!

Время на прочтение1 мин
Количество просмотров3.1K
Сегодня я предлагаю одолеть одну очень популярную задачку open source методом. Задача тривиальная и давно имевшая множество решений. Но для меня лично вопрос еще открыт. А именно: веб-бейзд файл менеджер…

extplorer.png - upload images with Picamatic

eXtplorer — с помощью Ajax (ExtJS, ку-ку!) и PHP наш подопытный отлично справляется…
Что же он умеет?

Отладка PHP средствами Firebug

Время на прочтение2 мин
Количество просмотров25K
FirePHP

Отладка PHP-скриптов определенно недостаточно освещена в интернете. Потому многие, очень многие довольствуются print_r-ками. Очевидный недостаток такого способа — нельзя отладить AJAX, SOAP-сервисы, генераторы картинок и вообще скрипты, не отдающие непосредственно HTML-документов.

Javascript-разработчики используют для отладки Firebug. Как я им всегда завидовал. Лепота — выделенная консоль, net-монитор, отладчик, и все это в любимом браузере.

Так вот, нашел такое расширение Firebug — FirePHP. Оно позволяет выводить информацию в консоль Firebug непосредственно из PHP. Делается это довольно простым вызовом:
Читать дальше →