My Sitemap Generator
[You may have heard about the Magento fork Mage+.]
Lee, just tell us: who are you and what are you doing?
I'm a Magento technical architect, developer and contributor to Magento CE. I specialise in architecting and building large scale and complex installations of Magento - having built enterprise Magento platforms for Warner Music Group both in Europe & USA, and for Rebate Networks, who operate a collection of localised flash-sales websites throughout the world. I'm also the founder of the London...
I spent the better part of this afternoon trying to figure out why a Composer installation wasn't working and finally figured out the problemait wasn't mine.
First, a little context - I'm currently working on a testing presentation for some folks at work and I wanted to show them how to work with the Behat testing tool to create some handy functional/integration tests for our framework-based apps. I threw together a little framework (yes yes, I know) and got the PHPUnit tests set up and running in no...
On PHPMaster.com today there's a new tutorial posted, the first part of a series, looking at the use of the Standard PHP Library (SPL) in PHP. In this first part of the series, Stefan Froelich looks specifically at two of the more common uses for iterators - working with arrays and directories.When I first came across the term iteration and saw the overwhelming list of classes related to it in the SPL, I was taken aback. It seemed maybe iteration was too complex for me to grasp. I soon realized it was...
In his previous post to the MaltBlue.com blog Matt introduced the concept of configuration-driven Zend_Form instances. He's back with a second part to the series, enhancing his original examples by covering some of the base-level form configuration settings.Ok, this should have been part one, but irrespective, here's the second installment in zend form mastery with zend config - core form configuration. As the W3c Form spec says, there are 8 attributes applicable to forms.These attributes, including...
In this new post to his blog Sean Coates talks about PHP as a templating language and why he (and Gimmebar) have decided to go another, more frontend-based direction.For many years, I was a supporter of using PHP as a templating language to render HTML. However, I really don't buy into the idea of adding an additional abstraction layer on top of PHP, such as Smarty (and many others). In the past year or so, I've come to the realization that even PHP itself is no longer ideally suited to function as the...
Fabien Potencier has released a new tool to the open source community today - a documentation generation tool called Sami.Nowadays, phpDocumentor version 2 is probably the best option out there as it has a good architecture, it works fine, it is extensible, and quite a few big PHP projects is already using it. And that's fine. I don't want to compete with it, I don't want to replace it, I'm just open sourcing some code used by Symfony, Twig, and Silex because I'm not comfortable with closed-source...
The Voices of the ElePHPant podcast has released their latest episode - an interview with Derick Rethans of 10gen and XDebug fame.Cal's "three questions" for Derick involve
How did you come up with the idea and how did the project get started?
What's been the most fun and interesting part about building the community around XDebug?
What's the hardest lesson you've learned about running a project like XDebug?
You can listen to this latest episode either via the in-page player or by downloading the mp3...
Users of MySQL Replication sometimes throttle client requests to give slaves time to catch up to the master. PECL/mysqlnd_ms 1.4, the current development version, features some throttling through the quality-of-service filter and global transaction identifier (GTID). Both the plugins client-side GTID emulation and the MySQL 5.6 built-in GTID feature can be used to slow down PHP MySQL requests, if wanted.
How its done
The replication plugin has a neat feature called quality-of-service filter. If, for...
Latest PECL Releases:
Today is my "let open source some of my private Github repositories" day,
and more specifically, I'm releasing a bunch of code related to documentation.
Earlier today, I've released the Sphinx
extensions I'm using to generate the
And now, I'm releasing my API documentation
generator. Yes, I know that PHP already has
a bunch of such generators, but I started to work on this project several
years ago, when the only viable option was the old phpdocumentor.
So in working up a new RESTful service I've been tinkering with, I wanted to provide some kind of aoauthenticationa system for it. I started to look into OAuth, but got a bit overwhelmed by everything that was involved with it. Looking for something a bit more lightweight (and simpler to implement a bit more quickly) I came across this older article with a suggestion of a private key/hash combination. I figured that could do the job nicely for a first shot, so I set to implementing it.
On the Server...
In a recent post to his blog Jeremy Cook has gotten back into looking at some of the SPL functionality that comes with PHP. In this new post he looks specifically at the IteratorAggregate and Iterator object types.After a bit of a break I'm finally able to get back to writing about the predefined interfaces in PHP. PHP provides two interfaces that allow you to define how your objects behave in a foreach loop: IteratorAggregate and Iterator. Before taking a look at IteratorAggregate I'll briefly discuss...
Marcelo Gornstein has returned to his "IVR with PHP" series in this latest post (see others here and here). In this new post he shows you how to create a full flow of interaction for your callers:The last article was about how to create call flow nodes for asterisk, using pagi and php, to easily create telephony applications. It's now time to add a layer on top of it, and create a complete call flow with several nodes.He talks about NodeControllers to control execution flow, results from their execution,...
Lukas Smith is looking for feedback about a question that's been in his mind a lot lately - can the handling of query parameters be made better for the Symfony2 framework (and even easier to use).Obviously you can already access query parameters today already but it could be easier. Essentially what I want is a way for developers to easily configure what query parameters they expect and what values they expect. This is useful for several things like easier reading and validating of query parameters, self...
In this new post to his blog Gonzalo Ayuso has shared a simple SQL wrapper that he uses to work with his databases. It takes in an injection of the database connection component (a href="http://php.net/pdo"PDO) and provides functionality for inserts, updates, etc. with transaction support.If we don't use an ORM within our projects we need to write SQL statements by hand. I don't mind to write SQL. It's simple and descriptive but sometimes we like to use helpers to avoid write the same code again and...
There's been quite a bit of talk, recently, in PHP-land about templates and the ramifications of enforcing aopurea PHP scripts by preventing scripts from entering html mode. I'm not quite sure how I feel about this RFC, but it got me thinking about the whole idea of using PHP for templating in modern web apps.
For many years, I was a supporter of using PHP as a templating language to render html. However, I really don't buy into the idea of adding an additional abstraction layer on top of PHP, such as...
On PHPMaster.com they've posted the third part of their series looking at development around RESTful APIs. In this latest article they take an outsider's perspective and look at using services rather than creating one from scratch. (Part 1, Part 2)Imagine it's a warm, sunny, summer day. You're just walking along, taking a leisurely noonday stroll, when all of a sudden you come face to face with a RESTful API. What do you do? How do you interface with it? Or, as those of us in the know would say, "how do...
On the EngineYard site today there's a new podcast released with Elizabeth Naramore interviewing Derick Rethans (of 10gen) about MongoDb and the OpenStreetMap project.Derick gives a little background about himself (including being a PHP evangelist for 10gen) and how he ended up working with MongoDB. They talk about how MongoDb is different and some of the involvement he has in contributing to open source projects and the OpenStreetMap project.You can listen to this latest episode either via the in-page...