Pull to refresh

Comments 85

UFO just landed and posted this here
Когда я программировал на C++ отладка кода таким образом (имею ввиду брэйкпоинты) была просто необходима, а вот что касается PHP, то мне вполне хватает, как выразился автор — «пресловутых var_dump и die()», я могу отладить довольно большой скрипт при помощи только лишь ECHO и PRINT_R. А отладка через ZendStudio займёт больше времени, чем сама разработка скрипта )).
Весьма спорное утверждение, отладчик ZS — решение профессинального уровня.
А вам не кажется, что использование операторов echo, print_r, var_dump — замусоривает код?

А отладка через ZendStudio займёт больше времени, чем сама разработка скрипта )).

Сравните, сколько времени займет у вас обвязать все конструкции, в которых вы сомневаетесь, а затем не забыть убрать все лишнее, или один раз прогнать ваш скрипт через дебаггер…
Вы видимо что-то не так поняли, я их ставлю исключительно для отладки, а затем все удаляю.

Это просто, т.к. в скрипте я не делаю еханья, работаю исключительно через шаблоны. Поэтому не понимаю о каком засорении вы говорите. Тем более если код хорошо оформлен, тогда вообще проблем не возникает…
Ну тут все зависит от сложности «скрипта», который, в основном своем является уже вполне таким хорошим двухуровневым приложением с довольно хорошо разришевшей бизнеслогикой. Хотя, чесноговоря и тут в основном все можно порулить вар дампами — все таки код гораздо проще нежели на сях где к примеру отловить утечки памяти без дебагера или потерю объекта у указателя — практически нереально.

А отладчик в зенд студио действительно хорош, но 99% девелоперов — и не нужен вовсе. А вот использовать профайлер, даже для того что бы быстро разобратся в незнакомом коде — считаю очень полезным. Время, да и нервы экономит, когда пройдясь по дереву вызовов можно в десяток раз быстрее добратся до нужного тебе места не засоряя голову инфой которая в данный момент не актуальна.
Кстати почему 5.5, а не Эклипс? Эклипс все же помощнее будет
Не знаю… Мне вполне хватает возможностей, предоставляемых чистым ZS. А что есть «вкусного» у PDT?
Про PDT ничего сказать не могу, знаком с ним весьма поверхностно.

Zend Studio for Eclipse — сейчас мейнстрим, это главное. Ну и эклипс он и в африке эклипс — то есть куча готовых плагинов платных и бесплатных со всеми вытекающими. Ну и много фичей в отличие от 5.5 стали работать как надо.

Но вообще хочется сделать небольшое отступление и сказать, что хотя Zend Studio — лучшая среда разработки для PHP, но она к сожалению там многого нет того, чего бы хотелось. А хотелось бы
1) крутого UML-редактора с прямым и обратным преобразованием, настройкой стиля расположения файлов
2) Более умного автокомплишна, в частности для элементов массива и в циклах foreach
Ну вот опять ;)

В основе Zend Studio for Eclipse лежит как раз Eclipse и PDT. Если знакомы с Zend — знакомы с PDT.
Да, но все же PDT != ZSE (по функционалу)
Вы сравниваете несравниваемые вещи. PDT это часть ZSE.
ZSE = Eclipse + PDT + плагины

Разница только в наборе плагинов.
На работе есть лицензии на ZSE, а я использую самосборный Eclipse + PDT. С помощью свободно доступных плагинов я воспроизвел 90% функционала ZSE.

Разница между ZSE и самосборной системой минимальна.

Я всего навсего хочу сказать, что ваше утверждение «Про PDT ничего сказать не могу, знаком с ним весьма поверхностно» в корне неверно. Вы знакомы с PDT ровно настолько же, насколько и с ZSE.

Имейте в виду также, что PDT разрабатывают как раз парни из Zend.
UFO just landed and posted this here
UFO just landed and posted this here
30 минут, от силы час. Тем более, что я знаю, что мне надо и где это лежит.

С другой стороны, платить почти 400$ за то, что можно сделать самому… Не жалко денег?
UFO just landed and posted this here
UFO just landed and posted this here
Типа это шутка? :)

(Очень не хочется холиваров, но может я проспал и появилась php-шная ide круче ZS?)
UFO just landed and posted this here
phpEd — только под win, а значит сразу летит в топку.
UFO just landed and posted this here
ZS — промышленный стандарт дефакто, в том числе за счет кроссплатформенности.

