In this guide, we try to identify the main problem behind recruiting elite developers (proficient in a given framework or language, like PHP for instance), then find the solution to it and deliver all of that in an easy-to-follow manner.
In short, we’ll learn how to find the best PHP developers without so much as breaking a drop of sweat.
Well, maybe a little.
Short history of PHP
The genius thinker behind PHP is called Rasmus Lerdorf. He conceived the language sometime around 1994 and immediately employed it to see who was looking at his online resume at the time.
Those were some of PHP’s first, non-released versions.
A year later, other programmers (the word “developer” wasn’t so popular back in 1995) started using the first commercially available versions of PHP under the name Personal Home Page Tools.
The language was still in its rudimentary stage. It had a parser engine that understood some specific macros and other basic utilities commonly found on home pages in the infancy of the internet. These utilities included a counter, guestbook, and other basic stuff.
Later that same year, the parser was rewritten and dubbed PHP/FI V.2. The FI (Form Interpreter) was included from another project that Rasmus was working on and it read HTML from other data formats.
Finally, he combined those two (PHP and FI) and added mSQL support on top of them to create what we know today as the modern PHP language.
Soon, PHP grew at an unprecedented pace, with more and more people contributing code and improving every aspect of it to this very day.
How popular is PHP?
According to a recent analysis, PHP (versions 3, 4, 5, 6 and 8) is used by 77.4% of all the websites with a known server-side programming language today.
In terms of market share, here’s how PHP currently fares:
Granted, PHP might not be the most advanced programming language in use nowadays. However, that doesn’t make it dead, unpopular, or dying.
In all honesty, the number of websites that use PHP is falling with each passing year. But, there are few interesting tidbits of information (or, rather, omitted pieces of info) that tell a different story.
Some of the scanning tools used by various analytics-based websites look at the
X-Powered-By HTTP header and stop there.
The issue with this approach is that some hosting providers omit these headers because of various security concerns. Therefore, the realistic number of websites that use PHP could, in theory, be higher.
In fact, when that number is sitting at more than 75% of ALL the websites in the world, it is kind of hypocritical to pronounce PHP as dead.
Plus, the numbers shouldn’t come off as a surprise either. WordPress, the most popular CMS by a large margin, uses PHP.
As a side note, both Joomla and Drupal use PHP as well.
And to the question of whether or not PHP is really dead, I’ll leave you with this quote from the wise sage and creator of C++, Bjarne Stroustrup:
"There are only two kinds of languages: the ones people complain about and the ones nobody uses."
Where to find quality PHP developers
Because of the popularity of PHP, it’s relatively easy to find PHP developers, to begin with. In fact, it’s also easier to find devs with experience when it comes to mature languages. Given that PHP is an old and proven language, finding high-quality, experienced devs should be nothing more than a walk in the park.
In theory. But the weak correlation between theory and practice paints a different picture.
The best place to find and hire PHP programmers is not a place at all: it’s word of mouth! However, most technical managers don’t have enough real-life connections to warrant a search themselves in order to sift through many PHP experts and hire the best fits for their projects.
Plus, it’s not really feasible to go around and ask people in real life whether or not they know any dedicated PHP developers to recommend and where to find them.
So, the second best approach is to search some of the most popular online job boards and make your hire from there. These boards include:
- Virtual Locations
- Working Nomads
- Europe Remotely
We at Proxify offer elite PHP web developers suitable for both short and long-term opportunities. There is a trial period of 1 week for which you don’t pay anything if you aren’t 100% satisfied with your developer and the overall service.
We can also match you with other PHP developers if you decide that your initial hire isn’t the right fit for your projects.
Keep in mind that all our developers are pre-vetted, so the chances of not finding the right fit are very, very slim!
How to interview PHP developers
When you interview freelance PHP developers, you should pay close attention to a couple of crucial things:
- Their general skill set (frontend, backend, full-stack)
- Their tech stack proficiency (one or multiple)
- Their ability to communicate, delegate, and problem-solve issues as they arise
- Their ability to look at php code and identify problems, as well as offer solutions to improve existing or add new code when applicable
Most importantly, they should have the willingness to learn, improve, and think outside the box.
Top 5 technical skills PHP developers should have
In software development, a good programmer solves problems in their head (abstractly) and then translates the results into the code.
Most development projects nowadays are structured quite the opposite: first you need to write the code, then you’re free to debug until kingdom come.
An elite PHP developer needs to be cognisant of this fact and use it to their advantage, meaning they should know the application development process inside and out in order to create an optimized solution with as few resources as possible.
Speaking of which, here are some of the most important attributes to make a PHP developer stand out from the rest of the crowd.
(2) They should be familiar with PHP best practices: Best practices and design patterns are useful in all programming languages, PHP not excluded. If followed correctly, they can significantly speed up development time by offering reliable shortcuts to what would otherwise be complex issues. Code readability is also important, as other developers will now have better access (and clearer documentation) on what to do and how to proceed on top of the existing code patterns. The most popular design patterns in PHP-based applications include Strategy, Factory, Singleton, and others. The fact that PHP has been around for more than two decades lessens the burden developers face on a daily basis, as they now have ample resources to consult and avoid any potential issues before these issues have a chance to creep in into the code.
(3) They should know PHPUnit, PSR, and Composer: PHPUnit is a popular framework for automated testing of small chunks of code against what is expected at runtime. Unit testing is a crucial skill any PHP developer should be familiar with, including familiarity with the TDD approach (Test Driven Development). TDD means that tests are conducted before writing the code.
PSR (which stands for PHP Standard Recommendation) is a collection of specifications and best practices created to standardize how PHP code is written, executed, and tested across all PHP apps and compatible platforms. PSR currently has 13 accepted standards and more are being written as we speak. Each standard has its own unique purpose, but the main underlying goal behind PSR is to improve the interoperability between different PHP components and frameworks.
Finally, Composer represents a dependency manager that handles all of your classes, functions, and libraries, allowing you the freedom to install the most compatible version of each on a project-to-project basis. It also automatically checks for new versions of all required components and installs/updates them accordingly.
(4) They need to know how to problem-solve: Some would argue that problem-solving is a soft skill, but I tend to differ. Developers who know how to problem solve and not simply google for solutions (although, that’s a skill in and of itself) could, in theory, solve each issue on paper before it gets the chance to compile at runtime. Or, as Bjarne Stroustrup eloquently puts it: “My best tool for efficiency and performance is abstraction”.
(5) An elite PHP programmer should have excellent communication skills and great adaptability: In my honest opinion, friction is mostly prevalent in teams with bad or unreliable communication. A-grade PHP developers should be able to communicate their ideas with clients, coworkers, managers, and a plethora of other people to successfully complete a project. Don’t get me wrong, good communication doesn’t mean Max Gladstone's levels of eloquence (a contemporary fantasy author; seriously, look it up). Rather, it means the ability to explain complex concepts in a simple way, convey the underlying business goals and explain the overarching picture behind the development services their company offers.
They also need to be adaptable and have that proverbial spark in their eyes that separates good from excellent developers. After all, companies are more likely to hire PHP developers who are on top of their stuff as opposed to people who aren’t willing to adapt. In the business world, it’s as brutal as “adapt, or die.”
PHP interview questions and expected answers
Naturally, I was curious and had to probe the Proxify network of developers for some PHP wisdom to be dished out and properly served for everyone to read.
These were my questions:
- Is PHP losing its popularity? Why or why not?
- Which PHP framework should developers learn first (i.e. Laravel, Symfony)?
Volodymyr Demydiuk was concise and straight to the point: “(PHP) has been losing popularity since the beginning. But, it's still out there for several reasons.”
According to him, these reasons include:
- PHP projects need further support and development
- Developers with experience continue to work on and improve it
- The community strives to make PHP and the surrounding tech to be up to date
As for the second question, here’s what Volodymyr had to say:
“There isn’t a huge difference. You can achieve business requirements with any programming language, just in some different capacity.”Volodymyr Demydiuk
“Learn as many frameworks as you can”, he laughed, reacting to my inquiry about the popularity of different PHP frameworks. “Symfony is slower to develop but it's more “stricter” to standards. Laravel is a bit faster and easier to learn”, Volodymyr concluded.
Endrit Veseli, another developer from the Proxify network and a regular contributor to our articles, elaborated to great lengths about the applicability, popularity, and real world use-cases of PHP.
Circling back to explain the dip in popularity, Endrit provided us with even more information.
“Returning to the “dominant” part. While PHP is not as dominant as it used to be, make no mistake about it; it is still the most dominant and used language on the web. According to most of the latest statistics, WordPress alone (which, surprise, is powered by PHP) powers around 43% of all the websites today.”
He added that this fact is still not taking into consideration other popular CMS like Joomla, Drupal or well-known, respected and widely used frameworks like Symfony, Laravel or CakePHP.
“So, yes: PHP is still going strong and if your website is running PHP, it'll be just fine”, he remarked.
Further, Endrit elaborated in great lengths on the main differences between building web applications with PHP compared to other languages or frameworks. Here’s what he had to say:
Endrit continued that if you are a developer coming from frameworks like Python/Django or Flask, Ruby/Ruby on Rails or any other framework which utilizes SOLID/CQRS/MVC patterns, there isn't too much difference and any developer would feel right at home in using some of the most well-known PHP frameworks like Laravel, Symfony, CakePHP or Phalcon.
“If you are coming straight from say Python, Ruby or .Net, you'll be surprised at how easy it is to pick up working with PHP on the web. It's just as easy as renaming an .html file to .php and it'll work right away”, he concluded this part of the conversation.
In terms of how PHP works, he elaborated even further.
In continuation, Endrit said that another thing that might surprise people coming from other languages is that you can often hear Object Oriented Programming in PHP but this is a bit misleading as PHP is NOT an Object Oriented Language (OOP) in the traditional sense of the word. Rather, it is an Object Oriented Capable language (OOC). “You can create objects in PHP, but, by default, it is a procedural language and in PHP nothing is considered an object”, he added.
Finally, Endrit got to answer my third and final question. Which PHP frameworks should developers learn first?
"If you are an experienced developer coming from some well-known frameworks like Django, Flask, .NET Core, Ruby on Rails, etc., you'll find familiarity with most of the PHP frameworks as they use the same philosophy (Laravel, Symfony, and Zend being the most prominent of them all)."Endrit Veseli
"Which one to pick up learning first is a matter of where you are coming from. I'd say check all of them out, see which one is the closest to what you are accustomed to and start with that.”
For developers looking to learn PHP without much background of any other framework, he explicitly said none of them. Try to learn PHP in a procedural style first, understand how it works, understand its scope, get some knowledge of the most common programming design patterns (e.g SOLID/MVC/DI) and then dive into some more advanced stuff. Endrit’s personal recommendation is CodeIgniter.
"While it is on the older side (CodeIgniter) and not really suited or recommended to use in production for new applications today, in my opinion, it is still a great way and an easy framework to learn some of the most common programming concepts (e.g MVC pattern). After that it'll be easier learning more advanced frameworks like Zend or Symfony."Endrit Veseli
Endrit was nearing the logical conclusion of our conversation. “To conclude, I'd say that the best way to learn how a wheel works is to make one yourself. So, if you are truly looking to master PHP, try to reinvent the wheel by creating your own framework. You'll learn much more of how things work behind the scenes than using some advanced, production ready frameworks which may confuse newcomers”, he ended.
Here are some technical questions you can ask your prospective PHP developer candidates to assess their knowledge and proficiency of the language:
- What is PEAR?
Expected answer: PEAR is an acronym for PHP Extension and Application Repository. It is a repository of code that can be downloaded and used in various PHP-based applications.
- Is PHP considered a case-sensitive language?
Expected answer: Yes, PHP is a case-sensitive language. This means that it can be sensitive to the case of letters and characters in certain situations. For example, if you have a variable named "name" and try to access it with the name spelled "NAME," it will not work.
- How many types of variables does PHP support?
Expected answer: PHP supports eight types of variables.
The following are the types of variables supported by PHP:
- Explain the difference between “print” and “echo” in PHP
Expected answer: The difference between print and echo is that print will output the statement to the browser. In contrast, echo will output the statement to the browser and return the result to the calling program.
- How are PHP and HTML able to interact?
Expected answer: PHP code is embedded into HTML documents using special tags called pre-processors. The web server converts these pre-processors into valid HTML, which then sends them back to the browser as part of the page's response.
As a result, PHP scripts can produce dynamic web pages without requiring any special client software other than a standard web browser.
- What is the parser in PHP?
Expected answer: The parser is a PHP engine component that analyses your script's source code and generates a parse tree. Other components of the PHP engine then process the parse tree.
The parser has two main tasks:
- Convert the source code's textual representation into an abstract syntax tree (AST).
- Check for errors in your code (syntax errors).
- What are traits in PHP?
Expected answer: PHP traits are similar to interfaces in Java, but they are more powerful. They are not classes but a way to group functionality into a single place.
Traits allow you to factor out common functionality into a reusable class or interface. This is particularly useful if you want to extend another class but do not want to modify it directly. In other words, when you inherit from a trait, you get all the methods defined in the trait without needing to re-implement them.
- What is the difference between PHP and ASP.NET?
Expected answer: PHP is a powerful programming language that allows you to create dynamic websites easily. It is not a fully object-oriented programming language but offers object-oriented features (such as classes, methods and properties). PHP is known for its ease of use and flexibility in terms of its range of functions and the speed at which it runs.
ASP.NET is an entirely different beast, which relies on compilation rather than interpretation to run your code. It uses Microsoft's Common Language Runtime (CLR) for this purpose, which means that all programs written in any .NET language will be compiled into Common Intermediate Language (CIL) before being executed by the CLR.
- How does path traversal work in PHP?
Expected answer: Path traversal is a type of attack that allows an attacker to access files and directories outside the intended directories. It's a common issue with PHP applications, especially when using user-supplied data improperly.
- Explain the steps to create a new database with MySQL and PHP
Expected answer: The following are the steps to create a new database with MySQL and PHP:
Step 1: Connect to your database using the phpMyAdmin tool.
Step 2: Click on Databases.
Step 3: Click on Create new database button in the top toolbar.
Step 4: Enter the name of your database in the Database name text box and click the Go button to create it.
- Generally speaking, explain the steps needed to create API in PHP
Expected answer: There are several steps involved in the creation of an API in PHP.
First, you need to create a database for your application. To build this database, you can use a database management system like MySQL or PostgreSQL.
Next, you need to write the code that will be used as the basis of your API. This is usually written in PHP and interacts with a database to get information from it.
Then, you need to set up your server to accept requests from other programs (often called clients). This process is called reverse proxying or front-ending.
Finally, you can start writing clients for the API so that other applications can use its services.
Why should you hire a PHP developer?
There are many reasons why you should hire a dedicated PHP developer part-time, full-time, or to work on a per-project basis. Here are some of them:
Improved turnaround time: PHP developers can improve turnaround times for application project deliveries and improve resource spending efficiency as well. Hiring a full team of dedicated PHP developers ensures the best possible project quality within the shortest amount of time.
Exceptional skills: Their in-depth technical expertise allows PHP developers to perform crucial tasks, develop highly performant web applications and websites, and work behind the scenes to ensure a smooth product deployment and effortless execution of all necessary app/website functionalities.
Unparalleled versatility: The open-source nature of the language is a definitive fan-favorite among all PHP developers worldwide. In fact, PHP can be installed in mere minutes without spending as much as a dime. Given its platform-independency, it can quickly overtake all your previously-used frameworks and become the key development tool in everything your company does. PHP can run on Windows, UNIX, Linux, macOS, and it supports all major web servers and most popular browsers as well.
Freedom to work from anywhere: PHP devs (and all developers in general) don’t need an office to be productive; they can conduct their work (work remotely) from anywhere they feel like doing so! All they need is a relatively fast device (my personal recommendations are either a medium-tier Mac or a ThinkPad), internet connection, and an organic snack to keep those blood sugar levels in check. You can monitor their progress, share ideas, and look into the code yourself—all done remotely!
Vibrant community: Sometimes, a PHP developer can run into a relatively difficult problem to solve on their own. This is where the active PHP community comes in to save the day. A quality PHP developer will have access to (and develop friendships with) numerous communities that include a vast (and growing) number of expert PHP devs. Through them, you will receive a tenfold increase in the ability to problem-solve your PHP projects with ease.
Talented PHP developers available now
Professional Symfony and PHP developer with over five years of experience in software development.
Full stack Developer
Web developer with 15+ years of work experience both in back-end and front-end.
Yunus Bora E.
Full-stack Developer with focus on PHP/Laravel
Senior PHP Developer
Alp is a talented PHP developer with 20+ years of software engineering experience. He is exceptionally skilled in mobile development for iOS and Android devices.
Why use PHP?
PHP is the open-source scripting language for web development. Created back in 1994, PHP stands the test of time and remains the most-used scripting language on the web. PHP can be deployed on most web servers, works with different databases, and which makes it a go-to language for web projects.
How is PHP used?
PHP is used for server-side programming for websites and web apps of any size and complexity. PHP code runs server-side to produce HTML pages that are sent and displayed in the browser. PHP scripts can be embedded in the HTML to generate dynamic content and interactive UI elements for web pages. It can also be used for command-line scripting and client-side graphical user interface (GUI) applications.
What is a PHP framework?
By using PHP frameworks, developers get the basic structure and must-have functionality for your future web app out-of-the-box. Having the common code pre-written, they can quickly customize it and switch to building unique features of your app. Among over a hundred PHP frameworks, Laravel, Symfony, CodeIgniter, CakePHP, and Zend are the most popular. All of them aim to help you reduce the development time and build more stable and standardized apps.
Does PHP have a future?
Today 8 out of 10 websites run PHP on the backend. It’s not a surprise because WordPress, the most popular CMS in the world, has PHP under the hood. Apart from that, PHP is often picked for enterprise websites as a proven and stable technology with a huge talent pool of experienced developers. With new versions of PHP released regularly and supported long-term, you can be sure that PHP continues to evolve and is not going anywhere.
What websites use PHP?
According to W3techs server-side programming languages usage statistics, today, PHP is used by 79.1% of websites. This number includes giants, like Wikipedia, Facebook, and Slack, as well as millions of small websites created with WordPress, Drupal, and Joomla CMSs.
Most common PHP frameworks
PHP is a very popular (and broadly prevalent) programming language used by more than 80% of websites worldwide. Due to the complexity of modern websites, developers are now faced with the challenge of writing hundreds of thousands of lines of code to get even a single app going. Thankfully, the emergence of a variety of PHP frameworks makes building (and managing) web applications now easier than ever. One of the most popular PHP frameworks for web development is Laravel. It’s fast, secure, and easy to learn, featuring a vast environment of additional tools and modules to assist in all application development stages. Other notable (and high-performing) PHP frameworks include Symfony, CodeIgniter, Zend Framework, and more.
Writing PHP code can sometimes be an arduous, demanding, and challenging task. Therefore, PHP developers can be put in a position to look for alternative ways to achieve the same result without compromising on quality and speed. Thankfully however, today developers can use PHP libraries to reduce application development time and focus on some of the more important aspects of website design, like improving the overall functionality of the site or making sure that everything works as expected on the client-side of the fence. Some of these include PHP Captcha for creating automated audiovisual CAPTCHAs, Services_JSON for transmitting data, Mink for testing, and perhaps our favorite: Faker for performing stress tests with automatically generated fake data. In short, there is no shortage of quality PHP scripts, tools and libraries to optimize application functionality and reduce PHP development time.
Best uses of PHP
PHP can be used to build a variety of web applications, including web pages, content management systems, data representations (charts, graphs, plots), and even desktop-based applications such as a GUI (Graphical User Interface) for Windows, Linux, some UNIX iterations, and macOS. Additionally, PHP also supports the majority of the most popular web servers today, including Apache, IIS, and more, while simultaneously offering the freedom of picking a preferred operating system and a web server. In terms of programming logic, PHP is capable of dishing out both object-oriented programming (OOP) and procedural programming paradigms, depending on the nature of your project. Finally, PHP can be used to leverage a wide range of databases to create a database-ready web page with MySQL, PDO, and CouchDB support.