Мар 27

http://css.dzone.com/books/practical-php-patterns

Теги:
Мар 03

Есть такая библиотека – twitter-async (лицензия – свободное распространение и использование).
Из неё нужно включить в проект файлы

  • EpiCurl
  • EpiOAuth
  • EpiSequence
  • EpiTwitter

Далее на twitter.com нужно завести приложение.
После успешной регистрации Twitter выдаст полезные данные для oAuth-авторизации, нужны из них два: Consumer key и Consumer secret – это авторизационные данные приложения, их нужно сохранить где-нибудь, к примеру, в базе.
Continue reading »

Теги:
Авг 17

1. Скачиваем расширение – http://www.xdebug.org/download.php (я качаю ts) и копируем в папку с расширениями php.
2. В php.ini пишем

zend_extension_ts = "< путь-к-папке-ext>/php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=bullgare ;ну или другой

;это для профилирования
xdebug.profiler_enable=Off
xdebug.profiler_output_dir="c:\traces"
xdebug.profiler_enable_trigger=On
xdebug.profiler_output_name = cachegrind.out.%t.%p

После перезапуска апача phpinfo будет содержать раздел xdebug.
Continue reading »

Теги:
Июл 30

Вот достаточно подробная статья на эту тему.
В принципе достаточно написать

xdebug_start_trace('<Путь-к файлу>.html', XDEBUG_TRACE_HTML);
...
...
xdebug_stop_trace();
Теги:
Май 19

Ниже приведён код теста
Continue reading »

Теги:
Апр 24

Я пользуюсь Doctrine.
Генерация из созданного ранее файла /config/doctrine/schema.yml состоит из трёх команд:

symfony doctrine:build --model
symfony doctrine:build --sql
symfony doctrine:insert-sql

Если изменялись названия моделей, то надо запустить ещё и

symfony doctrine:clean-model-files

Кстати, при генерации может выводиться ошибка There are no tasks defined in the «doctrine» namespace.
Нигде толком не написано, отчего она возникает.
Возникает она (по крайней мере, у меня, в Windows) оттого, что вместо запуска скопированного в корень проекта из папки <путь к проекту>\lib\vendor\symfony\data\bin\ файла symfony.bat запускается команда
php <путь к проекту>\lib\vendor\symfony\data\binsymfony doctrine:build –model
Соответственно, нужно скопировать bat-файл и запускать его.

Теги:
Апр 22

В апаче есть есть замечательная библиотека – mod_rewrite.
При переносе проекта на nginx для сохранения интерфейса и структуры сайта необходимо использовать что-то подобное. Соответствующий модуль для nginx называется ngx_http_rewrite_module.
Вот пример использования:

location ~ \.php {
   if ( !-e $request_filename ) {
      rewrite ^(.+)$ /index.php break;
   }

   fastcgi_pass 127.0.0.1:9900;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
   include /etc/nginx/fastcgi_params;
}
location = /index.php {
   fastcgi_pass 127.0.0.1:9900
   fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
   include /etc/nginx/fastcgi_params;
}

Почитать:
Официальная документация модуля ngx_http_rewrite_module
Пример конфигурации
Куча примеров

Теги:
Мар 16

Допустим, есть массив значений $exportData.
Continue reading »

Теги:
Янв 18

Чтобы при обращении по данному урлу браузер выдавал запрос на сохранение файла, нужно передать заголовки.
Для этого достаточно только одного заголовка
«Content-Disposition: attachment; filename=\»myfile.csv\»\r\n»
Continue reading »

Теги:
Янв 14

Мы уже установили nginx и php-fpm.
К этому моменту при обращении к http://localhost/ выводится Welcome to nginx!, а через CLI запускаются php-скрипты.
Самое время намекнуть nginx, где искать php-fpm.
Continue reading »

Теги:
preload preload preload