Archive for 28.11.2009
Zend Studio – які враження?
Що сподобалось?
1) Ctrl+space – автозаповнення і механізм шаблонів
2) Ctrl+O – швидкий перехід до потрібного методу в класі
3) OpenType(Ctrl+Shift+T швидке відкриття файлів по назві з потрібним класом), OpenMethod(швидке відкриття файлів по назві з потрібним методом) , OpenResource(швидке відкриття файлів по назві)
Групові операції з текстом в файлах (наприклад перейменування)
4) Підсвітка всіх помилок і можливість їх швидкого виправлення QuickFix(Ctrl+1)
5) Можна підсвічувати потрібну змінну в файлі. На полосці справа будуть видні всі її появи в тексті – сірим буде позначено ситання, оранжевим – запис
6) Можна перейменовувати змінну так, щоб одночасно вона переменувалась по всьому файлу
7) Корисні методи Refactor->ExtractMethod, Refactor->ExtractValue
8) Широкі можливості по роботі з проектом написаним на ZF, зокрема наявність консолі
9) Ну, і звичайно ж дебагінг…
Дебагінг
Фірма Зенд випускає ряд продуктів, серед яких виділимо
Zend Server – веб-стек схожий на Денвер плюс ряд скриптів для веб-розробки плю додаткові речі, такі як Zend Debugger, ZendFramework і т.д.
Zend Platform – те саме, тільки для більш крупних клієнтів
Zend Server CE – дещо урізаний безкоштовний Zend Server
При дебагінгу Zend Studio шукає встановлений Zend Server і якщо знаходить, все налаштовує сама. Але часто буває, що ставити Zend Server бажання немає (вже є Денвер, наприклад). В цьому випадку просто закачується Zend Debugger, який являє собою звичайний серверний модуль, що можна встановити на Апач. (Існує ще один аналог Zend Debugger’а – xDebug, його можна підключити до Zend Studio, але вже з меншими можливостями, зокрема без профайлінгу – а це дуже цікава річ, до речі )
Zend Studio підтримує кілька підходів до дебагінгу(та відповідно профайлінгу):
1)Локальний дебаг РНР скрипта(вбудованими в Зенд засобами)
2)Дебаг скрипта на сервері(тільки зі встановленим Zend Debugger)
3)Дебаг веб-сторінки на сервері
4)Дебаг вказаного УРЛ
5)Дебаг за допомогою плагіна в браузері – як на мене єдиний нормальний спосіб, оскільки у великому проекті окремий файл не надто протестуєш, а вводити по пам’яті УРЛ(спосіб №4) не надто зручно.
Отже, для дебагінгу на даний момент мені найбільше сподобалась на зв’язка Zend Studio + Zend Debugger+ плагін до Firefox
Zend Debugger працює тільки з non-thread-safe версією PHP. Це означає, що якщо розробка ведеться під Віндовс, то використовувати доведеться тільки Apache 1.3 Гілка Apache 2.х під ОС від Майкрософт НЕ ПІДТРИМУЄ non-thread-safe PHP. Якщо коротко, то справа у 2-х варіантах реалізацї розподілу процесів в Апач: prefork(1.3,2.х) та worker(2.х). Для nts-версії PHP потрібна prefork реалізація, а під Віндовс вона є лише для гілки 1.3
До речі, популярний дистрибутив Денвер-3 йде з Apache 2 у поставці, тому там про Zend Debugger можна забути. Єдина альтернатива – можливе використання xDebug. Це рішення ніби має реалізації і для звичайного РНР і для nts-версії.