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