PHP internals is a great place to get connected to a passonate and vibrant community of coders. But knowing where to start can be difficult since much of the information is locked away in "tribal knowledge". This document aims to break down the barrier of entry for getting started with the lovely PHP internals community. PR's are welcome! :)
Possibly the highest barrier to entry is simply understanding "how things work" in PHP internals.
The RFC wiki is where all the proposed changes are made to PHP.
- Have an idea for PHP? Create an RFC!
PHP internals has an ACL called "karma". Depending on your level of karma, you will be permitted to update the wiki, push to the docs SVN, push to php-src, etc.
- @TODO: Find a good resource to explain the karma system in detail.
- Requesting karma (scroll down to "Request a Git account" section)
- Karma access control document
Where the internals folks hang out.
- Subscribe to the internals mailing list
- Watch the internals mailing list from afar
- Room 11 chat room
- @TODO: Add IRC channels
- PHP Conferences
PHP is written in C.
- PHP 5: Building extensions
- PHP 5: Extending & Embedding PHP by Sara Golemon on writing extensions for PHP 5.x.
- Sometimes learning by example is helpful. Take a look at some PR's like the password_*() PR to see how extensions tie into source.
- PHP 7: Virtual Machine
- PHP 5: Getting into the Zend Execution engine
- Grok seems to be down right now :/
- Alternative Grok
- Official PHP Manual Contribution Guide
- Online GUI documentation editor
- PhD: The PHP docs generator
- Guide: How to contribute to PHP documentation
PHP has a black-box testing tool called run-tests. The tests (.phpt
files) are written in PHP so it's a great entry point for newbies to get started with PHP internals.
- Docs for writing tests
- The .phpt sections reference
- Code coverage website (helps you find untested code)
The PHP bug tracking system is where all bugs for PHP are tracked. We need help triaging bugs!
- @TODO: Add resources for triaging & fixing bugs
Nearly all the websites in the PHP ecosystem are open source. Send some PR's to make them better! :)