On the Toptal PHP blog they've posted what they call the "vital guide" to PHP interviewing, a set of questions (and answers) that you could potentially ask a candidate you're looking to interview for that open PHP role in your organization. Obviously, since interviewing is all relative to the organization, this guide is just that - a series of example questions you could ask to determine overall competency.
Ubiquitous…that is definitely one word you could use to describe PHP in relation to the web. It really is everywhere. [...] But therein lies much of the challenge of finding highly-skilled PHP developers. PHP’s relatively low barrier-to-entry and 20 year history means that PHP developers have become practically as ubiquitous as the technology itself. Yet while many can legitimately claim to “know” PHP, those who are true experts in the language are capable of producing software that is much more scalable, functional, robust, and maintainable.
[...] Toward that goal, this guide offers a sampling of effective questions to help evaluate the breadth and depth of a candidate’s mastery of PHP.
There's quite a few questions in their guide, touching on a wide range of PHP-related topics both more intermediate and advanced. This includes questions like:
- "Explain the use and purpose of the global keyword in PHP. Provide an example of a case where its use would be appropriate, as well as one where it would not be."
- "Describe namespacing in PHP and why it is useful."
- "Describe the relationship between php://input and $_POST. How would you access the php://input stream?"
- "Explain the purpose and usage of the __get, __set, __isset, __unset, __call, and __callStatic “magic” methods. When, how, and why (and perhaps why not) should each be used?"
- "Describe one or more Standard PHP Library (SPL) data structures. Give usage examples."
- "How does PHP build an array internally?
Each question includes a correct answer (or guidelines to verifying their answer in some of the more open ended questions) so you can ensure the interviewee is competent in the language and its use. Keep in mind, however, that this should not be considered required knowledge for a developer - that's up to what the organization needs and what level they're trying to fill.