Welcome to PHP

a PHP elePHPant by Drew McLellanEvery day new developers discover the power of PHP and start looking for resources to help them learn more. It would be impossible to gather a complete list of all the resources, people, and projects that are useful to developers new to PHP. However, I decided it was time to put together a list designed to be starting point.

Ok, so all we need on the Internet is one more list. That having been said, I couldn’t think of a better way to organize this data other than into a list of lists. If you hate lists, sorry. Don’t pass it around, it’s the only way I’ll learn.

Otherwise, here it is, presented to you in all its glory. If you like it, if you know someone new to PHP, please share it. I do hope that it is useful to anyone and everyone looking to get more involved or learn more. As the title says, Welcome to PHP! :)

Language Resources

There are three pillars that make PHP great. The language itself is the first of these three pillars. These resources related directly to the PHP language itself.

  • PHP Homepage
    This page is your starting point for all PHP. Everything is there, it’s just sometimes hard to find.
  • Download PHP
    Download the current PHP versions here. This is largely for those who want to build from scratch. If you are using an OS with a package manager, you are probably better off installing using that instead.
  • PHP Requests for Comments
    These are the discussions on changes that have been proposed for the language.

Documentation

The second pillar that makes PHP great is the documentation. The PHP documentation is the most complete and user-friendly language documentation you will find for any programming language. Still, there are other resources to help you when you get stuck or need another point of view.

  • PHP Documentation
    Start here. Always, start here. PHP has a fantastic group of volunteers who keep the manual up-to-date and easy to use. Chances are good that you can find the answer you are looking for here.
  • PHP the Right Way
    Started and still maintained by Josh (@codeguy) Lockhart, PHP the Right Way is a great read for every PHP developer, regardless of how many years of experience you have. If you are new to PHP, this document is a great starting point.

Community

The third pillar of PHP is the PHP community itself. You will never find a more welcoming or nurturing group of developers than the PHP community. The community gathers together both in person and online to talk shop several different ways. These are the community related resource for PHP.

  • User Groups
    PHP has user groups meeting worldwide. This site links to all of the ones that have taken the time to register. Check it out. Zoom the map into your area locally and see if you have a PHP User Group in your area. (Hint, if you don’t see a PHP User Group in your area, start one!)
  • PHP Conferences
    Every PHP developer should attend at least one conference in their career. It will open your eyes to whole new worlds, help you meet new people, and send you back to your day job with a head full of new ideas and solutions. Check out our list of conferences world wide, find one that interests you, and get a ticket. You won’t be sorry.
    Our list is crowd-sourced. If you see a conference missing, fork the DevZone Conferences Page repo and submit a PR.
  • Nomad PHP
    If you don’t have a local user, or for some reason you can’t participate in your local PHP User Group, we welcome you to join us and participate in Nomad PHP.
  • PHP Podcasts
    Podcasts are a great way to keep up with the community, the language, conferences, and just about everything revolving around PHP. We are blessed to have some great podcasts in the PHP community. PHP Podcasts maintains a list of all the ones they know about. If your favorite isn’t listed, suggest it to them.
  • People
    It is rare to meet a PHP developer who isn’t willing to help someone when asked. That is one of the awesome things about the PHP community. That having been said, the community does have it’s “connectors”. These aren’t the people who know everything, they are the ones that know everyone. If you are stuck on a problem or you need to reach out to someone in particular, these are the people who can probably help you. These are in no particular order.
    NOTE: Yes, this is a very incomplete list. Did I miss your favorite connector in the PHP community? Let me know by posting a comment to this page. I’ll consider adding them. Also, this list is VERY North America and Europe centric because those are the people I know best. Let me know who outside those regions should be on the list.

Forums

PHP has many online forums where developers gather and share ideas, questions, and answers. These are a few of the most popular.

  • reddit/r/php
    One of the most active places to discuss PHP is Reddit. If you are unfamiliar with Reddit, read for a few weeks before you jump in and start discussing. It is active, but not always friendly. If you don’t want to participate, it is still a great place to keep an eye on what is going on in PHP. New projects are announced there, new RFCs are announced, even updates to frameworks are posted here.
  • Stack Overflow PHP
    Stack Overflow has become the defacto answer for programmers of all stripes, and PHP is no different. When you have a specific question and you search for it on your favorite search engine, you usually find that someone has already asked it on Stack Overflow.
  • PHPC LinkedIn Group
    This group isn’t as active as it should be but there are a few good articles posts ever week. It’s worth a visit every now and then just to make sure you are up to date. NOTE: Myself and several others moderate this list heavily. We do our best to keep the spam and low-content posts out.
  • php-mentoring.org
    If you are looking for a mentor on a specific topic, or you want to give back to this awesome community by being a mentor on a specific topic, check out php-mentoring.org.
  • Sitepoint PHP Forums
    Active community of PHP developers willing to answer questions.