Дофига крутых билдеров работают в лине и макоси. К тому же если говорить о бизнесе, там все немного сложнее чем у отдельно взятого программера…
Ну да ладно, надо завязывать с этой темой, все равно каждый останется при своем… ;)
UFO just landed and posted this here
точно знаю чем phpEd круче — «tab key code completion»
эклипс к сожалению такого никогда не умел… он даже в обычном code assist не позволяет использовать TAB для вставки подсказки… :(

кстати, может я что-то упустил е уже появился подходящий плагин?
Чем Вас не устраивает ctrl + space?
привычки…
да и после нажатия Ctrl+Space Tab тоже не работает… приходится Enter жмакать :(
а в Idea, Visual Studio, UltraEdit, TopStyle, DreamWeaver — работает. хотелось бы некоей целостности, ибо за несколько лет использования Eclpse (ASDT, FDT, Flex, PDT, Oxygen и т.д.) жать на Enter я все еще не привык и чувствую себя неловко :/
UFO just landed and posted this here
Не забывайте, что к Eclipse без напряжения прикручиваем либо Aptana, либо JSEclipse, либо Spket — каждому на свой вкус — и получаем мощнючий JS IDE. А к phpEd что мы можем прицепить?
UFO just landed and posted this here
1. Посмотрите в сторону NetBeans, который 6.5, там есть UML редактор какой-то…

2. К сожелению это нереально. Все таки пых, на уровне исходного кода не может предугадать что вернется у тебя под видом элемента массива. Хотя на уровне итераторов — разрулить этот вопрос можно было бы…
отжирание лишней памяти и громоздкость интерфейса вот какие фичи я нашел в ZS for Eclipse и остался на ZS 5.5.1
Насчет памяти — вроде эклипс как эклипс
У вас 512 мегабайт в 2008 году? Что лишние 150 метров отожратые виртуальной ява машиной — являются критическими? А про громоздкость интерфейса могу сказать одно — вы даже не попытались потратить 5 минут, что бы понять, что интерфейс там можно настроить под себя так, как вам будет угодно.

Вы похоже один из тех, кто вопит «я не буду ставить висту потому что она тормозит и багов полно в ней», видя эту ось только по скринам и мифическим рассказам в интернете.
Возможность ставить плагины — вменяемый svn клиент хотябы.
Главный минус Зенда 5 — это то, что в нем одновременно можно открыть только один проект. Ну и то, что он платный. Я долго использовал Зенд 5, потом поковырял 6-й, а сейчас перешел на PDT и очень доволен. Вместо Зенд Дебаггера — XDebug.
UFO just landed and posted this here
А я пишу в фаре, а для отладки использую echo «HUY»;
а я если надо чтото «быстро» отдалить, пишу echo «превед!», я даже назвал это «метод отладки преведом» :)
Настоящий программист должен быть ленив:

Common.php, line 23:

/**
* Лучше даже не думать об этом ;)
*
*/
define('K', 'Канареечка жалобно поет!');

метод отладки канареечкой круче метода отладки преведом:

echo K;

Мое кунфу сильнее твоего © :-D
Друзья, пожалуйста скажите где лучше всего русским языком раскрыт вопрос работы с ZendStudio for Eclipse? Я новичок, но очень хотел бы это все освоить.
Наверное нигде. По крайней мере на русском чего-то такого не встречал. А что встречалось — то было ужасное и неинформативное чтиво.
Я в своё время я делал описание Zend Studio Toolbar. Там же частично затронута тема отладки. www.parabox.ru/zend/toolbar/
Под категорией Zend кому-нибудь может найдет что-нибудь интересно для себя.
спасибо, поищу :)
По теме: Автор молодец, что разобрался с вопросом и поделился своими результатами, респектище!
Не по теме: После установки ZendStudio for Eclipse перешел обратно на 5.5.1, какой-то громоздской показалась.
Аналогично, пытался перейти на Zend Studio for Eclipse, надеялся что памяти будет кушать поменьше, но оказалось наоборот — кушать стал в два раза больше!
Не знаю, даже с гигом оперативы полет нормальный
Наверное потому что у меня в ноуте можно установить максимум 768MB. И она вся уже установлена :)
это что такой за ноут? а если одна планка на 1 Гб то что покажет? может стоит для професиональной работы применять нормальные инсрументы, в том числе и железо?
Я ждал подобного комментария :)

Ноуту моему уже 6 лет. Это один из первых Centrino-ноутов — ASUS M2400N. И он до сих пор работает без каких либо проблем, практически 24 часа в сутки с 2003 года. Единственное, только расширил HDD с 40гб до 160гб.

Я придерживаюсь консервативных взглядов и не меняю технику как варежки :) Зачем, если железяка работает. А программингом давно уже не занимаюсь, поэтому большие мощности в моей текущей, профессиональной, повседневной работе не требуются.

P.S. аналогичная ситуация с телефонами, сижу на смарте Qtek8310 в качестве основного голосового телефона и Qtek9000 в качестве коммуникатора и второго телефона. Очень ностальгирую по Motorola V3690 :)
Советую почитать что такое eclipse. Если в двух словах — платформа для разработки на яве. Если так же в двух словах о возможностях ее — они там все в виде плагинов. Если вам от нее нужен только редактор php с код ассистом и еще чем-нибудь таким, дефолтным для разработки — то можно серьезно порезать тот же неон, и будет он быстрее чем 5.5.

А можно сделать как я — закинуть еще кучу плагинов, к примеру от той же Aptana Studio и использовать ее из Zend Studio.

