LWE London Talk

This commit is contained in:
Rasmus Lerdorf
2005-10-05 17:09:55 +00:00
parent d2a0722f2d
commit c729737f16
7 changed files with 116 additions and 3 deletions

49
lwe05.xml Normal file
View File

@@ -0,0 +1,49 @@
<presentation
template="php2"
navmode="html"
titlecolor="#1111aa"
navbarbackground="url(images/trans-ffffff.png)"
logo1="images/php-med-trans-light.gif"
titlesize="2em"
navbarheight="4.1em"
>
<!--
40 Minutes
A quick and pragmatic introduction to solving the web problem with PHP.
The session will include a summary of the new features in PHP5 such as
the rewritten XML support and the new object model.
-->
<topic>PHP</topic>
<title>PHP</title>
<event>LinuxworldExpo 2005</event>
<location>London</location>
<date>Oct.5, 2005</date>
<speaker>Rasmus Lerdorf</speaker>
<email>rasmus@php.net</email>
<slide>slides/intro/titlepage.xml</slide>
<slide>slides/intro/serverside.xml</slide>
<slide>slides/intro/idea.xml</slide>
<slide>slides/lamp/failfast.xml</slide>
<slide>slides/keynotes/dev1.xml</slide>
<slide>slides/keynotes/dev2.xml</slide>
<slide>slides/intro/php5.xml</slide>
<slide>slides/keynotes/xml_1.xml</slide>
<slide>slides/keynotes/oop.xml</slide>
<slide>slides/keynotes/pdo1.xml</slide>
<slide>slides/keynotes/unicode1.xml</slide>
<slide>slides/intro/sqlite1.xml</slide>
<slide>slides/intro/sqlite2.xml</slide>
<slide>slides/keynotes/web20.xml</slide>
<slide>slides/intro/ws1.xml</slide>
<slide>slides/intro/ws2.xml</slide>
<slide>slides/intro/ws3.xml</slide>
<slide>slides/intro/ws4.xml</slide>
<slide>slides/intro/ws5.xml</slide>
<slide>slides/intro/ajax.xml</slide>
<slide>slides/intro/lwe05_ref.xml</slide>
</presentation>

View File

@@ -0,0 +1,10 @@
<slide title="Resources">
<blurb> </blurb>
<blurb> </blurb>
<blurb> </blurb>
<blurb> </blurb>
<link fontsize="3em" marginleft="3em" leader="Slides: " href="http://talks.php.net/show/lwe05"/>
<link fontsize="3em" marginleft="3em" leader="APC: " href="http://pecl.php.net/package/APC"/>
<link fontsize="3em" marginleft="3em" leader="Yahoo: " href="http://developer.yahoo.com/"/>
<link fontsize="3em" marginleft="3em" leader="Flickr: " href="http://flickr.com/services/api/"/>
</slide>

View File

@@ -1,5 +1,5 @@
<slide title="APC Stats">
<break lines="1" />
<example filename="http://lerdorf.com/apc.php" marginleft="1em" marginright="0em" hide="1" result="1" type="iframe" iheight="700"/>
<example filename="http://localhost/apc.php" marginleft="1em" marginright="0em" hide="1" result="1" type="iframe" iheight="700"/>
</slide>

View File

@@ -14,7 +14,7 @@ if($xml) {
?>]]></example>
<example fontsize="1.6em" title="Add a spoonful of REST"><![CDATA[<?php
$srv = 'http://api.search.yahoo.com/ImageSearchService/V1/imageSearch';
$srv='http://api.search.yahoo.com/ImageSearchService/V1/imageSearch';
foreach($ret as $key=>$link) {
$url = $srv . "?query=$key&appid=RESTDemo";
$obj = simplexml_load_file($url);

View File

@@ -22,7 +22,7 @@ function bar(&$arg) {
bar(foo());
?>]]></example>
<example title="In PHP5 this now gives" hide="1" result="1">
Fatal error: Only variables can be passed by reference in foo.php on line 8</example>
Strict Standards: Only variables should be passed by reference in file on line 8</example>
<example title="And here too" result="1"><![CDATA[<?php
function & blah($arg) {

View File

@@ -0,0 +1,5 @@
<slide title="Web 2.0">
<break lines="6" />
<blurb fontsize="18em" align="center">Web 2.0</blurb>
<blurb fontsize="9em" align="center">The Programmable Web</blurb>
</slide>

49
slides/keynotes/xml_1.xml Normal file
View File

@@ -0,0 +1,49 @@
<slide title="XML">
<break lines="1" />
<image filename="sterling3.jpg" marginright="1em" align="right"/>
<example title="All XML handling based on libxml2" marginleft="2em" marginright="30em" result="0"><![CDATA[<?php
$dom = new domDocument;
$dom->load('data.xml');
?>]]></example>
<example title="XSL" result="0" marginleft="2em" marginright="30em" fontsize="1.5em"><![CDATA[<?php
$domxsl = domDocument::load('stylesheet.xsl');
$proc = new xsltProcessor;
$proc->importStyleSheet($domxsl);
echo $proc->transformToXML($dom);
?>]]></example>
<example title="XPath" result="0" fontsize="1.5em" marginleft="2em" marginright="0em"><![CDATA[<?php
$ctx = new domXPath($dom);
$result = $ctx->query('/breakfast_menu/food[@itemno > 3]/price/text()');
foreach($result as $node) {
echo $node->nodeValue."<br />\n";
}
?>]]></example>
<example title="menu.xml" hide="1" result="1" marginleft="2em" marginright="0em" fontsize="1.75em" rfontsize="1.5em"><![CDATA[<?php
class entities_filter extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {
while ($bucket = stream_bucket_make_writeable($in)) {
$bucket->data = htmlentities($bucket->data);
$consumed += $bucket->datalen;
stream_bucket_append($out, $bucket);
}
return PSFS_PASS_ON;
}
}
stream_filter_register("entities", "entities_filter");
echo "<pre>";
readfile("php://filter/read=entities/resource=menu.xml");
echo "</pre>";
?>]]></example>
<example title="SimpleXML" result="1" marginleft="2em"><![CDATA[<?php
$menu = simplexml_load_file('menu.xml');
foreach ($menu->food as $item) {
echo "{$item->price}\t{$item->name}<br />\n";
}
?>]]></example>
</slide>