PHP Advent Calendar Day 11

11 Dec 2007

Today's entry is provided by Ben Ramsey.

Ben Ramsey

Ben Ramsey
Ben Ramsey is a software architect at Schematic and the founder of the Atlanta PHP user group. He is the co-author of php|architect's Zend PHP 5 Certification Study Guide. He also spends way too much time in #phpc.
Atlanta, Georgia

I frequently receive email messages, am asked at conferences or Atlanta PHP meetings, or am approached on IRC about how one can get involved in the PHP community. Being involved means different things to different people. Some just want help solving a particular problem. Others want to connect with fellow PHP aficionados and build mutually beneficial friendships, helping each other grow into better programmers. Still, there are those who want to contribute back to the language by devoting their time and skills to the betterment of a relevant project such as a PECL extension, a PEAR package, or PHP itself; writing documentation for the PHP manual; or writing articles and tutorials to help other developers.

As you can see, it's difficult to sum up with one or two pointers the vastness of the PHP community and how one can get plugged into it. People's interests and desired levels of involvement differ. Indeed, there are hundreds upon hundreds of PHP forums and help sites. It's often difficult to single out why one is better than the other. Still, there are voices that rise above the din, and, as my gift to you this holiday season, I would like to break down these outlets for getting plugged in according to the three main levels of interest I mentioned earlier: getting PHP help, connecting with the PHP community, and contributing back to the PHP community.

I will certainly miss something, so please feel free to leave a comment with your own suggestions.

Getting Help

Most newcomers to PHP just want to get help, and they want help quickly. If this is you, then you're in luck. Below are some of the most excellent resources a community can offer.

PHP Manual
I know it's become cliché to say things like RTFM in response to questions on the PHP mailing list or in a forum or IRC channel, but the fact of the matter is that the PHP manual is the best and most comprehensive manual for any programming language. Use it!
PHP Mailing Lists
The PHP general user list is still the quintessential place to go for help. Some very smart PHP developers, many of whom are PHP developers by profession, frequent the list. Its high traffic almost guarantees a quick response to your questions. Be sure to search the list archives first; your question may already be answered.
##php on Freenode
If you want help in real-time, the ##php channel on Freenode is an excellent place to find help. With about 500 people present at any time, this channel has become the primary, yet unofficial, PHP help channel.
I am often asked about PHP training courses. While I do know that some local colleges and universities might provide PHP training courses (check with your community college; I know mine has PHP and MySQL courses as part of their continuing education program), the two most prominent places to get PHP training online are through php|architect and Zend.

Connecting with the Community

There are numerous ways to connect with the PHP community. The places I list here are merely from my own experience.

Planet PHP
Perhaps one of the best ways to connect with the community is to read what the community has to say. Planet PHP is an aggregation of many of the prominent blogs from around the PHP community. You'll read PHP tutorials and HOWTOs, thoughts about technology, plans for the future of PHP, and even plans for the weekend. is the PHP community's premier news site. Collecting the top news stories from around the PHP community on a daily basis, keeps the PHP community informed and up-to-date on the progress of various community projects and events.
Although reading php|architect can be considered a way to get help, I consider it an interface to the community, which is why I list it here. It offers high-quality articles and commentary from the PHP industry's top professionals and core language contributors. For unique insights into the PHP community, be sure to check it out.
For last, I save the PHP Community project. This project began in December 2003. In my opinion, this was the most promising community project that never quite took shape, and it has a legacy that no other community site can rival. It lives on as the #phpc channel on Freenode. On this channel, you will find many of the movers and shakers of the PHP community hanging out and chatting about everything from database abstraction layers to beer. Keep in mind that this is not a help channel; it is a community channel! And keep this project's web site on your radar as well; I hope to see new and exciting things come of it in the coming year.

Contributing Back to the Community

Finally, if you fall into the group of those wishing to give back to the community, there are a few important places you'll want to visit and some steps you might want to take.

Start a Blog
This is not necessarily the first step to take, but it's usually the first thing I tell people who want to get involved in the PHP community in a big way. Start a blog, make a few friends (see the #phpc channel above), get on their blog rolls, help others by writing about your experiences and how you solved particular problems, and share informed opinions on topics that affect the community. This is a great way to get involved.
Develop Content for the Community
Developing content for the community is a great way to give back. You can write articles for any of the aforementioned publications. (They pay.) Zend Developer Zone also accepts podcast submissions. In addition, many members of the community can connect you with book publishers, should you have the itch to write a book.
Contribute to the PHP Documentation
Another great way to get involved is to help improve the PHP documentation. As I mentioned earlier, the PHP documentation is perhaps the best documentation of any programming language, but that's because of the community of volunteers contributing their time to document new language features and improve the existing documentation. The documentation team needs you!
Write or Maintain a PECL Extension or PEAR Package
There are many, many PECL extensions and PEAR packages that have fallen dormant. Contact the maintainers or the appropriate mailing list to take over management of a dormant project, or submit your own extension or package for review.
Fix PHP Bugs
Search through the open bug list and find a bug you can fix. Check out the PHP source, fix the bug, and submit a patch to the bug report.
Contribute to the PHP Core
Since PHP is a community project, you may contribute to the PHP core itself, provided you have a good idea and those on the internals mailing list want to accept your patch. Check out the PHP source, modify it to include your contribution, and submit the patch to the internals mailing list with a subject line that starts with [PATCH]. Before doing so, my advice is to hang out on the internals mailing list for a while and get a feel for the topics and conversation there. You don't need a reputation in the PHP community to submit a patch, but it doesn't hurt. :-)

When I was transitioning from Classic ASP development to another language, I came very close to using Java and JSP as my tools of choice for developing web applications. However, the PHP community is what drew me to this language. Several years later, the PHP community is still the most open and welcoming community for new and seasoned developers alike. Finding an inroad into the community is not difficult. All it takes is a little initiative.

Welcome to the community!