com presentations: PHP London (UG) Extensions talk: php-ext-phpldn18.xml slides/internals/config.m4.xml slides/internals/config.w32.xml slides/internals/escher.jpg slides/internals/extension-parts.xml slides/internals/extension-why-not1.xml slides/internals/extension.c-part1.xml slides/internals/extension.c-part2.xml slides/internals/extension.c-part3.xml slides/internals/time.png slides/internals/tracing.jpg slides/internals/warp.png
[email protected] (Derick Rethans) Thu, 04 Jan 2018 15:13:00 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: 018a7afb60eb178347af0ee0d5766c27202fa472 Author: Derick Rethans <[email protected]> Thu, 4 Jan 2018 15:13:00 +0000 Parents: ea24aec088351c2a83316ce7b4290a59ca2f7cfd Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=018a7afb60eb178347af0ee0d5766c27202fa472 Log: PHP London (UG) Extensions talk Changed paths: A php-ext-phpldn18.xml M slides/internals/config.m4.xml M slides/internals/config.w32.xml M slides/internals/escher.jpg M slides/internals/extension-parts.xml A slides/internals/extension-why-not1.xml M slides/internals/extension.c-part1.xml M slides/internals/extension.c-part2.xml M slides/internals/extension.c-part3.xml A slides/internals/time.png M slides/internals/tracing.jpg M slides/internals/warp.png Diff: diff --git a/php-ext-phpldn18.xml b/php-ext-phpldn18.xml new file mode 100644 index 0000000..50af60c --- /dev/null +++ b/php-ext-phpldn18.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>PHP</topic> +<title>Introduction into PHP Extensions</title> +<event>PHP London UG</event> +<location>London UK</location> +<date>January 4th, 2018</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<url>http://derickrethans.nl/talks.html</url> +<joindin>http://derickrethans.nl/talks/php-ext-phpldn18</joindin> +<slide>slides/mongodb/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +<slide>slides/internals/extension-agenda.xml</slide> +<slide>slides/internals/extension-agenda2.xml</slide> +<slide>slides/internals/extension-what1.xml</slide> +<slide>slides/internals/extension-why1.xml</slide> +<slide>slides/internals/extension-why-wrap.xml</slide> +<slide>slides/internals/extension-why-not-possible.xml</slide> +<slide>slides/internals/extension-why-speed.xml</slide> + +<slide>slides/internals/extension-why-not1.xml</slide> + +<slide>slides/internals/rdp-intro.xml</slide> +<slide>slides/internals/rdp-intro2.xml</slide> +<slide>slides/internals/rdp-intro3.xml</slide> +<slide>slides/internals/rdp-intro4.xml</slide> + +<slide>slides/internals/extension-parts.xml</slide> +<slide>slides/internals/extension-on-a-slide.xml</slide> +<slide>slides/internals/config.m4.xml</slide> +<slide>slides/internals/config.w32.xml</slide> +<slide>slides/internals/phpize.xml</slide> + +<slide>slides/internals/extension.h.xml</slide> +<slide>slides/internals/extension.c-part1.xml</slide> +<slide>slides/internals/extension.c-part2.xml</slide> +<slide>slides/internals/extension.c-part3.xml</slide> + +<slide>slides/internals/function.xml</slide> +<slide>slides/internals/rdp_simplify-part1.xml</slide> +<slide>slides/internals/rdp_simplify-zedval.xml</slide> +<slide>slides/internals/rdp_simplify-part1b.xml</slide> +<slide>slides/internals/rdp_simplify-convert-data.xml</slide> +<slide>slides/internals/rdp_simplify-run-algorithm.xml</slide> +<slide>slides/internals/rdp_simplify-php.xml</slide> +<slide>slides/internals/rdp_simplify-c.xml</slide> +<slide>slides/internals/rdp_simplify-return-result.xml</slide> +<slide>slides/internals/rdp_simplify-return-scalars.xml</slide> +<slide>slides/internals/memory-management.xml</slide> + +<slide>slides/internals/tests.xml</slide> +<slide>slides/internals/rdp-test.xml</slide> + +<slide>slides/mongodb/questions.xml</slide> +<slide>slides/mongodb/resources.xml</slide> +</presentation> diff --git a/slides/internals/config.m4.xml b/slides/internals/config.m4.xml index 3bb3c03..857d51c 100644 --- a/slides/internals/config.m4.xml +++ b/slides/internals/config.m4.xml @@ -4,7 +4,6 @@ <blurb>Comments:</blurb> <example><![CDATA[ -dnl $Id$ dnl config.m4 for extension geospatial ]]></example> diff --git a/slides/internals/config.w32.xml b/slides/internals/config.w32.xml index 63c949c..eb46c37 100644 --- a/slides/internals/config.w32.xml +++ b/slides/internals/config.w32.xml @@ -4,7 +4,6 @@ <blurb>Comments:</blurb> <example><![CDATA[ -// $Id$ // vim:ft=javascript ]]></example> diff --git a/slides/internals/escher.jpg b/slides/internals/escher.jpg index e8d330b..21a4211 100644 Binary files a/slides/internals/escher.jpg and b/slides/internals/escher.jpg differ diff --git a/slides/internals/extension-parts.xml b/slides/internals/extension-parts.xml index ce29a64..dac4047 100644 --- a/slides/internals/extension-parts.xml +++ b/slides/internals/extension-parts.xml @@ -2,12 +2,10 @@ <title>What makes up an Extension?</title> <list> - <bullet>%config.m4%: configure options and build instructions</bullet> - <bullet>%php_extension.h%: header files and glue</bullet> - <bullet>%extension.c%: extension definition and function implementation</bullet> -</list> -<break/> -<list> - <bullet>%algorithms.c%: C implementation of algorithms</bullet> + <bullet>%config.m4% / %config.w32%<br/>configure options and build instructions</bullet> + <bullet>%php_extension.h%<br/>header files and glue</bullet> + <bullet>%extension.c%<br/>extension definition and function implementation</bullet> + <bullet>%algorithms.c%<br/>C implementation of algorithms</bullet> + <bullet>%tests/*.phpt%<br/>Tests written in PHP</bullet> </list> </slide> diff --git a/slides/internals/extension-why-not1.xml b/slides/internals/extension-why-not1.xml new file mode 100644 index 0000000..b002c1e --- /dev/null +++ b/slides/internals/extension-why-not1.xml @@ -0,0 +1,12 @@ +<slide> +<title>Why not implement something in an extension?</title> + +<list> + <bullet>It takes a lot more time to write</bullet> + <bullet>It takes a lot more time to debug</bullet> + <bullet>It takes a lot more time to maintain</bullet> +</list> +<break lines="3"/> +<image filename="time.png"/> +</slide> + diff --git a/slides/internals/extension.c-part1.xml b/slides/internals/extension.c-part1.xml index 4083ed2..bebc363 100644 --- a/slides/internals/extension.c-part1.xml +++ b/slides/internals/extension.c-part1.xml @@ -1,5 +1,6 @@ <slide> -<title>The Meat</title> +<title>Extension Set-Up</title> +<subtitle>Headers and Function Definition</subtitle> <blurb>Header inclusions:</blurb> <example><![CDATA[ diff --git a/slides/internals/extension.c-part2.xml b/slides/internals/extension.c-part2.xml index 4691dfa..8c6a131 100644 --- a/slides/internals/extension.c-part2.xml +++ b/slides/internals/extension.c-part2.xml @@ -1,5 +1,6 @@ <slide> -<title>The Meat</title> +<title>Extension Set-Up</title> +<subtitle>Module Definition</subtitle> <blurb>Module (Extension) definition:</blurb> <example><![CDATA[ diff --git a/slides/internals/extension.c-part3.xml b/slides/internals/extension.c-part3.xml index 065bd47..721b24e 100644 --- a/slides/internals/extension.c-part3.xml +++ b/slides/internals/extension.c-part3.xml @@ -1,11 +1,12 @@ <slide> -<title>The Meat</title> +<title>Extension Set-Up</title> +<subtitle>Auxiliary Init and Info sections</subtitle> <blurb>Module INITialisation</blurb> <example><![CDATA[ PHP_MINIT_FUNCTION(geospatial) { - REGISTER_DOUBLE_CONSTANT("GEO_DEG_TO_RAD", GEO_DEG_TO_RAD, CONST_CS|CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("GEO_DIAMETER", GEO_DIAMETER, CONST_CS|CONST_PERSISTENT); return SUCCESS; } ]]></example> diff --git a/slides/internals/time.png b/slides/internals/time.png new file mode 100644 index 0000000..286bbec Binary files /dev/null and b/slides/internals/time.png differ diff --git a/slides/internals/tracing.jpg b/slides/internals/tracing.jpg index d75e797..19aace7 100644 Binary files a/slides/internals/tracing.jpg and b/slides/internals/tracing.jpg differ diff --git a/slides/internals/warp.png b/slides/internals/warp.png index 155d618..1044c1c 100644 Binary files a/slides/internals/warp.png and b/slides/internals/warp.png differ