| Previous revisionNext revision |
— | internals:references [2015/01/08 00:02] – bjori |
---|
| ====== References about Maintaining and Extending PHP ====== |
| |
| **Blog Posts and Articles** |
| * [[review_comments|Common comments from reviewing PECL proposals]] |
| * [[http://nikic.github.io/2012/07/27/How-to-add-new-syntactic-features-to-PHP.html|How to add new (syntactic) features to PHP]] Nikita Popov (2012) |
| * [[http://arr.gr/blog/2012/06/on-php-extensions/|Blog post on what a PHP Extension is]] Shahar Evron (2012) |
| * Blog Series on Internals by Anthony Ferrara & Nikita Popov (2012) |
| * [[http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html|PHP's Source Code For PHP Developers - Part 1 - The Structure]] |
| * [[http://nikic.github.com/2012/03/16/Understanding-PHPs-internal-function-definitions.html|Understanding PHP's internal function definitions (PHP's Source Code for PHP Developers - Part 2)]] |
| * [[http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html|PHP's Source Code For PHP Developers - Part 3 - Variables]] |
| * [[http://nikic.github.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html|Understanding PHP's internal array implementation (PHP's Source Code for PHP Developers - Part 4) ]] |
| * [[https://github.com/mytskine/php-src/wiki/bug40531-mbsubstr|Fixing a bug in php-src]] François Gannaz describes making his very first bug fix (2012) |
| * PHP Extensions Made Eldrich Series by Kristina Chodorow (2011) |
| * [[http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-installing-php/|PHP Extensions Made Eldrich: Installing PHP]] |
| * [[http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-hello-world/|PHP Extensions Made Eldrich: Hello, World!]] |
| * [[http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-php-variables/|PHP Extensions Made Eldrich: PHP Variables]] |
| * [[http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-classes/|PHP Extensions Made Eldrich: Classes]] |
| * Internals articles by Julien Pauli (2011/2012 - french) |
| * [[http://julien-pauli.developpez.com/tutoriels/php/sapis/|PHP's SAPI explained]] |
| * [[http://julien-pauli.developpez.com/tutoriels/php/internals/zend-memory-manager/|PHP Memory and Zend Memory Manager]] |
| * [[http://julien-pauli.developpez.com/tutoriels/php/internals/variables/|PHP's variables from internal]] |
| * [[http://julien-pauli.developpez.com/tutoriels/php/internals/bases-creer-extension/|Introduction to PHP extensions writing]] |
| * [[http://julien-pauli.developpez.com/tutoriels/php/internals/presentation/|Quick overview of PHP Engine]] |
| * [[http://julien-pauli.developpez.com/tutoriels/php/internals/hashtables/|Hashtables explained]] |
| * [[http://derickrethans.nl/valgrinding-shared-modules.html|Valgrinding shared modules]] Derick Rethans (2011) |
| * [[http://derickrethans.nl/debugging-variables.html|Debugging Variables]] Derick Rethans (2011) |
| * [[http://derickrethans.nl/phps-segmentation-faults-gdbfu.html|PHP's segmentation faults GDB-fu]] Derick Rethans (2011) |
| * [[http://schlueters.de/blog/archives/141-References-and-foreach.html|References and foreach]] Blog post by Johannes Schlüter (2010) |
| * [[http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/|Wrapping C++ Classes in a PHP Extension]] Zend DevZone article (2009) |
| * [[http://blog.golemon.com/2008/01/understanding-opcodes.html|Understanding Opcodes]] Blog post by Sara Golemon (2008) |
| * [[http://blog.golemon.com/2007/01/youre-being-lied-to.html|You're being lied to]] Blog post on references by Sara Golemon (2007) |
| * [[http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html|What the heck is TSRMLS_CC, anyway?]] Blog post by Sara Golemon (2006) |
| * [[http://blog.golemon.com/2006/05/last-month-at-phptek-i-gave.html|Compiled Variables]] Blog post by Sara Golemon (2006) |
| * Zend DevZone Series by Sara Golemon (2005, 2006) |
| * [[http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/|Extension Writing Part I: Introduction to PHP and Zend]] |
| * [[http://devzone.zend.com/317/extension-writing-part-ii-parameters-arrays-and-zvals/|Extension Writing Part II: Parameters, Arrays, and ZVALs]] |
| * [[http://devzone.zend.com/318/extension-writing-part-ii-parameters-arrays-and-zvals-continued/|Extension Writing Part II: Parameters, Arrays, and ZVALs (continued)]] |
| * [[http://devzone.zend.com/446/extension-writing-part-iii-resources/|Extension Writing Part III: Resources]] |
| |
| **Conference Videos** |
| |
| * [[http://www.youtube.com/watch?v=bxxIXPc9IR8|PHP UK Conference 2012 - PHP under the hood]] Johannes Schlüter at PHP UK Conference 2012 (London, UK) (2012) |
| |
| **Conference Slides** |
| |
| * [[http://blog.ircmaxell.com/2013/06/php-under-hood-slides.html|PHP, Under The Hood]] by Anthony Ferrara (2013) |
| * [[http://talks.somabo.de/200903_montreal_php_extension_writing.pdf|PHP Extension Writing]] by Johannes Schlüter and Marcus Börger (2009) |
| * [[http://www.php.net/~wez/extending-php.pdf|Extending PHP]] by Wez Furlong (2003) |
| |
| **Worked Examples** |
| * [[https://github.com/patrickallaert/PHP_Extension_Workshop/branches|PHP Extension Workshop]] by Patrick Allaert. Click on one of the "compare" buttons. Every branches correspond to a specific addition to an empty extension. |
| |
| **Official Documentation/Source** |
| |
| * Various README files within the [[http://git.php.net/?p=php-src.git;a=tree|php-src]] like: |
| * [[http://git.php.net/?p=php-src.git;a=blob_plain;f=README.PARAMETER_PARSING_API;hb=HEAD|README.PARAMETER_PARSING_API]] |
| * [[http://git.php.net/?p=php-src.git;a=blob;f=README.UNIX-BUILD-SYSTEM|README.UNIX-BUILD-SYSTEM]] |
| * [[http://git.php.net/?p=php-src.git;a=blob;f=README.STREAMS|README.STREAMS]] |
| * [[http://php.net/internals2|http://php.net/internals2]] |
| * [[https://wiki.php.net/doc/howto/pecldocs|HOWTO create documentation for a PECL extension]] |
| * [[:internals]] documentation within this wiki |
| |
| **Books** |
| |
| * [[http://www.phpinternalsbook.com/|PHP Internals Book]] Online book by Julien Pauli, Anthony Ferrara, Nikita Popov (2013, work in progress) |
| * [[http://www.amazon.com/Extending-Embedding-PHP-Sara-Golemon/dp/067232704X|Extending and Embedding PHP]] Sara Golemon's book on PHP (2006) |
| * [[http://www.amazon.com/Advanced-PHP-Programming-George-Schlossnagle/dp/0672325616|Advanced PHP Programming]] George Schlossnagle's book has several relevant chapters (2004) |