Комментарии 45
Посмотрел на изменения и увидел WinSpeak.
Чорт, говорящий дебаггер О.о Зачем такие излишки?
Чорт, говорящий дебаггер О.о Зачем такие излишки?
+1
правильно понимаю что тут просто лог ошибок разных? ну тогда вы мой герой, так пафосно представить велосипед…
1. какой толк от ООП если используется туева хуча констант и фсе?
2. какое отношение лог ошибок имеет к «отладке с закрытыми глазами»?
3. есть интеграция с чем-либо?
1. какой толк от ООП если используется туева хуча констант и фсе?
2. какое отношение лог ошибок имеет к «отладке с закрытыми глазами»?
3. есть интеграция с чем-либо?
+5
Ну смотря что понимать под «просто лог ошибок разных». Я считаю, что тут не просто лог, и не просто ошибок разных.
1. В константы если не поняли я просто для примера вынес
2. Отладка понятие растяжимое, в частности речь идёт об обработке ошибок и дебаге
3. Интеграция с чем? С фреймворками другими интеграции нету. Он изначально абсолютно standalone и быстро прикручиваемый чтобы каждый его использовал как хотел.
1. В константы если не поняли я просто для примера вынес
2. Отладка понятие растяжимое, в частности речь идёт об обработке ошибок и дебаге
3. Интеграция с чем? С фреймворками другими интеграции нету. Он изначально абсолютно standalone и быстро прикручиваемый чтобы каждый его использовал как хотел.
-4
xdebug уже не доставляет?
+1
Сравнили тоже.
xdebug главным образом ориентирован на профайлинг (выявление узких мест в производительности).
А как вы будете под ним на AJAX-е отлаживаться?
А уведомления на Email/SMS он умеет?
А как вы его вообще сможете использовать если VPS хостинг и он у них не установлен как расширение к PHP?
xdebug главным образом ориентирован на профайлинг (выявление узких мест в производительности).
А как вы будете под ним на AJAX-е отлаживаться?
А уведомления на Email/SMS он умеет?
А как вы его вообще сможете использовать если VPS хостинг и он у них не установлен как расширение к PHP?
-5
во-первых с помощью xdebug и нормальной IDE можно поставить брейкпоинт на нужной строчке кода, пошагово выполнить код, мониторя при этом значения переменных. лично у меня с термином «отладка» ассоциируется именно этот процесс.
во-вторых отлаживать проект на хостинге попахивает маразмом, отлаживать его надо до выпуска в продакшн.
в-третьих какая раздница, аяксовый запрос или нет, пхп-скрипт запускается всегда одинаково
а то, про что вы написали, это лишь средство регистрации ошибок. никакого отношения к отладке оно не имеет, ну разве что косвенное, ведь получив уведомление, узнаешь, где искать ошибку и какой кусок кода надо отлаживать
во-вторых отлаживать проект на хостинге попахивает маразмом, отлаживать его надо до выпуска в продакшн.
в-третьих какая раздница, аяксовый запрос или нет, пхп-скрипт запускается всегда одинаково
а то, про что вы написали, это лишь средство регистрации ошибок. никакого отношения к отладке оно не имеет, ну разве что косвенное, ведь получив уведомление, узнаешь, где искать ошибку и какой кусок кода надо отлаживать
0
Да, куда же без SMS при дебаге, действительно :)
P.S. замечательно отлаживаю AJAX с xDebug, что я делаю не так?
P.S. замечательно отлаживаю AJAX с xDebug, что я делаю не так?
0
и главное голос! нет голосовой поддержки, считай калека =)
+10
по-моему тут только логирование всех ошибок и нотисов и уведомление о них разработчика… какой-либо инструмент для отладки я не увидел
0
Под отладкой понимается дебаг, в частности вывод и логирование пользовательских сообщений. См. Lagger_Handler_Debug
-5
вот вы сами и написали что «вывод и логирование»… а где трейсы, профайлинг т.д.?
0
О чем вообще статья? Кусок какого то кода без малейших признаков комментариев… Может, стоит всё-таки открыть глаза? :)
+2
Кошмар!
А почему нельзя константы в другом каком-нибудь формате получать, тот же ini файл, если уж совсем фантазии нехватает?
А почему нельзя константы в другом каком-нибудь формате получать, тот же ini файл, если уж совсем фантазии нехватает?
0
Да какая разница что в качестве конфигурации использовать? XML/ini/константы/базу данных — для особо извращённых, вы ключевое слово «Пример» прочитали?
0
То есть если написать «пример» то можно всякий говнокод выкладывать?
Какой то плохой пример для подражания.
Какой то плохой пример для подражания.
+1
))) а вы судя по профилю на хабре ниразу ничего и не писали.
так показали бы пример как надо классно статьи писать и запостили бы что-нибудь… а то всё только троллите
так показали бы пример как надо классно статьи писать и запостили бы что-нибудь… а то всё только троллите
-1
Ну судя по рейтингу и карме, не такой уж я и тролль(не супер конечно, но в плюсе).
Конечно же лучшая оборона — нападение, вместо того чтобы говорить по существу начался переход на личности.
Просто все плачут что много говнокода вокруг и сами же его выставляют на всеобщее обозрение, этот пост прочитают многие начинающие программисты и решат что «так и надо писать». Не думаю что сложнее будет хранить данные в том же CSV формате, а будет намного нагляднее(меньше времени на просмотр займёт) + меньше места займёт(это не совсем важно в наши дни, но всё же).
Конечно же лучшая оборона — нападение, вместо того чтобы говорить по существу начался переход на личности.
Просто все плачут что много говнокода вокруг и сами же его выставляют на всеобщее обозрение, этот пост прочитают многие начинающие программисты и решат что «так и надо писать». Не думаю что сложнее будет хранить данные в том же CSV формате, а будет намного нагляднее(меньше времени на просмотр займёт) + меньше места займёт(это не совсем важно в наши дни, но всё же).
0
я считаю что мой код далеко не «гавно», см. исходники(вы их наверняка даже в глаза не видели)
очень огорчает что на хабре народ в основном делится на пассивных читателей и активных критиков-нытиков. т.е. вот за 2 дня публикации статьи было скачано 50 копий Lagger-а, я даже лично знаю несколько человек, которые теперь внедрили его в свои проекты и остались очень довольны
а народ тут пишет про какие-то трейсеры, профайлеры… ей богу, что за бестолковое сравнение? плюсуют по сути идиотские комменты, по инерции минусуют ответы…
а ведь была проделана большая работа, но тут все такие самые умные, что помимо неконструктивной критики ничего и сказать не могут! хоть бы кто написал, что архитектура библиотеки неправильная или ещё что-то не оптимально сделано, так нет ведь — даже исходников не видели, даже примеры невнимательно просмотрели, а уже чешут руки написать какой-нить злостный коммент))
короче от этой статьи у меня карма только пострадала, но всё равно я буду дальше писать, потому что знаю что большинству мои библиотеки очень помогают в работе… а то, что из 10 возмущённых мнение выскажут все 10, в то время как из 10 довольных только 1-2, то это и ежу понятно
очень огорчает что на хабре народ в основном делится на пассивных читателей и активных критиков-нытиков. т.е. вот за 2 дня публикации статьи было скачано 50 копий Lagger-а, я даже лично знаю несколько человек, которые теперь внедрили его в свои проекты и остались очень довольны
а народ тут пишет про какие-то трейсеры, профайлеры… ей богу, что за бестолковое сравнение? плюсуют по сути идиотские комменты, по инерции минусуют ответы…
а ведь была проделана большая работа, но тут все такие самые умные, что помимо неконструктивной критики ничего и сказать не могут! хоть бы кто написал, что архитектура библиотеки неправильная или ещё что-то не оптимально сделано, так нет ведь — даже исходников не видели, даже примеры невнимательно просмотрели, а уже чешут руки написать какой-нить злостный коммент))
короче от этой статьи у меня карма только пострадала, но всё равно я буду дальше писать, потому что знаю что большинству мои библиотеки очень помогают в работе… а то, что из 10 возмущённых мнение выскажут все 10, в то время как из 10 довольных только 1-2, то это и ежу понятно
+1
Я думаю по моему профилю более менее понятно, касательно моих предпочтний, мне исходники были в приницпе неинтересны, потому что мне язык php не нравиться как таковой (причём по многим причинам и вполне обоснованным). Я посмотрел просто как же дебажат в другом ЯП, мне интересны сами принципы, ибо языки разные, а методы в основном похожи.
В моём первоначальном комменте я рассчитывал вложить «удивление», нежели какие-то негативные чувства.
Могу поспорить что многие не дошли до исходников именно по той же причине, что я обозначил. Пример кода начинаеться с неудобоваримого конфига, собственно вполне интуитивно возникает стереотип некоторого «говнокода» касательно всего оставшегося.
А насчёт того, почему не пишу… просто пока времени нету, пару тем классных придумал, даже есть набросок, но никак руки не дойдут…
В моём первоначальном комменте я рассчитывал вложить «удивление», нежели какие-то негативные чувства.
Могу поспорить что многие не дошли до исходников именно по той же причине, что я обозначил. Пример кода начинаеться с неудобоваримого конфига, собственно вполне интуитивно возникает стереотип некоторого «говнокода» касательно всего оставшегося.
А насчёт того, почему не пишу… просто пока времени нету, пару тем классных придумал, даже есть набросок, но никак руки не дойдут…
-1
Суть статьи осталась неясна. Зато карикатура позабавила.
+2
Что только не изобретают вместо того, чтобы отладчик и профайлер настроить.
-2
вот насчет ошибок в php. я сам немного в другой области специализируюсь, посему хочу спросить:
как мне найти ошибку в синтаксисе файла, который подключен по include?
я написал код вроде этого:
Естественно, это покажет мне только ошибки для конкретного файла и только для конкретного вызова. А как мне это дело унифицировать?
Заморачиваться на различные дебаггеры и профилировщики не очень хочется. Нет ли какого-нибудь решения, которое просто выведет мне ошибку вверху страницы и прекратит выполнение?
Красивая страница «Упс, что-то случилось!» и попадение ошибки в бд меня не очень интересует: я чаще допускаю просто синтаксические ошибки и мне хочется видеть их при обращении к странице.
Насколько понимаю, ключ решения в правильной конфигурации php. Не подскажете, что надо настроить?
как мне найти ошибку в синтаксисе файла, который подключен по include?
я написал код вроде этого:
<?php error_reporting(E_ALL); ini_set("display_errors", 1); include("admin/admin.php"); ?>
Естественно, это покажет мне только ошибки для конкретного файла и только для конкретного вызова. А как мне это дело унифицировать?
Заморачиваться на различные дебаггеры и профилировщики не очень хочется. Нет ли какого-нибудь решения, которое просто выведет мне ошибку вверху страницы и прекратит выполнение?
Красивая страница «Упс, что-то случилось!» и попадение ошибки в бд меня не очень интересует: я чаще допускаю просто синтаксические ошибки и мне хочется видеть их при обращении к странице.
Насколько понимаю, ключ решения в правильной конфигурации php. Не подскажете, что надо настроить?
0
Вообще конечно не очень хорошо так делать, пользователи ваши ошибки будут видеть, а это и некрасиво и небезопасно.
но если очень надо, то
вариант 1:
прописать в php.ini
error_reporting = E_ALL
display_errors = On
вариант 2:
прописывать в .htaccess
но если очень надо, то
вариант 1:
прописать в php.ini
error_reporting = E_ALL
display_errors = On
вариант 2:
прописывать в .htaccess
0
Я не понял зачем это нужно.
0
Интересно, а как эта библиотека отлавливает ошибки уровней E_FATAL & E_COMPILE? Насколько я знаю при фатальных ошибках php записывает данные об ошибке в файл (указанный в php.ini) и прекращает работу, не давая эту ошибку обработать.
P.S. дефайны и глобалс реальное зло!
P.S. дефайны и глобалс реальное зло!
0
ну… как-то отлавливает(см. исходники), стандартными средствами php без каких либо извратов типа парсинга STDOUT
константы это для примера если не поняли, можете их не использовать. а $GLOBALS по мере необходимости, тоже для примера.
можете и без него свою класс-синглтон обёртку для Lagger_Handler_Debug написать, только чего ради))
константы это для примера если не поняли, можете их не использовать. а $GLOBALS по мере необходимости, тоже для примера.
можете и без него свою класс-синглтон обёртку для Lagger_Handler_Debug написать, только чего ради))
0
Хотя бы ради того что-бы не нарушать концепцию лаконичного 100%-го ООП PHP5 кода. Да и смотрелось бы оно гораздо приятнее в виде отдельного класса, который кстати можно было бы включить в проект в качестве примера.
0
У библиотеки есть своя концепция и ваше мнение с ней противоречит.
Она подразумевает, что в один момент времени может существовать более 1 обработчика (что актуально в сложных системах, в которых на разных уровнях могут разные обработчики с несовместимыми конфигурациями).
Класс-синглтон-обётка для дебагера пишется за 30 секунд, а вы на одну только эту переписку со мной в 5 раз больше времени потратили :)
Она подразумевает, что в один момент времени может существовать более 1 обработчика (что актуально в сложных системах, в которых на разных уровнях могут разные обработчики с несовместимыми конфигурациями).
Класс-синглтон-обётка для дебагера пишется за 30 секунд, а вы на одну только эту переписку со мной в 5 раз больше времени потратили :)
0
Не обязательно делать синглтон. Можно просто класс обертку-иницилазатор, все равно смотрелся бы он лучше чем портянка кода с кучей констант. Просто код из примера совсем не ООП стиль :)
0
Библиотека на 100% ООП, а вот способы её использования уж точно не обязаны в концепции ООП вписываться :)
Примеры использования это совсем другой уровень, там каждый изголяется как ему удобней… хотя понимаю $GLOBALS чуток дико смотрится, но просто не хотел код примера дополнительными классами-обёртками раздувать.
Примеры использования это совсем другой уровень, там каждый изголяется как ему удобней… хотя понимаю $GLOBALS чуток дико смотрится, но просто не хотел код примера дополнительными классами-обёртками раздувать.
0
Очень не хватает PHPDoc коментов в коде классов
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Lagger — обработка ошибок и отладка в PHP с закрытыми глазами