Codeception, the PHP BDD (behavior-driven development) testing tool has announced some new features including newly updated documentation and support for Selenium2 and ZobmieJS.Tools like ZombieJS, (PhantomJS, and more) are built in order to run tests without a browser. And so they are called headless. They don't require a browser window to start, they don't show any interactions on screen.They briefly mention the "delay" option that's been introduced to allow for manual delays to be put into your code....
Phil Sturgeon has posted a reminder about this year's CodeIgniter Conference San Francisco for 2012, happening August 11th and 12th at the Citizen Space.So only two months until the return of CICONF to America! Last year was CICONF2011 NY which was a great experience. There we announced the availability of CodeIgniter on GitHub, released CodeIgniter 2.1-dev and saw over 50 pull requests get made to CodeIgniter by developers trying to win my iPad. Then we had CICONF2012 in London, and now it's off to San...
On the Refulz.com site today they've posted a new tutorial looking at the use of traits and how to resolve conflicts and work with method precedence.In our previous post about the multiple and nested traits, we read how nested and multiple traits can be used in a class. In such cases, there is a possibility of the same method name existing in the trait, and the class using the trait. Furthermore, the same method name might also be present in the parent class of the class using traits. It is important to...
In this new post to PHPMaster.com, Alejandro Gervasio looks at working with domain objects via a transactional system using the Unit of Work design pattern.In fact, it's feasible to wrap collections of domain objects inside a fairly flexible business transactional model and just perform several database writes/deletes in one go, therefore avoiding having to break down the process into more atomic and expensive database calls, which always lead to the session-per-operation antipattern. Moreover, this...
Kevin Schroeder, in his move towards doing some mobile development, has a new post to his blog about why he's still going to stick with PHP for the backend of this new development work.I do like working with client/server-like architectures and so I intend to be building apps that have a fair amount of server-side processing to back it up. More details on that to come in the next few months. [...] I have decided that, for the time being, to use PhoneGap for my frontend development. [...] So the question...
Here's what was popular in the PHP community one year ago today:Robert Basic's Blog: Book review - Guide to Web Scraping with PHP
Freek Lijten's Blog: OAuth, a practical introduction with examples using the Twitter API
JavaWorld: Web-less PHP: Command Line PHP
PHPBuilder.com: PEAR HTML_Table: Displaying Tabular Data in PHP
Lorna Mitchell's Blog: PHP OAuth Provider: Authenticate User
Jason Gilmore's Blog: Thirteen Zend Framework Tutorials
DZone.com: PHPSpec: BDD for your classes
Community News: PHP...
In this recent post on Reddit.com a developer of a Symfony2 application asks, "to Twig or not to Twig for templating in his views.Hey there... long time Symfony 1.x enthusiast here, finally getting my feed wet with Symfony2. I pose this question to the Symfony2 developers out there: Who's using Twig for templating? Why or why not?The answers tange from the obvious "yes" and "no" options out to suggestions that even using templating languages are a bad idea. A few point out that the "separation of...
On the PHP Tip-a-Day site Greg Bulmash shares a bit of "convoluted code" that could potentially cause confusion in the future maintenance of your application - combining ternary with anonymous functions.Following on yesterday's post about chaining if statements without brackets on a single line, I tried to explore other ways to perform this "test if the variable is set, then do a comparison if it is" logic. I created one of the most convoluted lines of code I've ever written. It's no SQL join that spans...
HTTP Basic authentication
is a quick and easy way to protect your website with username and passwords:
AuthName "Please enter username and password"
The problem I have is that
is not relative to the virtual host's
but to the
which is /etc/apache2/ on Debian and Ubuntu.
Putting .htpasswd files into /etc/apache2/ is weird
(and requires root access), and...
On the Smashing Magazine site today there's a new tutorial showing you how to replace your MySQL encryption methods for AES with their PHP equivalent.At our company, we process a lot of requests on the leading gift cards and coupons websites in the world. The senior developers had a meeting in late October to discuss working on a solution to replicate the MySQL functions of AES_ENCRYPT and AES_DECRYPT in the language of PHP. This article centers on what was produced by senior developer Derek Woods and...
The Guelph PHP User Group (Guelph, Ontario) is having a meeting tonight, May 30th at 7:30 PM hosted at the Well.ca offices. The topic will be deploying database changes presented by Colin DeCarlo.This month Colin DeCarlo will be talking about a tool called Liquibase which allows you to manage and automate database deployments as part of your build and deployment process. He'll also be looking at how to integrate it with Jenkins and may even talk a little about how this tool is used at Freshbook...If...
PHP Autoloading with namespaces
Configuration reader and writer
You might have heard of us. If not, here iswho we are:
We are a little company in ZArich, Switzerland. Our clients trust
us. Our projects are technically challenging and mostly use cutting
edge technologies such as Backbone.js, Symfony2, Redis and CouchDB. By
keeping the company small we have the ability to carefully choose the projects we
want to work on. This also gives us time to attend many conferences,
both as speakers and attendees. And starting this autumn, we will be
working on our product as...
On his "Simple Programmer" blog John Sonmez has a new post looking at three kinds of "code duplication" that you should keep an eye out for when coding your applications:One of the biggest reasons to refactor code is to eliminate duplication. It is pretty easy to introduce duplication in our code either unintentionally or because we don't know how to prevent or get rid of it. [...] I've found that there are three basic types of duplication that we can eliminate from our code that successfully build on...
In this new post to his blog Gary Hockin looks at how to create a simple RESTful web service with the features provided by the Zend Framework v2 (currently in beta).After speaking to a prospective employer in a job interview, I was interested to try out the ZendMvcControllerRestfulController. With Zend_Json_Server in ZF1 having, shall we say, a less than sterling reputation, it was very interesting for me to see how the strategy has been implemented in ZF2. The starting point for this is simply a...
In this recent post from Tim Huegdon sharing some of his insights and discoveries about eliminating waste from your development process (with props to the methods introduced by the Toyota Corporation and the Poppendiecks).Eliminating waste is the first - and most fundamental - principle of Lean Software Development; something that was introduced to me by an exceptionally talented Project Manager whom it was my pleasure to work with. Lean Software Development is a set of seven fundamental principles that...
A very long time ago (three and a half livers ago), I wrote a little utility to help us with the 2008 edition of PHP Advent. The utility is called Lexentity, and my recent blogging uptake made me realize that I've never actually written about it on here, so here it is (mostly borrowed from the README).
Let's face it--this sentence is much "uglier" than the one below it.
Let's face it-this sentence is much aoprettiera than the one above it.
Lexentity is a simple piece of software that takes html as...