In a response of sorts to these interview questions posted by Nick Halstead, Matt Wilkin took the next step and worked up the answers for the questions in a new two-part series.
Well at another blog they shared some pre-interview questions from Yahoo for a PHP job. The only problem is they never provided the answers. So that's what I'm going to do now.
Part one answers questions one through eleven and the second part wraps things up with the answers for questions twelve through twenty-two.
The Jayson Minard continues his "Blueprint for PHP Applications" series on the Zend Developer Zend today in part two, a look at creating and setting up the "bootstrapper" file mentioned previously.
In Part 1 of this article I talked a lot about funneling. Sending every request to one PHP file that then controls the flow of the request into our application code. This one PHP file is called the "Bootstrapper" and deals with everything in common for every request our application receives. The bootstrapper can setup, configure and gift wrap everything that all pages have in common. It can make sure the include path is setup correctly, that the environment is configured correctly, all PHP settings are set, that common model objects are loaded, and that the front controller is invoked to begin your MVC processing.
If you setup the bootstrapper correctly your application code will be more manageable and consistent, along with being easier to write in the first place.
They focus on teh directory structure in this part, demonstrating the correct structure, how to set the .htaccess to coordinate with it, and the creation of a simple PHP file to handle all incoming requests.
From the Zend Developer Zone today, there's the continuation of their "Blueprint for PHP Applications" series, this time focusing on bootstrapping (part 1).
The definition (of bootstrapping) from Wikipedia has more flair to it than I can probably give this article, but nonetheless bootstrapping is an incredibly important part of a PHP web application. It is the ignition, the launch-pad, the booster rockets, and even the safety gear for our trip through PHP Best Practices. Without a well designed bootstrap, our application will never get off the ground.
The general idea behind the bootstrapping is forcing all of the requests to a domain to be funneled through a central script and branching out from there. They talk about how to use Rewrite rules to accomplish this and how to set the setup. He finishes the post off by bringing it back to the layout of the application, pointing out where it fits in.
For those of you that have been following along, PHPBuilder.com has posted the third and final part of their "Using XML: A PHP Developer's Primer" series. Even if you haven't been keeping up, it's worth a look.
In this edition, they look at more advanced topics - a deeper look at Ajax and how to style the data you get back with XSL, both on the client and sever.
To start, they look at XSL - what it is, how it's used, and some code examples of both the XML and XSL structures to style XML data into a valid HTML page. Of course, you'll need the PHP extension to get this all working, so they step you through the installation/enabling of that as well.
They touch on other topics (like passing variables to a stylehseet and XSLT in Javascript) before getting to a simple XSLT and Ajax example - pulling book data and formating it with examples of both the PHP and Javascript sides.
Justin Silverton continues his "PHP Security Mistakes" series with this new post, looking at issues surrounding system calls, file uploads, and including files into your scripts.
In one of my previous articles, I mentioned the top 5 security mistakes made in PHP. This article is a follow-up, with some more common security mistakes.
For the three topics he describes the functionality PHP offers for them as well as a suggestion or two as to how you can prevent these issues from showing up in your scripts.
On PHPBuilder.com today, there's the second part in their "Using XML: A PHP Developer's Primer" series.
In the first part of this series, we took a look at how PHP 5 can be used to manipulate and parse XML files. In this installment, we are going to focus on Ajax, one of the most useful and topical applications of XML.
Initially, we are going to introduce Ajax and learn how to use the XMLHTTP object provided by most modern web browsers to create a live email validation form. Then we will pick up where we left off with the theme of XML and introduce XSLT, which we will use to transform our library XML from the previous article into valid XHTML code.
They jump immediately in, starting with the "what is Ajax?" question to provide a good base. The sample application that they help you build to work up your Ajax skills is an email validation app that checks the user's entry as they're putting it in. Of course, all of the PHP and Javascript code that you'll need is provided.
Today, Devshed as posted the second and last part in their "Error Handling in PHP" series - Introducing Exceptions in PHP 5.
Welcome to the last part of the series "Error Handling in PHP." In two parts, this series introduces the basics of error handling in PHP. It demonstrates some of the most common methods for manipulating errors in PHP 4, and explains the implementation of exceptions in PHP 5, particularly in object-oriented environments.
They introduce things like try/catch blocks as well as more complex items like custom exceptions and exception subclassing. They start with the basics, but quickly move into grabbing more detailed error information, working with the various error types, and extending the Exception class with subclasses to make it more flexible...
Via this new post on Nexen.net today, there's a pointer to a two-part article from Clickablebliss.com comparing PHP and Ruby on Rails.
Over the last few weeks, I've been asked by both friends and clients, "So what is that thing called Rails I keep hearing about (and/or keep hearing you talk about)? How is it different from PHP?" Typically I give them a three-part answer that'll I'll now iterate for the blog. While this is far from a complete comparison, hopefully it will be useful to some people out there.
In Part One, they look at the major difference between the two - one being and language, the other a framework. They also mention how something simple, like templating, is handled on either side.
Part Two focuses more on Ruby, the language, itself - what it is, its use of objects, and a comparison of the same to what PHP has to offer.
As promised in Part One of How To Customize WordPress, this time I thought I would attempt to see how simple it can be to tweak an existing WordPress template using some CSS.
A lot of the more frequently used existing blog templates have only a 2 Column design, and are quite narrow at that so trying to get some whitespace and an extra column into one of them is the challenge I set myself.
She talks about some tools she's using to make the changes (all cross-platform) and dives right in, using the WebDev Toolbar to locate items and their IDs to make updating them easy. From there's it's all CSS and HTML updates in the rest of this lengthy tutorial...
PHPit.net has posted the third part in their "Building an advertising system with PHP" series today.
Welcome to part 3 of the "Building an advertising system with PHP" series. In the previous parts (part 1 and part 2) I have shown you how to build your own advertising system using PHP and JavaScript. We've also added two extra features to our ad system and in part 2 we built a page to manage the ads as well. If you haven't read either part yet, I highly recommend doing so before reading this part.
In this part, the final part of the series, I will show you how to first track all kinds of statistics on each ad, and after that display neat graphs using PHP/SWF Charts. Let's get started.