Files
archived-presentations/phpexts-zendcon11.xml
2011-10-17 00:10:05 +00:00

158 lines
5.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<presentation
template="css"
navmode="html"
navbarbackground="#4373b4"
navbartopiclinks="0"
navColor="#f1fbff"
logo1=""
stylesheet="presentations/slides/ezc/ez.css"
backgroundfixed="1" >
<topic>Debugging</topic>
<title>PHP Extensions - What and Why</title>
<event>ZendCon</event>
<location>Santa Clara, US</location>
<date>Oct 17th, 2011</date>
<speaker>Derick Rethans</speaker>
<email>derick@derickrethans.nl</email>
<twitter>derickr</twitter>
<url>http://derickrethans.nl/talks.html</url>
<joindin>http://joind.in/3776</joindin>
<slide>slides/dbus/title.xml</slide>
<slide>slides/toolbox/me.xml</slide>
<slide>slides/internals/extension-on-a-slide.xml</slide>
<slide>slides/internals/config-m4-1.xml</slide>
<slide>slides/internals/config-m4-2.xml</slide>
<slide>slides/internals/config-m4-3.xml</slide>
<slide>slides/internals/config-m4-4.xml</slide>
<slide>slides/internals/config-m4-5.xml</slide>
<slide>slides/internals/config-m4-6.xml</slide>
<slide>slides/internals/config-w32-1.xml</slide>
<!--
So you've heard that PHP supports extensions. But what are they exactly, what
can you do with them, and what *can't* you do with them? And mostly, why would
you or would you not want to spend time writing them?
This session will introduce you into what PHP extensions are, and what they can
do for you. It will cover cases of when it makes sense to write extensions and
which things you need to think of when deciding whether you want to put the
effort into writing an extension.
The talk then proceeds with a small introduction to the request cycle and PHP's
memory management. It mentions which parts of PHP you could override and which
parts you can hook into. It will also cover things that you can not do with
extensions.
examples
core ext
internal ext
external ext
pecl
zend ext
functions
classes
ini settings
hooks
- startup, shutdown
overloading:
- errors
- compile
- execute
- replacing functions
stream filters
- phar
- encryption
no syntax change
- british php
why:
- wrapping libraries
- fast, specific extensions
- replacing PHP functions
-->
<slide>slides/internals/extensions.xml</slide>
<slide>slides/internals/core-extensions.xml</slide>
<slide>slides/internals/internal-extensions.xml</slide>
<slide>slides/internals/external-extensions.xml</slide>
<slide>slides/internals/pecl.xml</slide>
<slide>slides/internals/overview.xml</slide>
<slide>slides/internals/overview2.xml</slide>
<slide>slides/internals/functions.xml</slide>
<slide>slides/internals/init-shutdown.xml</slide>
<slide>slides/internals/ini-entries.xml</slide>
<slide>slides/internals/request-init-shutdown.xml</slide>
<slide>slides/internals/request-post-deactivate.xml</slide>
<slide>slides/internals/shutdown-order.xml</slide>
<slide>slides/internals/function-entry.xml</slide>
<slide>slides/internals/globals.xml</slide>
<slide>slides/internals/classes-etc.xml</slide>
<slide>slides/internals/class-setup.xml</slide>
<slide>slides/internals/class-setup2.xml</slide>
<slide>slides/internals/some-notes.xml</slide>
<slide>slides/internals/class-methods.xml</slide>
<slide>slides/internals/function-method-duality.xml</slide>
<slide>slides/internals/arg-info.xml</slide>
<slide>slides/internals/extension-dependencies.xml</slide>
<slide>slides/internals/questions.xml</slide>
<!-- variables -->
<slide>slides/internals/zval.xml</slide>
<slide>slides/internals/variables1.xml</slide>
<slide>slides/internals/variables2.xml</slide>
<slide>slides/internals/variables3.xml</slide>
<slide>slides/internals/variables3a.xml</slide>
<slide>slides/internals/variables11.xml</slide>
<slide>slides/internals/zend_parse_parameters.xml</slide>
<slide>slides/internals/zend_parse_parameters2.xml</slide>
<slide>slides/internals/returning_variables.xml</slide>
<slide>slides/internals/returning_variables_array.xml</slide>
<slide>slides/internals/returning_variables_object.xml</slide>
<slide>slides/internals/excercise_intro.xml</slide>
<slide>slides/internals/excercise_add_a_function.xml</slide>
<slide>slides/internals/valgrind-and-debugging.xml</slide>
<slide>slides/internals/questions.xml</slide>
<!-- more advanced stuff -->
<slide>slides/internals/hooks.xml</slide>
<slide>slides/internals/minfo.xml</slide>
<slide>slides/internals/overload.xml</slide>
<slide>slides/internals/hooks-error.xml</slide>
<slide>slides/internals/hooks-exception.xml</slide>
<slide>slides/internals/hooks-compiler-executor.xml</slide>
<slide>slides/internals/opcodes-question.xml</slide>
<slide>slides/internals/execute5.xml</slide>
<slide>slides/internals/opcode2.xml</slide>
<slide>slides/internals/execute2.xml</slide>
<slide>slides/internals/opcode-cache.xml</slide>
<slide>slides/internals/opcode-overload2.xml</slide>
<slide>slides/internals/hooks-opcode.xml</slide>
<slide>slides/internals/replacing-functions.xml</slide>
<slide>slides/internals/hooks-replace-function.xml</slide>
<slide>slides/internals/streams.xml</slide>
<slide>slides/internals/syntax-changes.xml</slide>
<slide>slides/internals/why-wrapping-libs.xml</slide>
<slide>slides/internals/why-fast-specific.xml</slide>
<slide>slides/internals/why-replace-php.xml</slide>
<slide>slides/internals/why-not-possible.xml</slide>
<slide>slides/internals/questions.xml</slide>
<slide>slides/internals/resources.xml</slide>
</presentation>