CINXE.COM
PHP: internals:references
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PHP: internals:references</title> <meta name="generator" content="DokuWiki"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="internals,references"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="PHP Wiki"/> <link rel="start" href="/"/> <link rel="contents" href="/internals/references?do=index" title="Sitemap"/> <link rel="manifest" href="/lib/exe/manifest.php"/> <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="Current namespace" href="/feed.php?mode=list&ns=internals"/> <link rel="alternate" type="text/html" title="Plain HTML" href="/_export/xhtml/internals/references"/> <link rel="alternate" type="text/plain" title="Wiki Markup" href="/_export/raw/internals/references"/> <link rel="canonical" href="https://wiki.php.net/internals/references"/> <link rel="stylesheet" href="/lib/exe/css.php?t=phpnet&tseed=da24444b949712713b97802ec0312cde"/> <!--[if gte IE 9]><!--> <script >/*<![CDATA[*/var NS='internals';var JSINFO = {"id":"internals:references","namespace":"internals","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0}; /*!]]>*/</script> <script src="/lib/exe/jquery.php?tseed=f0349b609f9b91a485af8fd8ecd4aea4" defer="defer">/*<![CDATA[*/ /*!]]>*/</script> <script src="/lib/exe/js.php?t=phpnet&tseed=da24444b949712713b97802ec0312cde" defer="defer">/*<![CDATA[*/ /*!]]>*/</script> <!--<![endif]--> <link media='all' rel='stylesheet' href='//shared.php.net/styles/defaults.css?filemtime=1630005818'/> <link media='all' rel='stylesheet' href='//shared.php.net/styles/wiki.css?filemtime=1630005818'/> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,400italic,600italic|Source+Code+Pro&subset=latin,latin-ext" rel="stylesheet"> <link rel="shortcut icon" href="//php.net/favicon.ico"> <!--[if lt IE 9]> <script src="//shared.php.net/js/html5shiv.js"></script> <![endif]--> </head> <body id=""> <div class="wrap"> <header class='clearfix'> <div id="mainmenu-toggle-overlay"></div> <input type="checkbox" id="mainmenu-toggle"> <nav class="fullscreen"> <div class="mainscreen"> <a href="/" class="home"><img src="//php.net/images/logo.php?" width="48" height="24" alt="php"><span class="subdomain"></span></a> <ul> <li><a href="?do=login">Login</a></li> <li><a href="?do=register">Register</a></li> </ul> </div> <div class="secondscreen"> <form method="get" action="/start"> <input type="search" placeholder="Search" name="id" class="search"> <input type="hidden" name="do" value="search"> </form> </div> </nav> </header> <div id="flash-message"></div> <nav id="megadropdown"></nav> <section class="fullscreen clearfix"> <section id="breadcrumbs"> <nav> <span class="bchead">You are here: </span><span class="home"><bdi><a href="/start" class="wikilink1" title="start" data-wiki-id="start">start</a></bdi></span> › <bdi><a href="/internals/start" class="wikilink1" title="internals:start" data-wiki-id="internals:start">internals</a></bdi> › <bdi><a href="/internals/references" class="wikilink1" title="internals:references" data-wiki-id="internals:references">references</a></bdi></nav> </section> <section class="mainscreen"> <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]--> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_phpnet "> <div class="wrapper group"> <!-- ********** CONTENT ********** --> <div id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>internals:references</span></div> <div class="page group"> <!-- wikipage start --> <h1 class="sectionedit1" id="references_about_maintaining_and_extending_php">References about Maintaining and Extending PHP</h1> <div class="level1"> <p> <strong>Blog Posts and Articles</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/internals/review_comments" class="wikilink1" title="internals:review_comments" data-wiki-id="internals:review_comments">Common comments from reviewing PECL proposals</a></div> </li> <li class="level1"><div class="li"> <a href="http://nikic.github.io/2012/07/27/How-to-add-new-syntactic-features-to-PHP.html" class="urlextern" title="http://nikic.github.io/2012/07/27/How-to-add-new-syntactic-features-to-PHP.html" rel="ugc nofollow">How to add new (syntactic) features to PHP</a> Nikita Popov (2012)</div> </li> <li class="level1"><div class="li"> <a href="http://arr.gr/blog/2012/06/on-php-extensions/" class="urlextern" title="http://arr.gr/blog/2012/06/on-php-extensions/" rel="ugc nofollow">Blog post on what a PHP Extension is</a> Shahar Evron (2012)</div> </li> <li class="level1 node"><div class="li"> Blog Series on Internals by Anthony Ferrara & Nikita Popov (2012)</div> <ul> <li class="level2"><div class="li"> <a href="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html" class="urlextern" title="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html" rel="ugc nofollow">PHP's Source Code For PHP Developers - Part 1 - The Structure</a></div> </li> <li class="level2"><div class="li"> <a href="http://nikic.github.com/2012/03/16/Understanding-PHPs-internal-function-definitions.html" class="urlextern" title="http://nikic.github.com/2012/03/16/Understanding-PHPs-internal-function-definitions.html" rel="ugc nofollow">Understanding PHP's internal function definitions (PHP's Source Code for PHP Developers - Part 2)</a></div> </li> <li class="level2"><div class="li"> <a href="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html" class="urlextern" title="http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html" rel="ugc nofollow">PHP's Source Code For PHP Developers - Part 3 - Variables</a></div> </li> <li class="level2"><div class="li"> <a href="http://nikic.github.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html" class="urlextern" title="http://nikic.github.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html" rel="ugc nofollow">Understanding PHP's internal array implementation (PHP's Source Code for PHP Developers - Part 4) </a></div> </li> </ul> </li> <li class="level1"><div class="li"> <a href="https://github.com/mytskine/php-src/wiki/bug40531-mbsubstr" class="urlextern" title="https://github.com/mytskine/php-src/wiki/bug40531-mbsubstr" rel="ugc nofollow">Fixing a bug in php-src</a> François Gannaz describes making his very first bug fix (2012)</div> </li> <li class="level1 node"><div class="li"> PHP Extensions Made Eldrich Series by Kristina Chodorow (2011)</div> <ul> <li class="level2"><div class="li"> <a href="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-installing-php/" class="urlextern" title="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-installing-php/" rel="ugc nofollow">PHP Extensions Made Eldrich: Installing PHP</a></div> </li> <li class="level2"><div class="li"> <a href="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-hello-world/" class="urlextern" title="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-hello-world/" rel="ugc nofollow">PHP Extensions Made Eldrich: Hello, World!</a></div> </li> <li class="level2"><div class="li"> <a href="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-php-variables/" class="urlextern" title="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-php-variables/" rel="ugc nofollow">PHP Extensions Made Eldrich: PHP Variables</a></div> </li> <li class="level2"><div class="li"> <a href="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-classes/" class="urlextern" title="http://www.kchodorow.com/blog/2011/08/11/php-extensions-made-eldrich-classes/" rel="ugc nofollow">PHP Extensions Made Eldrich: Classes</a></div> </li> </ul> </li> <li class="level1 node"><div class="li"> Internals articles by Julien Pauli</div> <ul> <li class="level2"><div class="li"> <a href="http://jpauli.github.io/" class="urlextern" title="http://jpauli.github.io/" rel="ugc nofollow">Julien Pauli's internal blog</a></div> </li> </ul> </li> <li class="level1"><div class="li"> <a href="http://derickrethans.nl/valgrinding-shared-modules.html" class="urlextern" title="http://derickrethans.nl/valgrinding-shared-modules.html" rel="ugc nofollow">Valgrinding shared modules</a> Derick Rethans (2011)</div> </li> <li class="level1"><div class="li"> <a href="http://derickrethans.nl/debugging-variables.html" class="urlextern" title="http://derickrethans.nl/debugging-variables.html" rel="ugc nofollow">Debugging Variables</a> Derick Rethans (2011)</div> </li> <li class="level1"><div class="li"> <a href="http://derickrethans.nl/phps-segmentation-faults-gdbfu.html" class="urlextern" title="http://derickrethans.nl/phps-segmentation-faults-gdbfu.html" rel="ugc nofollow">PHP's segmentation faults GDB-fu</a> Derick Rethans (2011)</div> </li> <li class="level1"><div class="li"> <a href="http://schlueters.de/blog/archives/141-References-and-foreach.html" class="urlextern" title="http://schlueters.de/blog/archives/141-References-and-foreach.html" rel="ugc nofollow">References and foreach</a> Blog post by Johannes Schlüter (2010)</div> </li> <li class="level1"><div class="li"> <a href="http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/" class="urlextern" title="http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/" rel="ugc nofollow">Wrapping C++ Classes in a PHP Extension</a> Zend DevZone article (2009)</div> </li> <li class="level1"><div class="li"> <a href="http://blog.golemon.com/2008/01/understanding-opcodes.html" class="urlextern" title="http://blog.golemon.com/2008/01/understanding-opcodes.html" rel="ugc nofollow">Understanding Opcodes</a> Blog post by Sara Golemon (2008)</div> </li> <li class="level1"><div class="li"> <a href="http://blog.golemon.com/2007/01/youre-being-lied-to.html" class="urlextern" title="http://blog.golemon.com/2007/01/youre-being-lied-to.html" rel="ugc nofollow">You're being lied to</a> Blog post on references by Sara Golemon (2007)</div> </li> <li class="level1"><div class="li"> <a href="http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html" class="urlextern" title="http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html" rel="ugc nofollow">What the heck is TSRMLS_CC, anyway?</a> Blog post by Sara Golemon (2006)</div> </li> <li class="level1"><div class="li"> <a href="http://blog.golemon.com/2006/05/last-month-at-phptek-i-gave.html" class="urlextern" title="http://blog.golemon.com/2006/05/last-month-at-phptek-i-gave.html" rel="ugc nofollow">Compiled Variables</a> Blog post by Sara Golemon (2006)</div> </li> <li class="level1 node"><div class="li"> Zend DevZone Series by Sara Golemon (2005, 2006)</div> <ul> <li class="level2"><div class="li"> <a href="http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/" class="urlextern" title="http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/" rel="ugc nofollow">Extension Writing Part I: Introduction to PHP and Zend</a></div> </li> <li class="level2"><div class="li"> <a href="http://devzone.zend.com/317/extension-writing-part-ii-parameters-arrays-and-zvals/" class="urlextern" title="http://devzone.zend.com/317/extension-writing-part-ii-parameters-arrays-and-zvals/" rel="ugc nofollow">Extension Writing Part II: Parameters, Arrays, and ZVALs</a></div> </li> <li class="level2"><div class="li"> <a href="http://devzone.zend.com/318/extension-writing-part-ii-parameters-arrays-and-zvals-continued/" class="urlextern" title="http://devzone.zend.com/318/extension-writing-part-ii-parameters-arrays-and-zvals-continued/" rel="ugc nofollow">Extension Writing Part II: Parameters, Arrays, and ZVALs (continued)</a></div> </li> <li class="level2"><div class="li"> <a href="http://devzone.zend.com/446/extension-writing-part-iii-resources/" class="urlextern" title="http://devzone.zend.com/446/extension-writing-part-iii-resources/" rel="ugc nofollow">Extension Writing Part III: Resources</a></div> </li> </ul> </li> </ul> <p> <strong>Conference Videos</strong> </p> <ul> <li class="level1"><div class="li"> <a href="http://www.youtube.com/watch?v=bxxIXPc9IR8" class="urlextern" title="http://www.youtube.com/watch?v=bxxIXPc9IR8" rel="ugc nofollow">PHP UK Conference 2012 - PHP under the hood</a> Johannes Schlüter at PHP UK Conference 2012 (London, UK) (2012)</div> </li> </ul> <p> <strong>Conference Slides</strong> </p> <ul> <li class="level1"><div class="li"> <a href="http://blog.ircmaxell.com/2013/06/php-under-hood-slides.html" class="urlextern" title="http://blog.ircmaxell.com/2013/06/php-under-hood-slides.html" rel="ugc nofollow">PHP, Under The Hood</a> by Anthony Ferrara (2013)</div> </li> <li class="level1"><div class="li"> <a href="http://talks.somabo.de/200903_montreal_php_extension_writing.pdf" class="urlextern" title="http://talks.somabo.de/200903_montreal_php_extension_writing.pdf" rel="ugc nofollow">PHP Extension Writing</a> by Johannes Schlüter and Marcus Börger (2009)</div> </li> <li class="level1"><div class="li"> <a href="http://www.php.net/~wez/extending-php.pdf" class="urlextern" title="http://www.php.net/~wez/extending-php.pdf" rel="ugc nofollow">Extending PHP</a> by Wez Furlong (2003)</div> </li> <li class="level1"><div class="li"> <a href="http://fr.slideshare.net/jpauli/php-extensionsworkshop" class="urlextern" title="http://fr.slideshare.net/jpauli/php-extensionsworkshop" rel="ugc nofollow">PHP extensions workshop</a> by Julien Pauli (2015)</div> </li> </ul> <p> <strong>Worked Examples</strong> </p> <ul> <li class="level1"><div class="li"> <a href="https://github.com/patrickallaert/PHP_Extension_Workshop/branches" class="urlextern" title="https://github.com/patrickallaert/PHP_Extension_Workshop/branches" rel="ugc nofollow">PHP Extension Workshop</a> by Patrick Allaert. Click on one of the “compare” buttons. Every branches correspond to a specific addition to an empty extension.</div> </li> <li class="level1"><div class="li"> <a href="https://github.com/jpauli/PHP_Extension_Workshop" class="urlextern" title="https://github.com/jpauli/PHP_Extension_Workshop" rel="ugc nofollow">A fork of PHP Extension Workshop</a> by Julien Pauli.</div> </li> </ul> <p> <strong>Official Documentation/Source</strong> </p> <ul> <li class="level1 node"><div class="li"> Various README files within the <a href="http://git.php.net/?p=php-src.git;a=tree" class="urlextern" title="http://git.php.net/?p=php-src.git;a=tree" rel="ugc nofollow">php-src</a> like:</div> <ul> <li class="level2"><div class="li"> <a href="http://git.php.net/?p=php-src.git;a=blob_plain;f=README.PARAMETER_PARSING_API;hb=HEAD" class="urlextern" title="http://git.php.net/?p=php-src.git;a=blob_plain;f=README.PARAMETER_PARSING_API;hb=HEAD" rel="ugc nofollow">README.PARAMETER_PARSING_API</a></div> </li> <li class="level2"><div class="li"> <a href="http://git.php.net/?p=php-src.git;a=blob;f=README.UNIX-BUILD-SYSTEM" class="urlextern" title="http://git.php.net/?p=php-src.git;a=blob;f=README.UNIX-BUILD-SYSTEM" rel="ugc nofollow">README.UNIX-BUILD-SYSTEM</a></div> </li> <li class="level2"><div class="li"> <a href="http://git.php.net/?p=php-src.git;a=blob;f=README.STREAMS" class="urlextern" title="http://git.php.net/?p=php-src.git;a=blob;f=README.STREAMS" rel="ugc nofollow">README.STREAMS</a></div> </li> </ul> </li> <li class="level1"><div class="li"> <a href="http://php.net/internals2" class="urlextern" title="http://php.net/internals2" rel="ugc nofollow">http://php.net/internals2</a></div> </li> <li class="level1"><div class="li"> <a href="https://wiki.php.net/doc/howto/pecldocs" class="urlextern" title="https://wiki.php.net/doc/howto/pecldocs" rel="ugc nofollow">HOWTO create documentation for a PECL extension</a></div> </li> <li class="level1"><div class="li"> <a href="/internals" class="wikilink1" title="internals" data-wiki-id="internals">internals</a> documentation within this wiki</div> </li> </ul> <p> <strong>Books</strong> </p> <ul> <li class="level1"><div class="li"> <a href="http://www.phpinternalsbook.com/" class="urlextern" title="http://www.phpinternalsbook.com/" rel="ugc nofollow">PHP Internals Book</a> Online book by Julien Pauli, Anthony Ferrara, Nikita Popov (2013, work in progress)</div> </li> <li class="level1"><div class="li"> <a href="http://www.amazon.com/Extending-Embedding-PHP-Sara-Golemon/dp/067232704X" class="urlextern" title="http://www.amazon.com/Extending-Embedding-PHP-Sara-Golemon/dp/067232704X" rel="ugc nofollow">Extending and Embedding PHP</a> Sara Golemon's book on PHP (2006)</div> </li> <li class="level1"><div class="li"> <a href="http://www.amazon.com/Advanced-PHP-Programming-George-Schlossnagle/dp/0672325616" class="urlextern" title="http://www.amazon.com/Advanced-PHP-Programming-George-Schlossnagle/dp/0672325616" rel="ugc nofollow">Advanced PHP Programming</a> George Schlossnagle's book has several relevant chapters (2004)</div> </li> </ul> </div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>internals/references.txt</bdi> · Last modified: 2017/09/22 13:28 by <bdi>127.0.0.1</bdi></div> </div></div><!-- /content --> <hr class="a11y" /> <!-- PAGE ACTIONS --> <div id="dokuwiki__pagetools"> <h3 class="a11y">Page Tools</h3> <div class="tools"> <ul> <li><a href="/internals/references?do=edit" class="action source" accesskey="v" rel="nofollow" title="Show pagesource [V]"><span>Show pagesource</span></a></li><li><a href="/internals/references?do=revisions" class="action revs" accesskey="o" rel="nofollow" title="Old revisions [O]"><span>Old revisions</span></a></li><li><a href="/internals/references?do=backlink" class="action backlink" rel="nofollow" title="Backlinks"><span>Backlinks</span></a></li><li><a href="#dokuwiki__top" class="action top" accesskey="t" rel="nofollow" title="Back to top [T]"><span>Back to top</span></a></li> </ul> </div> </div> </div><!-- /wrapper --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=internals%3Areferences&1732788485" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div> <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]--> </section> </section><!-- .fullscreen --> <footer> <nav class="fullscreen"> <ul> <li><a href="//php.net/copyright">Copyright © 2001-2024 The PHP Group</a></li> <li><a href="//php.net/sites">Other PHP.net sites</a></li> <li><a href="//php.net/privacy">Privacy policy</a></li> </ul> </nav> </footer> </div><!-- .wrap --> </body> </html>