PHP

PhpStorm PHPCodeSniffer and… CodeIgniter style guide

This article is related to my previous one about setting up PHPCodeSniffer with CodeIgniter coding standards. Installation on Linux boxes is pretty yeasy: sudo pear channel-update pear.php.net yum install php-pear-PHP-CodeSniffer php-phpunit-phpcpd On Mac OS X you have couple options. Pear or Homebrew: brew install php-code-sniffer And following that, on regular boxes CodeSniffer will be here: /usr/share/pear/PHP/CodeSniffer/Standards on Mac OS CodeSniffer will be located here: /usr/lib/php/pear/PHP/CodeSniffer/Standards or… /usr/local/Cellar/php-code-sniffer/1.5.6/CodeSniffer/Standards CodeIgniter standard can be downloaded from this location https://github.
PHPUnit and CodeIgniter 3.0

PHPUnit and CodeIgniter 3.0

Quick tutorial how to setup proper unit testing with PHPUnit and CodeIgniter 3.0. We need couple elements CodeIgniter – we are working with version 3.0rc3 PHPUnit – latest one If you don’t have phpunit installed globally, you can go with composer, just add section to your composer.json { "require-dev": { "phpunit/phpunit": "4.1.*" } } and then composer.phar install and after while we have ./vendor/bin/phpunit working phpunit. let’s create phpunit.xml.dist next step will require create separate bootstrap file for PHPUnit.
Apache and PHP on OS X Yosemite

Apache and PHP on OS X Yosemite

It’s just a short instructions how to run Apache and PHP on OS X Yosemite. PHP and Apache are already there – just need to run Apache and enable PHP. Video showing up whole process is available here: Here you can check out exact changes. Firsting first – we have to run Apache sudo apachectl start Then make some changes in httpd.conf file sudo nano /etc/apache2/httpd.conf Find two lines LoadModule rewrite_module libexec/apache2/mod_rewrite.
HHVM on Amazon EC2 in 2 minutes

HHVM on Amazon EC2 in 2 minutes

Probably you already heard about  HHVM . As on their website:

HHVM is an open-source virtual machine designed for executing programs written in Hack  and PHP . HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining the development flexibility that PHP provides.

Using simple terms – HHVM allows you run scripts written in PHP but much, much more faster. Obviously you the main purpose of HHVM is to run HACK language, but it works pretty good with PHP itself.

PHP, work queues

PHP, work queues

Biggest pain point in PHP is lack of asynchronous calls. The only reasonable way is to use some kind of “backend” processing and task list to execute. Some people use cron to run given script each n-minutes and execute tasks. But there is a little bit more “professional” approach.  Beanstalk is a simple, fast work queue. Idea is pretty simple – you can just throw tasks into queue and then have background worker which is pulling data from pipe and executes task.

Couple ideas: sending emails, processing images, making heavy queries into database. But the best part of it – you don’t have to use PHP for back processing. It could be anything, because protocol us universal and worker and client doesn’t have to be in the same language. So you can schedule task in PHP, and run it in Go. I’m not going too much into details. Just run some examples.