PHP

Hosted continuous integration services for PHP

Today, I’ve been evaluating popular hosted CI services to see how well they’re working with PHP and how much they cost. drone.io https://drone.io/ drone.io is free for Open Source projects (one concurrent build). Paid plans for private repositories start at 25 $ / month. Builds are configured on the Web site. PHP support is marked…
Read more

Form Validation vs Model Validation

This is a follow-up on Why I’m using a separate layer for input data validation that explains the key differences between client-side, input value (form) and model validation. In general, model validation operates on trusted data (internal system state) and should ideally be repeatable at any point in time while input validation explicitly operates once on…
Read more

Dependent Symfony 2 Bundles and Testability

I just stumbled upon a question concerning Symfony 2 bundles and testability that I want to share with you. When developing with Symfony, beginners tend to use lots of existing bundles, because this seems to be the recommend way of building an application. Later, they wonder, why it’s so hard to write unit and component tests or they write functional…
Read more

PHP and Zend Framework 2 are losing popularity

According to Google Trends and the personal feedback I get from the PHP developer community, Zend Framework 2 quickly lost it’s initial momentum while SensioLab’s micro-framework Silex is attracting more developers slowly but steadily. If you already work with Symfony 2 and consider switching to Silex, you might want to have a look at Symlex: It’s based on Silex but uses the familiar Symfony dependency…
Read more

Howto: Install PHP, PHPUnit and Composer on Mac OS X

Make sure the directories /usr/local, /usr/local/bin and /usr/local/sbin exist and check the permissions, so that regular users can access them. This should already be the case, if you got Homebrew installed and working. Open ~/.bash_profile and check, if /usr/local/bin and /usr/local/sbin are properly added to your PATH environment variable: export PATH=”/usr/local/sbin:/usr/local/bin:$PATH” If there is no ~/.bash_profile yet, simply…
Read more

Howto: Install PHP 5.5 and PHPUnit on OS X via Homebrew

Here is how to install the latest PHP and PHPUnit versions on OS X using Homebrew, which became my first choice after testing other package managers. To avoid conflicts, it is generally not recommended to use Homebrew alongside other external OS X package managers such as MacPorts or Fink. You can remove MacPorts with these…
Read more

Configuring Ubuntu/Xubuntu and Apache 2 for local development environments

Most Web server howtos out there are concerned with production environments, where you need a high level of performance and security. As a developer who runs Apache 2 on localhost, you have other requirements, such as quick configuration and flexibility. It’s inconvenient to edit (usually copy & paste) your virtual hosts configuration and add entries…
Read more

Cargo Cult Coding Standards (CCCS) for PHP

Cargo cult means that you copy some (previously) successful behavior from others and expect something good to happen to you (or your project) as well. For coding standards, that’s a very good starting point. Especially since formatting standards are often not based on any science – life is just easier, if everyone is using the…
Read more

Notification Free PHP Coding

This is a reply to http://100days.de/serendipity/archives/50-Notification-Free-PHP-Coding.html. Gaylord Aulke’s opinions are normally quite valuable. There are a couple of arguments (just read the comments) in both directions and to be fair, Gaylord also said, that his opinion is different for frameworks and libraries. Even though I tend look into PHP notifications (some code produces so much…
Read more