PHP: профилированный код и строгая среда ~ улучшение моего кодирования -- php поле с участием performance поле с участием xdebug пол Связанный проблема

PHP: Profiling code and strict environment ~ Improving my coding


1
vote

проблема

русский

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

Я использую XAMPP на моем локальном компьютере, для простого сайта <код> Apache Friends XAMPP (Basic Package) version 1.7.2 Итак, я обновил мой <код> php.ini : error_reporting , чтобы быть <код> E_ALL | E_STRICT , чтобы помочь с стандарт кода. Я также включил расширение xdebug <код> zend_extension = "C:xamppphpextphp_xdebug.dll" , который, похоже, работает, проверив несколько сломанных кодов и получил приятное уведомление о оранжевой ошибки.

Тем не менее, прочитав этот вопрос, Профилирующий PHP код < / a> и включил профилировщик, я не могу создавать файл cachegrind.

Многие из направляющих, на которых я смотрел, кажется, думает, что вам нужно установить xdebug в xampp, что приводит меня к тому, что они думают, что они устарели, так как xdebug связан с xampp в эти дни.

Так что я был бы признателен за это, если кто-то может помочь указать мне в правильном направлении с обоими настройками XDEBUG для вывода файлов для измельчения, а также просто отличный набор настроек по умолчанию для конфигурации xdebug в xampp. Кажется, есть очень мало документации, чтобы продолжать.

Если у людей есть советы по интеграции этих инструментов с NetBeans, это было бы удивительно.

Я рад получить предложения по другим вещам, которые я могу сделать, чтобы помочь затянуть мой PHP-код, как синтаксически, так и разумный мудрый

Спасибо, и извиняюсь за бессвязные вопросы (ы)!

Ninja Edit

Я должен менять, что я использую названные VHOSTS как мою конфигурацию Apache, которая, я думаю, почему работает xdebug на порт 9000 не работает для меня. Я думаю, что мне нужно редактировать мою VHOST, чтобы включить порт 9000

Английский оригинал

I would like to update my local working environment to be stricter in an effort to improve my code. I know that my code is okay, but as with most things there is always room for improvement.

I use XAMPP on my local machine, for simplicities sake Apache Friends XAMPP (Basic Package) version 1.7.2 So I've updated my php.ini : error_reporting to be E_ALL | E_STRICT to help with the code standard. I've also enabled the XDebug extension zend_extension = "C:xamppphpextphp_xdebug.dll" which seems to be working, having tested some broken code and got the nice standard orange error notice.

However, having read this question, Profiling PHP code and enabled the profiler, I cannot seem to create a cachegrind file.

Many of the guides that I've looked at seem to think you need to install XDebug in XAMPP which leads me to think they are out of date, as XDebug is bundled with XAMPP these days.

So I would appreciate it if anyone can help point me in the right direction with both configuring XDebug to output grind files, and or just a great set of default settings for the XDebug config in XAMPP. Seems there is very little documentation to go on.

If people have tips on integrating these tools with Netbeans, that would be awesomesauce.

I'm happy to get suggestions on other things that I can do to help tighten up my php code, both syntactically and performance wise

Thanks, and apologies for the rambling question(s)!

Ninja edit

I should menion that I'm using named vhosts as my Apache configuration, which I think is why running XDebug on port 9000 isn't working for me. I guess I'd need to edit my vhost to include port 9000

</div
        
 
 

Список ответов

0
 
vote
vote
Лучший ответ
 

Если вы всегда хотите запустить профилировщик:

 <код> global.directive('dynamicCtrl', ['$compile', '$parse',function($compile, $parse) {   return {     restrict: 'A',     terminal: true,     priority: 100000,     link: function(scope, elem) {       var name = $parse(elem.attr('dynamic-ctrl'))(scope);       elem.removeAttr('dynamic-ctrl');       elem.attr('ng-controller', name);       $compile(elem)(scope);     }   }; }]); 1  

Иначе, если вы хотите выборочно переключить профилировщик (хорошее), используйте:

 <код> global.directive('dynamicCtrl', ['$compile', '$parse',function($compile, $parse) {   return {     restrict: 'A',     terminal: true,     priority: 100000,     link: function(scope, elem) {       var name = $parse(elem.attr('dynamic-ctrl'))(scope);       elem.removeAttr('dynamic-ctrl');       elem.attr('ng-controller', name);       $compile(elem)(scope);     }   }; }]); 2  

Если вы запускаете, вам нужно использовать параметр Get / Post / post / post / post / post / отправить файл cookie с именем xdebug_profile. Есть добавки браузера, чтобы помочь; Для Firefox я использую хелпер XDebug, но, как кажется, исчез, вы можете попробовать Легкий xdebug .

Я обнаружил, что вывод по умолчанию не работает, поэтому попробуйте настроить его самостоятельно:

 <код> global.directive('dynamicCtrl', ['$compile', '$parse',function($compile, $parse) {   return {     restrict: 'A',     terminal: true,     priority: 100000,     link: function(scope, elem) {       var name = $parse(elem.attr('dynamic-ctrl'))(scope);       elem.removeAttr('dynamic-ctrl');       elem.attr('ng-controller', name);       $compile(elem)(scope);     }   }; }]); 3  

Не забудьте установить разрешения каталога, чтобы разрешить Apache создавать файлы, если вы не используете / TMP

 

If you always want to run the profiler:

xdebug.profiler_enable  = 1 

else if you want to selectively switch the profiler on (a good thing), use:

xdebug.profiler_enable_trigger  = 1 