Вопрос следующий как заставить Eclipse нормально отображать содержимое строк в UTF-8, а то сейчас одни кракозябры «показывает»?
Дефолтная кодировка проета через настройки. UTF-8 для эклипса — родное
Проиллюстрирую скриншотом, чтобы было понятно:
floomby.ru/content/a51471e1-87f9-4c50-bdfc-a2a890fa1361.html

Кодирофка проекта стоит UTF-8 соответственно.
Скажу больше: в настройках PHP Debug, в опциях Debug Transfer Encoding и Debug Output Encoding тоже стоит UTF-8.
у Вас эклипс на винде установлен?
Да. И сервер соотв. тоже.
попробуйте поменять системную кодировку командной строки на utf-8 (выполните chcp 65001 в командной строке)
Наверное, оффтоп, но тоже про отладку. Упомянутые в комментариях «echo», «print_r», «var_dump» и т.д. актуальны, когда можно увидеть резельтат их выполнения. В противном случае придется делать запись, например, в файл, и переоткрывать его для просмотра результатов. Что бы облегчить этот обезьяний труд, использую консольные возможности — а именно, tail (http://ru.wikipedia.org/wiki/Tail).
Отладка и брейкпоинты — это безусловно хорошо. Но по моему опыту работы с зендовским дебаггером могу сказать, что разобраться с его помощью с архитектурой проекта, который писал не ты, — намного проще. Один запуск построчного выполнения программы и мы получаем весь стек вызовов, что очень полезно для понимания работы того же Zend Framework.
Не успел дописать, случайно отправив предыдущее сообщение.

Хотелось бы добавить, что иногда помогает и использование профилировщика (очень интересные диаграммы, распределения времени выполнения и т.п.). Конечно можно говорить, что существую и другие варианты, кроме зенда (тот же xDebug), но по процедуре установки и удобству применения (интегрируемость со студией без проблем) это всё таки лучший на мой взгляд вариант.
Дада! Правда я для этих целей использую профайлер, а уже за интересущими вещами лезу в код и смотрю чо там и как :)
Согласен. Но иногда именно построчное выполнение даёт большее понимание, на мой взгляд (когда видишь что да как происходит).
Сейчас настраиваю zend debugger для eslipse pdt, вроде все сделал норм, в phpinfo() все нормально отображается, как на скрине в посте, но при попытке дебага через тулбар апач рестартится, в логах сообщение что-то вроде:
[Zend Debugger] Can't connect to 127.0.0.1

Ничего не могу понять чтобы это значило… В инете тоже не нашел…

PS:
случайно отправилось) так вот,
PS: win xp sp2, xampp (php 5.2.6, apache 2.2)
не раскрыта тема установки ZendDebugger вместе с ZendOptimizer
дебаггер конечно хорошо, но быстро мне помогает старая добрая функция:

/**
 * Prints human-readable information about a variable.
 * if variable is array, it goes by print_r, else - var_dump.
 *
 * @param mixed $variable
 * @param string $name Variable name.
 */
function pv($variable, $name = false)
{
	echo '<pre>'.PHP_EOL;

	# if we passed the name
	if ($name)
		echo $name.' = ';

	# here we divide output to array or any another variable type
	if (is_array($variable))
	{
		# again, name here also help with count elements
		if ($name)
			echo '('.count($variable).') ';
			
		# print array
		print_r($variable);
	}
	else
		var_dump($variable);

	echo '</pre>'.PHP_EOL;
}

UFO just landed and posted this here
прочитайте первое предложение в моём комментарии.
UFO just landed and posted this here
спасибо за расширенный ответ. я в курсе.
UFO just landed and posted this here
вам хочется пообщаться? :)
я не таскаю её из проекта в проект. у меня обычно проект на пару лет…
UFO just landed and posted this here
Если у кого нить есть документация по эклипсу на русском выложите.

Столкнулся с двумя проблемами: не переносятся строки кода, хотя в настройках вроде сделал во всех пунктах перенос и в упор отказывается воспринимать ютф-8, пришлось возвращаться на 5,5.
UFO just landed and posted this here
Вот так не переносятся.

С кодировкой попробую :) я ее пытался найти по аналогии с 5.5.

Учу…
Хотелось бы поднять вот какую тему:
Ряд движков используют для расширения систему так называемых плагинов.
в этом случае патчить код не нужно, просто в нужных местах вставлены операторы eval. При попытке «запрыгнуть» внутрь eval в komodo ide появляется ошибка. Думаю, на любом отладчике на базе xdebug будет то же самое.

Чем и как отлаживать код внутри таких eval?
При попытке «запрыгнуть» внутрь eval в komodo ide появляется ошибка. Как с этим в остальных отладчиках? конкретно в zend stuido?
Подскажите как настроить ZendDebugger и Zend Optimizer в Denwer
>Далее нам надо настроить саму среду отладки. Идем в Tools>Preferences>Debug и вносим измения, согласно скриншоту:

Картинки нет.
Sign up to leave a comment.

Articles