I recently carved out some time to correct this situation, and fell into an absolute pit of confusion when I tried to figure out what my options even were. My requirements are that my customers are global, I am UK-based, people will set up a regular subscription, and I don’t have (and I think I don’t want) a merchant account at this point. I’m not PCI compliant and have no intention ever to attempt that. This post is an attempt to round up some things I found out along the way. Continue reading
Author Archives:
Skills Allied to PHP
In October, I’ll be delivering a tutorial at the mighty PHPNW Conference which contains very little PHP. Why? Because I think, as developers, it’s our other professional skills that suffer. As a consultant, I work with lots of different teams, and it is very rare for code to be the problem (and the one time it was, it wasn’t the only problem!).
In web development, our biggest challenges are not writing code, we can do that. But getting the code safely from one place to another, with many people’s work preserved, having our platform(s) correctly configured and understanding how to use them, making use of the tools in the ecosystem which will help us improve the quality of our code; these are the big challenges we face, and that’s why I proposed this workshop and why I think all these topics are important. Continue reading
Validating Email Addresses in PHP
$email1 = "nonsense.something@dottiness"; // not a valid email
$email2 = "[email protected]"; // valid email
$clean_email1 = filter_var($email1, FILTER_VALIDATE_EMAIL); // $clean_email1 = false
$clean_email2 = filter_var($email2, FILTER_VALIDATE_EMAIL); // $clean_email2 = [email protected]
The Filter extension was new in PHP 5.2, but is one of the unsung heroes of the language. It’s rare for me to ever describe one approach as the “right” way to do something – but for validating data, Filter really is excellent, offering both validating and sanitising filters and generally making it super-easy to clean up incoming variables. Many of the frameworks offer equivalents, and I’m sure many of those are wrapping this too.
Two Years of Trading
Installing PEAR Packages Offline
However I’m now in a situation where I might need to install PEAR packages with a connection that may or may not be working, and I’m not sure exactly which packages I might need, so I wanted to know whether I could use PEAR as my packaging tool even when I wasn’t able to reach the usual channels. And guess what? I can! Continue reading
Speaking at CakeFest 2012
I’m delighted to announce that the nice people over at CakePHP have very kindly invited me to speak at their event in Manchester in September – CakeFest! They brought this event to Manchester last year and I wasn’t able to make it, so I’m super-excited to be there this year. Continue reading PHP 5.4 Benchmarks
Lesson Learned: Look in the Pull Request Queue
PHP’s Magic __invoke() Method and the Callable Typehint
__invoke(). Continue reading Monday Git Tips
git log and git show and in particular two of my favourite existing tricks:Continue reading