Other PHP Related Resources

  • PHPUnit – Unit testing is now a fundamental skill that all developers need to master. There are several Unit Testing frameworks out there and you choose the one that best suits your style of development. The granddaddy of them all though is PHPUnit by Sebastian Bergman. If you don’t know where to start, start with this one.
  • Composer – few tools have affected how developers build applications in PHP like Composer. (The other two are both listed here, PHPunit and X-Debug) Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. If you are just starting out in PHP, this is the first tool you need to install and spend some time learning.
  • Packagist.org – Ever wondered “Is there already code out there that will…?” First, chances are REAL GOOD that the answer is YES. Second, if you want to find that code, you need visit Packagist.org. Yes, you could spend your time scouring Github, GitLabs, and Bitbucket. Even if you find what you are looking for, you then have to hope that you can install via Composer.
  • X-Debug – Look, var_dump($variable);die(); is SO last week. These days if you are going to debug complex applications, you are going to need a world-class tool. That tool is X-Debug. it works with most IDEs and it will save you hours and even days on your projects. Download it, install it, and learnt use it. You are welcome.
  • PHP Quality Assurance – A lit of tools that help you with QA on your projects.

Frameworks

PHP is blessed with a plethora of frameworks ranging for the wildly popular general purpose to the niche players. Regardless of your skill level or task, you should be able to find a framework to help you get your task done.

  • Aura
    Maintained by Paul M. Jones, Aura was the first PHP framework to break into decoupled packages, instead of shipping as a monolithic framework. Most PHP frameworks have now adopted this philosophy.
    (Aura on Github)
  • Cake PHP
    Another framework that has been around for a while and gone through several development cycles.
    (CakePHP on Github)
  • Zend Expressive
    PSR-7 Middleware in Minutes
    (Zend Expressive on GitHub)
  • Laravel
    A popular PHP framework developed by Taylor Otwell.
    (Laravel on GitHub)
  • Slim
    Slim PHP is one of the more popular micro frameworks. While it can be used for building a web application, it really shines at building APIs.
    (Slim on Github)
  • Symfony
    Symfony is one of the oldest PHP frameworks out there and still one of the most popular. Not only is it a full-stack framework but it is also a loosely organized collection of cases and packages.
    (Symfony on GitHub)
  • yiiFramework
    Yii is a high-performance PHP framework best for developing Web 2.0 applications.
    (yiiFramework on GitHub)
  • Zend Framework
    Another one of the oldest PHP frameworks still being maintained. Like many other PHP frameworks, Zend Framework is now a loosely-coupled series of components.
    (Zend Framework on Github)

News

  • PHP Architect
    As far I as can tell, PHP Architect is the oldest PHP magazine in publication. They feature articles from community members from around the world. It is available in both dead tree and online editions.
  • phpdeveloper.org
    phpdeveloepr.org is the granddaddy of PHP news sites. It has been in continuous publication since 2001 and is maintained as a labor of love by Chris (@enygma) Cornutt. (Give him a shoutout!)
  • phpweekly.com
    PHP Weekly is a weekly email newsletter. It is full of links to blog posts, projects, videos, podcasts, and more delivered directly to your inbox.
  • Planet PHP
    One of the original “planet” aggregator sites, Planet PHP brings together blogs from around the PHP ecosystem into a single feed.
  • PHP Annotated Monthly

Learning

So what’s up with the ElePHPants

The ElePHPant is the mascot of PHP. The original logo was designed by Vincint (@Elrubio) Pontier in 1998. Somewhere around 2007, the French company Nexen produced the first stuffed ElePHPant as a giveaway for conferences. Since then many variations and colors have been produced both for sale and as confernece swag. A (mostly) complete list of all the variations, and their origins, can be found at A Field Guide to Elephpants. These days some conferences still produce ElePHPants as give-aways but you can also purchase them from varioua outlets.

Wrap-up

PHP is a big topic and the PHP community is huge and ever changing. It is impossible to create a single comprehensive list of this nature. Even if we could, it would be overwhelming to anyone trying to get started in PHP. Therefore, I have limited what I have listed here to just the essential people, projects, and resources necessary to get people started. Once you have worked through this list, you will undoubtedly have discovered more people, places, and projects that you rely on for help. When that happens, create your own list! Help others getting into PHP by sharing the resources you have found, like I have done here.

Get Involved!

Yes, there are entire categories of ways to get help that I have left off here, conferences, Slack, IRC, etc. Even among the categories I have have listed, there are people, groups and projects left off. No one or thing was left off on purpose. If I have left your favorite project or person off, post a comment and I’ll consider adding them. Make sure you tell me why the person or project you are suggesting should be included.

Photo Credit:
elePHPant by: Drew McLellan Used by permission.