|
Sponsored Link
|
Since becoming freelance 18 months ago, I've taught a number of courses at my excellent local tech training centre, NTI Leeds. Over the next few months we're running some one-day PHP courses (see my course dates page for more detail and the dates, all these are in Leeds although I'd like to run them elsewhere too), targeted at a particular area or set of skills. These are areas that I find myself delivering consultancy or training on frequently, or things I teach when I go places and realise these gaps...
Dave Gardner has put together a guide to deploying PHP applications with the help of Capistrano, a Ruby-based deployment tool (including some example "recipes").Capistrano is written in Ruby and offers up a basic DSL from which you can craft quite flexible deployment scripts. [...] That said, it's very flexible. In my current setup I have it deploying to multiple environments (dev, staging, production), building code (think Phing), running tests on the servers before finalising the deploy and then...
According to this new post to the Dutch PHP Conference blog, the schedule and ticket prices for this year's event will be published next week (sometime between the 19th - 25th).In our previous blogposts we announced that we would publish the schedule on 15th February. It seems however that this date was a bit too optimistic, and that we need a bit more time to get everything in order. So hang in there, the schedule will be published next week! If you want to be first in the know, make sure you follow...
Michael Bodnarchuk passed along a new post on the Codeception site about using the tool in a behavior-driven testing methodology. This post is a follow up to their previous one covering acceptance testing.With BDD approach in Codeception, any test, even the unit test, is written as a scenario. By this scenario you declare what you are doing and what results you expect to see. In traditional xUnit scheme your test is just a piece of code that uses the method being tested. This piece of code becomes a mess...
In the latest post to his blog Sameer Borate takes a look at using the Structures_Graph package from PEAR to create data structures in PHP with linked nodes for directed and undirected graphs.The Pear Structures_Graph package allows creating and manipulating graph data structures. It allows building of either directed or undirected graphs, with data and metadata stored in nodes. The library provides functions for graph traversing as well as for characteristic extraction from the graph topology.After...
One of the more popular PHP microframeworks right now is Slim and Chris Hartjes has a new post to his blog about a good way he's found for organizing applications that use this handy tool.I've never really used a microframework in PHP before. I used Flask for a Python project that I did to experiment with using Google App Engine. The principles seem to be quite similar (although I will admit that having decorators in PHP would be ineresting) but the trade-off with a microframework is that you usually...
The Boston PHP User Group will be having their next meeting tonight (the 15th) at 7pm at the Microsoft N.E.R.D Center in Cambridge. The featured speaker for the evening is Chris Shiflett, a well-known member of the PHP community. He'll be speaking on "Security-Centered Design: Exploring the Impact of Human Behavior".Join Boston PHP and O'Reilly Author Chris Shiflett as we take you through a fascinating talk on the human behavior and social aspect of security. We'll explore topics such as change blindness...
PayPal Request Money
Gif Animation Resizer
CompCalc
Groupon API Client
Rewrite URL
Video providers
Simple DAL
A very simple database abstraction class
Web Video Players
ical
OpenGraph Reader with Template Output
If you're going to be in or around Boston tomorrow (Wednesday) night, I hope you'll join me at the Microsoft NERD Center, where I'll be giving my first talk in more than a year and a half.
I'm going to be speaking about the science of human behavior and why perception matters, even if all you care about is something like security. This talk is a lot of fun, because I mostly just talk about stuff that I find really interesting. There are more videos than bullets, and more science than code.After the talk,...
Pim Elshoff has a recent post to his blog about dependency injection in PHP applications and some of the good and bad things about implementing it. He includes examples of a few different types of "injection" ranging from using globals to an actual dependency injection container.This article describes common pains and symptoms of bad dependency management and common techniques for dealing with project-wide dependencies. [...] For the purpose of this article I am talking about classes using other classes....
In this new post to his blog Matthew Turland shows how to set up a puppet configuration to deploy and set up an EC2 environment for Drupal.I'm currently working on a project that involves running Drupal on Amazon EC2. To save time in setting up future new VM instances, I decided to take the opportunity to learn puppet. For the time being, I'm using a single VM to run the full LAMP stack and running puppet without a server by copying my puppet manifest to the VM and using puppet's apply command to apply...
John Conde has shared some of his recent experience when he began job hunting as a PHP developer. If his experience is any indication, it's clearly a good time to be a (qualified) PHP developer.I created my profile on monster.com on a Monday and made it public that night. The following Tuesday morning my telephone went nuts and my email inbox blew up with recruiters reaching out with positions that I was "perfect for". Over the course of the next week and a half (not including weekends) I spent 10-12...
PHPMaster.com is back with the third part of their series looking at the internals of the Yii framework (specifically, its components). In this latest article Steven O'Brien focuses on how the framework uses behaviors.A behavior, as it is called in Yii, is a manner of combining objects at runtime to extend an object's functionality. Behaviors are an excellent way to decouple code and keep ever expanding systems maintainable. [...] We can not reuse our code effectively because PHP doesn't support multiple...
On the UMumble blog there's a recent post looking at memory consumption in PHP applications - what PHP does for you when managing how it uses your system's memory and what you need to worry about in your code.There is a widespread view that the ordinary PHP developer does not need to control memory management, but "controlling" and "knowing" are slightly different concepts. I will try to throw light upon some aspects of memory management when working with variables and arrays, and some interesting...
I use WordPress for this web site. To pretty up source code examples in my posts, I use the excellent SyntaxHighlighter Evolved WordPress plugin. The WordPress theme I use, Fluid Blue, does something with its CSS such that it and SyntaxHighlighter appear to conflict. The result is that source code examples processed by the plugin are displayed with a font size that's too small to read comfortably.
In doing some digging, I learned about the child themes feature of WordPress, which allows you to...
I'm currently working on a project that involves running Drupal on Amazon EC2. To save time in setting up future new VM instances, I decided to take the opportunity to learn puppet. For the time being, I'm using a single VM to run the full LAMP stack and running puppet without a server by copying my puppet manifest to the VM and using puppet's apply command to apply it locally. However, this manifest can easily be adapted for a multi-VM environment. After some tinkering, I came up with the code below....
As announced on the php|architect site, the official schedule for this year's php|tek event has been released.tek '12 is coming to Chicago May 22nd - 25th, 2012. Yes, there is going to be an uncon that goes till all hours of the morning. Yes, there is going to be a hackathon packed with programmers and cool projects. Of course there are going to be some off-the-hook evening activities that people will talk about for years to come.This year's event includes sessions about:
creating and using PHP...
On PHPMaster.com today there's a new tutorial introducing you to the PSR-0 standard and how it effects the autoloading in many PHP applications and frameworks. Specifically, they show how it's implemented in a Symfony2 componentIn this article I'll walk you through the "history of autoloading," from the older to the current PSR-0 standard autoloader approach found in many PHP frameworks such as Lithium, Symfony, Zend, etc. Then I will introduce you to the ClassLoader component from the Symfony2 project...
If you're looking at using the full-page caching that the Zend Framework has to offer, you should read about Robert Basic's experiences with it before implementing it in your application.When I started rewriting this blog, I knew from start that I want to use Zend Framework's full page caching, as, I think, that's the best cache for this purpose. Not much going on on the front end, much more reads than writes, no ajax or any other "dynamic" content. While implementing the cache, I ran into two issues.His...
Davey Shafik has a recent post to his blog about what he calls "The Blowfish Debacle" - the issues that came up with the PHP 5.3.7 release to upgrade the crypt_blowfish version that resulted in a larger error being introduced.This was a great security fix, solving an issue with insecure passwords due to incorrect behavior. HOWEVER, what wasn't made clear, is that this change was actually a backwards compatibility break. If you upgraded to 5.3.7+ data hashed pre-5.3.7 would no longer match data hashed...
|
|