If you're triggering, you'll need to using the XDEBUG_PROFILE GET/POST parameter, or send a cookie with the name XDEBUG_PROFILE. There are browser add-ons to help; For Firefox I use Xdebug Helper, but as it seems to have disappeared you could try easy Xdebug.

I found that the default output dir didn't work, so try setting it yourself:

xdebug.profiler_output_dir  = /home/deebster/php/profiler 

Remember to set the directory's permissions to allow Apache to create files if you don't use /tmp

</div
 
 

Связанный проблема

5  Экспорт SVG в PDF в автономном TideSDK WebApp  ( Exporting svg to pdf in a offline tidesdk webapp ) 
У меня есть приложение Offline HTML5 / CSS / JS, построенное с TIDESDK, в котором гистограмма нарисована с HighCharts в качестве SVG «Tag», используя данные, ...

0  Как я могу надежно разрешить веб-пользователям создавать файлы?  ( How can i securely allow web users to create files ) 
Я строю веб-сайт, который позволяет определенным пользователям писать отзывы, и я хочу автоматически генерироваться небольшой PHP-файл, когда они делают. Како...

0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя?  ( Limiting a results flickr api to avoid duplicate photos from a user ) 
пытается выводить изображения Flickr из определенного местоположения, не используя ни одного геолокации, но только строка местоположения, но это проблема для ...

1  Транзакции mysql и php  ( Transactions mysql and php ) 
Я запутался ABT работает транзакциями через PHP-скрипт. В моем MySQL AutoCommit устанавливается на 1, Тем не менее, когда я запускаю скрипт ex: mysql_query ...

2  Найти реалированные данные таблицы1 в Таблице2  ( To find realted data of table1 in table2 ) 
Table1 имеет некоторые данные как категории Table2 имеет некоторые данные, которые реализуются в категориях Table1 и соотношение между двумя таблицами...

1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для  ( Symfony 3 4 3 service container error requires that you provide a value for t ) 
Я потратил много времени, но я не решил это Я хотел бы пройти в LoggerInterface в действии моего контроллера Вот мой Service.yml <код> # Learn more about ...

13  Отфильтровать номера в строке в PHP  ( Filter out numbers in a string in php ) 
Предполагая, что у меня есть эти тексты 'x34', '150px', '650dpi', 'E3R4T5' ... Как я могу получить только номера? Я имею в виду, я хочу 34, 150, 650, 345 без ...

2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1  ( How to load openssl so dynamic library in php 5 2 1 ) 
Я недавно установил MAMP версию 1.6 на моем Mac OS 10.5.7. Теперь я управляю сценарием для подключения к сайту с помощью SSL. После некоторых исследований я...

1  Как мне позвонить сценарий Perl с моим контроллером Symfony2?  ( How do i call a perl script from my symfony2 controller ) 
Я пытаюсь реализовать автоматическую отправку в систему управления информацией из-за моего приложения Symfony2. Кто-то еще написал сценарий Perl для представл...

15  Рассчитать, какие продукты вместе доставят запрошенную силу  ( Calculate which products together would deliver the requested power ) 
Допустим, у меня есть три продукта: <Сильный> Продукт A Доставит 5 власти. Стоит 50. Product B доставит 9 мощность. Стоит 80. <Сильный> продукт C до...

0  PHP Copy () Проблемы и специальные символы  ( Php copy problems and special characters ) 
Я в настоящее время копирую определенные файлы, когда пользователь обновляет определенную информацию. Тем не менее, поскольку мы не можем иметь особых специал...

0  Создание электронной почты на основе запроса MySQL  ( Generating an email based on mysql query ) 
У меня есть 2 таблицы, отображаемые ниже. Похожие словари: . + -------------------------------- + |. Пользователь |. ilike |. + ---------------------------...

0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения  ( Jquery mobile link from php to html not working but url does change ) 
Хорошо, так что когда я вошел в систему в свое приложение (index.html), я принимаю в login.php, отсюда я хочу меню для пользователя, но ни одна из моих ссылок...

-1  PHP возвращает неправильную строку в MySQLI подготовленной статусы  ( Php returning wrong row in mysqli prepared statment ) 
Я пытаюсь создать тщеславие URL для моего сайта, и на данный момент есть только одно имя пользователя в базе данных, которые можно ссылаться. Мой запрос верне...

0  PHP Уведомление: undefined Holvil: stdclass:  ( Php notice undefined property stdclass ) 
У меня есть массив, возвращаясь из флэш-приложения, созданного в Flash Builder 4. У меня есть настройка службы, которые запросили и получают данные от DB, о...

Связанный проблема

5  Экспорт SVG в PDF в автономном TideSDK WebApp 
0  Как я могу надежно разрешить веб-пользователям создавать файлы? 
0  Ограничение результатов Flickr API, чтобы избежать дублирования фотографий от пользователя? 
1  Транзакции mysql и php 
2  Найти реалированные данные таблицы1 в Таблице2 
1  Symfony 3.4.3 - Контейнер обслуживания: Ошибка требует, чтобы вы предоставляете значение для 
13  Отфильтровать номера в строке в PHP 
2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1 
1  Как мне позвонить сценарий Perl с моим контроллером Symfony2? 
15  Рассчитать, какие продукты вместе доставят запрошенную силу 
0  PHP Copy () Проблемы и специальные символы 
0  Создание электронной почты на основе запроса MySQL 
0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения 
-1  PHP возвращает неправильную строку в MySQLI подготовленной статусы 
0  PHP Уведомление: undefined Holvil: stdclass: 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.