|
Sponsored Link
|
Latest PECL Releases:
timezonedb 2011.5
In my Beyond Frameworks talk, I explained how a component-based architecture can help answer some of the important (i.e. expensive!) questions you might face when creating long-lived apps that rely on a PHP framework. In this series of blog posts, I'm going to look at how to go about creating and working with components.
I'm now going under the bonnet of our components, and looking at the different file roles that the PEAR installer expects to find when we distribute our component as a PEAR-compatible...
Mockery is my Mock Object Framework for PHP 5.3, geared towards replacing existing mock object solutions (like PHPUnit Mock Objects) with a simpler, more flexible and more intuitive alternative with a fuller feature set. All that aside, this blog post is about some of the features Mockery 0.7 will add shortly. When I set out to write Mockery, I did so knowing that I'd need to settle on some new terminology. Here's what I came up with:
1. Partial Mocks
This is the least debateable term since it's...
In my Beyond Frameworks talk, I explained how a component-based architecture can help answer some of the important (i.e. expensive!) questions you might face when creating long-lived apps that rely on a PHP framework. In this series of blog posts, I'm going to look at how to go about creating and working with components.
I've just put out ComponentManager version 1.1.0, with the following (hopefully useful) changes:
Improvements To The php-library Skeleton
Once you've setup your metadata, phing...
Brandon Savage - one of the latest members of the Mozilla tribe and all around good guy - has written a new post for his blog. In it, he discusses a€oValidation Blind Spotsa€ť. Click on in for the details, a link and a vague attempt at humor.
In a recent post to the 3 Engineers blog, they take the usual "Two Step" approach the Zend Framework takes to generating view data (Zend_View + Zend_Layout) and takes it up one more step by using Three Step Layouts with a simple wrapper.While the Two Step View pattern creates a reasonable paradigm for seperating layout presentation from page presentation, enabling Three-level Inheritance allows for even better separation. In other words, using 3 Step Layouts is a possible and often necessary investment...
Gonzalo Ayuso has a new post to his blog today talking about a regular expression-laden script he's some up with to reflect over a PHP file and pull out the document's comments (PHPDoc-style).I want to parse PHPDoc code. Let me explain a little bit what I want to do. Imagine a dummy function documented with PHPDoc. [...] PHP has a great reflection API, but as at least in the current PHP version (as far as I know) we only can get the PHPDoc as a string, without parse it. I need to get the parameters and...
In a new post to his blog Maarten Balliauw shows a method that's a bit more lightweight than some of the other Windows Azure deployment methods you might have used in the past - creating a .cspkg from scratch to describe your project.Those of you who are deploying PHP applications to Windows Azure, are probably using the Windows Azure tooling for Eclipse or the fantastic command-line tools available. I will give you a third option that allows for a 100% customized setup and is much more lightweight than...
The Italian PHP user group GrUSP is pleased to
announce the 8th edition of the Italian phpDay
conference, taking place from May 12th to 14th, 2011 in Verona. We will
show new development traits, best-practices and success cases related to
quality, revision control, test-driven development, continuous
integration and so on. There are also talks about design, project
management, agile and various php-related technologies.
phpDay is the first historic Italian conference dedicated solely to PHP...
Dave Marshall has written up a new post showing how he's used memcache, Gearman and Dojo to create an asynchronous progress bar he uses when generating large reports.I have a (highly optimised) report that takes way too long to generate, up to around 30 seconds. [There's] too many variables to prime caches for every possible combination [and] personally, I don't think the browsers inbuilt progress bar is enough feedback for todays web users.He generates the data into memcache when the user requests it...
In a new post to his blog Brandon Savage talks about how some of your current validation rules (and restrictions on input values) could be causing blind spots in your application that you don't even know are an issue.Our blind spots about validation can and do harm real users if they're poorly or incompletely thought out. What might seem like a completely rational limit to us might hurt a real user who needs to exceed that limit, through no fault of their own. How many women are "BETTYJEAN" because their...
From the HashBangCode.com site today there's a new post that revisits filtering with the filter_var function included with the language. The focus in this article is specifically in validating URLs with the FILTER_VALIDATE_URL flag.Quite a while ago I looked at using the filter_var() function to validate URL's using the FILTER_VALIDATE_URL flag and someone pointed out recently that this function has not only changed since the initial release, but that a number of flags can be added to change the way that...
Latest PEAR Releases:
PEAR_PackageFileManager2 1.0.2
PEAR_PackageFileManager_Plugins 1.0.2
Services_Amazon_S3 0.3.2
Services_ShortURL 0.2.0
XML_Query2XML 1.7.2
HTTP_Request2 2.0.0beta3
There are several ways to transfer data from one mysql server to an other. Dumping a full table and re-importing it is rather simple, but sometimes you only want to transfer a selection of data. I will quickly explain the most common ones and then explain how i solved my way out of having neither phpmyadmin nor the privileges of SELECT...INTOA OUTFILE.
My use case was the following:A A client inadvertedly deleted many entries in a database table. There was no way of finding out what exactly was deleted...
In my Beyond Frameworks talk, I explained how a component-based architecture can help answer some of the important (i.e. expensive!) questions you might face when creating long-lived apps that rely on a PHP framework. In this series of blog posts, I'm going to look at how to go about creating and working with components.
In previous articles, I've introduced you to the component skeleton that ComponentManager creates for you when you run the phix php-library:init command. Our skeleton is designed to be...
A friend of mine lives on Bonieta Harrold Drive. I live on a Windsor Hill Drive. Both of us have a problem in common, which is that poorly designed software is incapable of accepting the length of our street address. For me, American Express refuses to accept more than a€oWINDSOR HILL Da€ť, which still arrives [...]
And now for the final post in this series, unless I start to get some serious questions :)
But if other NoSQL databases are not trustworthy, why are JCR implementations?
First up, plenty of people run very success large scale mission critical applications on top of MongoDB and friends. The interesting bit is that JCR is an API and the implementations are free to choose any database for final persistence. Jackrabbit for example can be installed using any RDBMS for storage or even the file system. Our own...
I've run Funkatron.com on ExpressionEngine for a long time. It's a strong, flexible, powerful CMS that I recommend to many folks who need to build content-driven sites, especially those where the site will be administered by non-programmers. It's a very solid choice for consultants and freelancers, who can build the relatively small license cost into their fees - and probably save the client in the long run.However, over the years, I've found ExpressionEngine to be overkill for a blog site. If you're...
Oracle 11gR2 Express Edition ("XE") Beta is now downloadable for Linux x86_64 and Windows (32-Bit). Oracle XE is a free, slimmed down version of the full Oracle DB. Documentation for XE 11gR2 is here. One of the Oracle features retained...
While under development, we didn't fully realize what all this release would entail. As this development cycle began, we had a perfect storm of events: a holiday break, a particularly motivated project team, a few moments of clarity, and an engaged community. These things gave us significantly more updates, fixes, and improvements for v2.3 than we expecteda€¦
|
|