воскресенье, 24 августа 2014 г.

Как упростить импорт файлов?

Однажды при написании программы обнаружил вот такой участок кода, импортирующий файлы в исполняемый php-скрипт index.php:

<?php include(dirname(__FILE__).'/atm_table_row.jst'); ?>
<?php include(dirname(__FILE__).'/atm_table.jst'); ?>
<?php include(dirname(__FILE__).'/atm_yandex_map.php'); ?>

Вопрос: Как упростить этот участок кода, если все указанные файлы лежат в одной директории?

четверг, 7 августа 2014 г.

Настройка Code Sniffer в PHP Storm 6.0

В среде разработки PHP Storm есть возможность активировать инструмент проверки качества кода Code Sniffer. Данный инструмент позволяет выставлять стандарт кодирования, к примеру Zend, PSR1, PSR2. Вот как выглядят подсказки, которые дает программисту Code Sniffer, если код написан с нарушением установленного стандарта кодирования:


@php_bin@ не является внутренней или внешней командой, исполняемой программой или пакетным файлом

При настройке инструмента проверки кода Code Sniffer в IDE PHP Storm возникла ошибка:
@php_bin@ не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Данная ошибка возникает, если попытаться вызвать из консоли Windows bat-файл phpcs.bat:


Если заглянуть в файл phpcs.bat, то там можно увидеть следующее:
"@php_bin@" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'@php_dir@'" -f "@bin_dir@\phpcs" -- %*

Причина ошибки в том, что система не может найти путь к интерпретатору php у вас на компьютере. Для устранения данной ошибки можно решить задачу "в лоб" - просто указать прямые пути к интерпретатору php и самому файлу phpcs.
Напишем в файле phpcs.bat:
"C:\wamp\bin\php\php5.5.12\php.exe" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'C:\wamp\bin\php\php5.5.12\php.exe'" -f "C:\tools\PHP_CodeSniffer-master\scripts\phpcs" -- %*

Как видно, здесь мы указали:
- путь к интерпретатору php: C:\wamp\bin\php\php5.5.12\php.exe
- путь к файлу Code Sniffer - phpcs: C:\tools\PHP_CodeSniffer-master\scripts\phpcs

После этого запуск bat-файла из консоли не будет вызывать ошибок. Это позволит нам настроить Code Sniffer в PHP Storm.