internals:references

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
internals:references [2012/03/20 18:51]
sixd Add a few of Derick's blog posts
internals:references [2017/09/22 13:28] (current)
Line 1: Line 1:
-====== External References about Maintaining and Extending PHP ====== +====== References about Maintaining and Extending PHP ======
- +
-**Books** +
- +
-  * [[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)+
  
 **Blog Posts and Articles** **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)   * 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://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://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)   * [[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)
-  * Series by Kristina Chodorow (2011) +  * PHP Extensions Made Eldrich Series by Kristina Chodorow (2011) 
-    * [[http://www.snailinaturtleneck.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-installing-php/|PHP Extensions Made Eldrich: Installing PHP]] 
-    * [[http://www.snailinaturtleneck.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-hello-world/|PHP Extensions Made Eldrich: Hello, World!]] 
-    * [[http://www.snailinaturtleneck.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-php-variables/|PHP Extensions Made Eldrich: PHP Variables]] 
-    * [[http://www.snailinaturtleneck.com/blog/2011/08/11/php-extensions-made-eldrich-classes/|PHP Extensions Made Eldrich: Classes]]+    * [[http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-classes/|PHP Extensions Made Eldrich: Classes]] 
 +  * Internals articles by Julien Pauli 
 +    * [[http://jpauli.github.io/|Julien Pauli's internal blog]]
   * [[http://derickrethans.nl/valgrinding-shared-modules.html|Valgrinding shared modules]] Derick Rethans (2011)   * [[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/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://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://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/|Wrapping C++ Classes in a PHP Extension]] Zend DevZone article (2009)
-  * [[http://derickrethans.nl/phps-segmentation-faults-gdbfu.html|PHP's segmentation faults GDB-fu]] Derick Rethans (2011)+  * [[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)   * 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/303/extension-writing-part-i-introduction-to-php-and-zend/|Extension Writing Part I: Introduction to PHP and Zend]]
Line 27: Line 32:
     * [[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/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]]     * [[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** **Conference Slides**
  
-  * [[http://talks.somabo.de/200903_montreal_php_extension_writing.pdf|PHP Extension Writing]] Conference slides by Johannes Schlüter and Marcus Börger (2009) +  * [[http://blog.ircmaxell.com/2013/06/php-under-hood-slides.html|PHP, Under The Hood]] by Anthony Ferrara (2013) 
-  * [[http://www.php.net/~wez/extending-php.pdf|Extending PHP]] Conference slides by Wez Furlong (2003)+  * [[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
 +  * [[http://fr.slideshare.net/jpauli/php-extensionsworkshop|PHP extensions workshop]] by Julien Pauli (2015) 
 + 
 +**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. 
 +  * [[https://github.com/jpauli/PHP_Extension_Workshop|A fork of PHP Extension Workshop]] by Julien Pauli. 
 + 
 +**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)
internals/references.1332269485.txt.gz · Last modified: 2017/09/22 13:28 (external edit)