mirror of
https://github.com/php/presentations.git
synced 2026-03-23 23:22:22 +01:00
DPC Extensions Tutorial
This commit is contained in:
64
phpext-dpc24.xml
Normal file
64
phpext-dpc24.xml
Normal file
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<presentation css="derick.css">
|
||||
<topic>PHP</topic>
|
||||
<title>Writing A PHP Extension</title>
|
||||
<event>Dutch PHP Conference</event>
|
||||
<location>Amsterdam, The Netherlands</location>
|
||||
<date>March 14th, 2024</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
<email>derick@php.net</email>
|
||||
<twitter>derickr</twitter>
|
||||
<mastodon>@derickr@phpc.social</mastodon>
|
||||
<url>https://derickrethans.nl/talks/phpext-dpc24</url>
|
||||
<joindin></joindin>
|
||||
<slide>slides/xdebug/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/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-part1-arginfo.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/internals/debug.xml</slide>
|
||||
|
||||
<slide>slides/mongodb/questions.xml</slide>
|
||||
|
||||
<slide>slides/internals/live-coding.xml</slide>
|
||||
<slide>slides/mongodb/resources.xml</slide>
|
||||
</presentation>
|
||||
@@ -5,7 +5,7 @@
|
||||
<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>%lib/algorithm.c%<br/>C implementation of algorithms</bullet>
|
||||
<bullet>%tests/*.phpt%<br/>Tests written in PHP</bullet>
|
||||
</list>
|
||||
</slide>
|
||||
|
||||
18
slides/internals/live-coding.xml
Normal file
18
slides/internals/live-coding.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<slide>
|
||||
<title>Let's Get Practical</title>
|
||||
|
||||
<blurb>*Directory:*<br/>%mkdir tutorial-geospatial && cd tutorial-geospatial && git init%</blurb>
|
||||
|
||||
<blurb>*Algorithms:*<br/>%wget https://derickrethans.nl/files/dump/rdp.tgz -O /tmp/rdp.tgz%<br/><br/>%mkdir lib && cd lib && tar xvzf /tmp/rdp.tgz && cd -%</blurb>
|
||||
|
||||
<blurb>*Skeleton:*<br/>%php ~/dev/php/php-src.git/ext/ext_skel.php%<br/>%    --ext geospatial --author "Your Name" --dir . --onlyunix%</blurb>
|
||||
|
||||
<blurb>*Test File:*<br/>%https://derickrethans.nl/files/dump/geojson-belgium.json%</blurb>
|
||||
<break lines="2"/>
|
||||
|
||||
<div effect="fade-in">
|
||||
<blurb>*PDF with Code as Diffs:*<br/>%https://derickrethans.nl/files/dump/tutorial-geospatial.pdf%</blurb>
|
||||
<blurb>*GIT repository:*<br/>%https://github.com/derickr/tutorial-geospatial%</blurb>
|
||||
</div>
|
||||
|
||||
</slide>
|
||||
@@ -15,7 +15,7 @@
|
||||
</table>
|
||||
|
||||
<break lines="2"/>
|
||||
<blurb class="centre">%docs/parameter-parsing-api.md%</blurb>
|
||||
<blurb class="centre">%https://wiki.php.net/rfc/fast_zpp%</blurb>
|
||||
|
||||
<break lines="2"/>
|
||||
<image filename="inputs.jpg" attr="Clive Darra - https://www.flickr.com/photos/fsse-info/3414368958/ - CC-BY-SA"/>
|
||||
|
||||
Reference in New Issue
Block a user