iForum 2011

1го апреля участвовал в круглом столе “Битва фреймворков”, который проходил в рамках конференции iForum 2011. Я отдувался за PHP и фреймворки Zend Framework / Symfony2. Сегодня смотрел видеозапись — вроде нормально получилось :) .

Видео под катом Continue reading

Поговоримо про Zend_Navigation

Вихід ZF 1.8 порадував нас низкою нових, корисних компонентів. У цій статті я хочу розповісти про практику використання Zend_Navigation для побудови простого меню сайту, карти сайту і хлібних крихт. Особливо хочеться звернути увагу на використання Zend_Navigation в парі з Zend_Acl.
Continue reading

Антиплагіат модуль

Антиплагіат модульДесь з місяць назад в мене замовили скрипт антиплагіат модуля. Спочатку я зробив його по алгоритму схожому на текстброкерівський. Але через кілька днів замовник знайшов програму Advego Plagiatus і захотів такий алгоритм як там…
Continue reading

Zend Framework і фільтр для задання файлові унікального імені

Renames file assigning it a unique nameВ процесі роботи над створенням FOSS двигунця для портфоліо (на основі Zend Framework) в мене виникла потреба задавати завантажуванним на сервер файлам унікальні імена. Для цього я створив фільтр на зразок Zend_Filter_File_Rename, який генерує унікальне ім’я файлу і перейменовує початковий файл.

Код фільтру і приклад його використання ви знайдете одразу під катом.
Continue reading

WinXP, regedit and “Open with…”

Ключ на 36Теорія

Ця стаття про те як у Windows XP можна змінити програму, що за замовчуванням відкриває той чи інший тип файлів. З інструментів знадобиться regedit і F3.

Практика

Минулого тижня NetBeans 6.5 повідключав половину модулів після закачки апдейтів. Я довго з тим не грався, просто скачав з сайту 6.5.1 для php, деінсталював 6.5, видалив з “Documents and Settings” папки налаштувань “.nbi”, “.netbeans”, “.netbeans-registration” (інакше реінстал не допомагав) і встановив 6.5.1.

Після цього файли з розширенням .php перестали за замовчуванням відркриватися в NetBeans. Попереднього разу асоціацію я задавав вручну через “Open with…”. Тепер же NetBeans просто не з’являвся в списку аплікух. Тобто я тикав WinXP носом в його netbeans.exe, тиснув ОК і спостерігав як нічого не відбувалося :) .

Continue reading

6-ть способів отримати розширення файлу в PHP

$filename = 'mypic.gif';
 
// 1. The "explode/end" approach
$ext = end(explode('.', $filename));
 
// 2. The "strrchr" approach
$ext = substr(strrchr($filename, '.'), 1);
 
// 3. The "strrpos" approach
$ext = substr($filename, strrpos($filename, '.') + 1);
 
// 4. The "preg_replace" approach
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
 
// 5. The "never use this" approach
//   From: http://php.about.com/od/finishedphp1/qt/file_ext_PHP.htm
$exts = split("[/\\.]", $filename);
$n = count($exts)-1;
$ext = $exts[$n];

Ці 5-ть способів я чисто випадково побачив тут. І 6-й спосіб від мене:

$pathInfo = pathinfo($filename);
$ext = $pathInfo['extension'];

Ну, хто більше :) ?

UPD. Можна сказати 6.2 від KAndy і VadimVoituk:

$ext = pathinfo($filename, PATHINFO_EXTENSION);

Самий класний спосіб :) !

Rotate transparent image в PHP

Жодна тварина в результаті роботи скрипта не постраждала :)От не спиться мені і баста :) .
На форумі zf побачив запитання “Як засобами php повернути png з прозорістю так, щоб після повороту прозорість зберігалася?”. Через деякий час знайшов два вирішення цієї задачки.
Continue reading

Як запускати дебаг з браузера? FireFox + NetBeans + xDebug

Що мені дуже подобалося в Zend Studio так це Zend Toolbar. Він давав мені змогу “сухо і комфортно” відлагоджувати скрипт, при цьому передаючи йому необхідні набори вхідних даних. І от якось знадобилася мені щось схоже в NetBeans – а нема :( .

На оф. сайті xDebug я знайшов згадку про плагін для Firefox xDebug helper. В коментарях до плагіну писали, що його можна використовувати для Eclipse та Notepad++. Значить з NetBeans теж повинен працювати. Витративши ще трохи часу я знайшов статтю “Debugging tip: Xdebug Helper in Firefox w/ NetBeans“, в якій все детально розписано.

Якщо коротко, то:
1. Ставимо плагін xDebug helper.
2. Перезапускаємо браузер і заходимо в налаштування плагіну. В полі idekey вказуємо ‘netbeans-xdebug’.
3. В статусбарі браузера з’являється іконка хелпера “Start/stop xDebug session”. По дефолту вона неактивна. Якщо її включити і перезавантажити сторінку, то в NetBeans почнеться дебаг. Єдине що перед цим потрібно стартанути дебаг в самому NetBeans.

Це все :) . Юзайте на здоров’я!

UPD. Я бачу люди заходять сюди по запиту “netbeans xdebug“. В такому разі раджу прочитати розділ “Установка и включение отладчика XDebug” з статті “Настройка среды разработки PHP в Windows“.

UPD2. Сьогодні 25 лютого 2010 року і я натрапив на свою ж статтю написану більше року назад :) .

Значить, щоб це все працювало в php.ini мають бути прописані наступні налаштування для xdebug:

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

Привіт NetBeans! Good buy Zend Studio!

netbeans Вже біля трьох тижнів я використовую NetBeans 6.5 в якості IDE для php. Спочатку мені було просто цікаво, а сьогодні я вирішив перейти на нього повністю і вилучив ZS з системи.

Чому так? На те є кілька причин:
- NetBeans безкоштовний! В той час як ліцензія Zend Studio for Eclipse коштує 399$ на рік. А я останнім часом намагаюсь не використовувати неліцензійне ПЗ.
- NetBeans швидший. На свому Dell Latitude D600 (не дуже потужний ноут на сьогоднішній день) я дуже сильно відчуваю цю різницю у швидкодії.
- NetBeans зручніший. Налаштувати можна все, що завгодно. Від деяких фіч я просто в захваті!

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

Continue reading