mirror of
https://github.com/php/presentations.git
synced 2026-03-23 23:22:22 +01:00
- Added slides for PHP Norge presentation.
This commit is contained in:
85
php6-unicode-phpnorge.xml
Normal file
85
php6-unicode-phpnorge.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<presentation
|
||||
template="css"
|
||||
navmode="html"
|
||||
navbarbackground="#4373b4"
|
||||
navbartopiclinks="0"
|
||||
navColor="#f1fbff"
|
||||
logo1=""
|
||||
stylesheet="presentations/slides/ezc/ez.css"
|
||||
backgroundfixed="1" >
|
||||
<topic>Localization and Internationalization</topic>
|
||||
<title>PHP 6 og Unicode</title>
|
||||
<event>PHP Norge</event>
|
||||
<location>Oslo, Norway</location>
|
||||
<date>January 24th, 2008</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
<email>dr@ez.no</email>
|
||||
<url>http://derickrethans.nl/talks.php</url>
|
||||
<slide>slides/grown-up/title.xml</slide>
|
||||
|
||||
<!-- SIMPLE THINGS -->
|
||||
<slide>slides/i18nl10n/the-simple-things.xml</slide>
|
||||
<slide>slides/internals/variables-circular.xml</slide>
|
||||
<slide>slides/internals/gc1.xml</slide>
|
||||
<slide>slides/internals/namespaces.xml</slide>
|
||||
<slide>slides/internals/namespaces-import.xml</slide>
|
||||
<slide>slides/internals/namespaces-resolve1.xml</slide>
|
||||
<slide>slides/internals/namespaces-resolve2.xml</slide>
|
||||
<slide>slides/internals/namespaces-resolve3.xml</slide>
|
||||
|
||||
<!-- UNICODE -->
|
||||
<slide>slides/i18nl10n/the-unicode-things.xml</slide>
|
||||
<slide>slides/i18nl10n/unicode-scripts.xml</slide>
|
||||
<slide>slides/i18nl10n/challenges2.xml</slide>
|
||||
<slide>slides/i18nl10n/sorting.xml</slide>
|
||||
|
||||
<slide>slides/i18nl10n/php-can-do-it-now.xml</slide>
|
||||
<slide>slides/i18nl10n/php-now-iconv.xml</slide>
|
||||
<slide>slides/i18nl10n/php-now-mbstring.xml</slide>
|
||||
<slide>slides/i18nl10n/php-now-locales.xml</slide>
|
||||
|
||||
<!-- UNICODE -->
|
||||
<slide>slides/i18nl10n/unicode.xml</slide>
|
||||
<slide>slides/i18nl10n/composition.xml</slide>
|
||||
<slide>slides/i18nl10n/properties.xml</slide>
|
||||
|
||||
<!-- PHP SOON -->
|
||||
<slide>slides/i18nl10n/goals-1.xml</slide>
|
||||
<slide>slides/i18nl10n/basics-1.xml</slide>
|
||||
<slide>slides/i18nl10n/surrogates.xml</slide> <!-- how does the encoding work? -->
|
||||
<slide>slides/i18nl10n/icu.xml</slide>
|
||||
<slide>slides/i18nl10n/roadmap.xml</slide>
|
||||
<slide>slides/i18nl10n/unicode-semantics.xml</slide>
|
||||
|
||||
<!-- STRINGS -->
|
||||
<slide>slides/i18nl10n/string-types.xml</slide>
|
||||
<slide>slides/i18nl10n/string-literals.xml</slide>
|
||||
<slide>slides/i18nl10n/characters-not-bytes.xml</slide>
|
||||
<slide>slides/i18nl10n/upgrading-locale.xml</slide>
|
||||
<slide>slides/i18nl10n/locale-example.xml</slide>
|
||||
<slide>slides/i18nl10n/locale-example2.xml</slide>
|
||||
<slide>slides/i18nl10n/locale-example-arrays.xml</slide>
|
||||
<slide>slides/i18nl10n/iterator-example.xml</slide>
|
||||
|
||||
<!-- DIFFERENT ENCODINGS -->
|
||||
<slide>slides/i18nl10n/encoding-overview.xml</slide>
|
||||
<slide>slides/i18nl10n/script-encoding.xml</slide>
|
||||
<slide>slides/i18nl10n/script-encoding-pragma.xml</slide>
|
||||
<slide>slides/i18nl10n/script-encoding-fun1.xml</slide>
|
||||
<slide>slides/i18nl10n/script-encoding-fun2.xml</slide>
|
||||
<slide>slides/i18nl10n/runtime-encoding.xml</slide>
|
||||
<slide>slides/i18nl10n/http-output-encoding.xml</slide>
|
||||
|
||||
<slide>slides/i18nl10n/stream-encoding1.xml</slide>
|
||||
<slide>slides/i18nl10n/stream-encoding2.xml</slide>
|
||||
<slide>slides/i18nl10n/stream-encoding3.xml</slide>
|
||||
|
||||
<slide>slides/i18nl10n/translit1.xml</slide>
|
||||
|
||||
<slide>slides/i18nl10n/fallback-encoding.xml</slide>
|
||||
|
||||
<!-- EXIT -->
|
||||
<slide>slides/i18nl10n/when.xml</slide>
|
||||
<slide>slides/i18nl10n/resources.xml</slide> <!-- resources -->
|
||||
</presentation>
|
||||
@@ -4,10 +4,10 @@
|
||||
|
||||
<list type="number">
|
||||
<bullet>Support Unicode in the Engine</bullet>
|
||||
<bullet>Upgrade existing functions: 40% done</bullet>
|
||||
<bullet>Upgrade existing functions: 60% done</bullet>
|
||||
<bullet>Add new functions for explicit i18n/l10n support</bullet>
|
||||
<bullet>Expose ICU's features</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>http://php.net/ ~scoates/unicode/render_func_data.php</blurb>
|
||||
<blurb>http://php.net/~scoates/unicode/render_func_data.php</blurb>
|
||||
</slide>
|
||||
|
||||
8
slides/i18nl10n/the-simple-things.xml
Normal file
8
slides/i18nl10n/the-simple-things.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<slide fontsize="6em">
|
||||
<title>What's new?</title>
|
||||
|
||||
<break lines="16"/>
|
||||
<blurb class="title_blurb">The non-Unicode things</blurb>
|
||||
<blurb class="subtitle_blurb">(Actually, also in PHP 5.3)</blurb>
|
||||
</slide>
|
||||
7
slides/i18nl10n/the-unicode-things.xml
Normal file
7
slides/i18nl10n/the-unicode-things.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<slide fontsize="6em">
|
||||
<title>What's new?</title>
|
||||
|
||||
<break lines="16"/>
|
||||
<blurb class="title_blurb">The Unicode things</blurb>
|
||||
</slide>
|
||||
22
slides/i18nl10n/unicode-scripts.xml
Normal file
22
slides/i18nl10n/unicode-scripts.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Unicode?</title>
|
||||
|
||||
<example>
|
||||
Ç'është Unicode?, – ዩኒኮድ ምንድን ነው? – ما هي الشفرة الموحدة "يونِكود" ؟ –
|
||||
ইউনিকোড কী? – ዩኒኮድ ውረኒ ግን? – Какво е Unicode ? – 什么是Unicode(统一码)? –
|
||||
Što je Unicode? – Co je Unicode? – Hvad er Unicode? – Wat is Unicode? –
|
||||
Kio estas Unikodo? – Mikä on Unicode? – Qu'est ce qu'Unicode? –
|
||||
რა არის უნიკოდი? – Was ist Unicode? – Τι είναι το Unicode; –
|
||||
Τί εἶναι τὸ Unicode; – מה זה יוניקוד (Unicode)? – यूनिकोड क्या है? –
|
||||
Hvað er Unicode? – Que es Unicode? – Cos'è Unicode? –
|
||||
유니코드에 대해? – Kas tai yra Unikodas? – Што е Unicode? –
|
||||
X'inhu l-Unicode? – Czym jest Unikod? – O que é Unicode? –
|
||||
Ce este Unicode? – Что такое Unicode? – ዩኒኮድ ምቃሩ? – Шта je Unicode? –
|
||||
Kaj je Unicode? – ¿Qué es Unicode? – Vad är Unicode? –
|
||||
யூனிக்கோடு என்றால் என்ன?, – యూనీకోడ్ అంటే ఏమిటి?, – Unicode คืออะไร? –
|
||||
ዩኒኮድ እንታይ ኢዩ? – Što je Unicode? – Evrensel Kod Nedir? –
|
||||
ﻳﯘﻧﯩﻜﻮﺩ ﺩﯨﮕﻪﻥ ﻧﯩﻤﻪ؟ – Unicode dégen néme? – Unicode là gì? –
|
||||
Beth yw Unicode? – ዩኒኮድ ወረጘ የጝ?
|
||||
</example>
|
||||
</slide>
|
||||
28
slides/internals/gc1.xml
Normal file
28
slides/internals/gc1.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Garbage Collection</title>
|
||||
|
||||
<list>
|
||||
<bullet>Collects all the variable containers into a buffer</bullet>
|
||||
<bullet>Once buffer is full, the algorithm runs to reclaim space</bullet>
|
||||
<bullet>Can be turned on and off at will: *gc_enable()*, *gc_disable()*</bullet>
|
||||
<bullet>Drastically reduces memory usage for testing eZ Components (2.4GB->500MB)</bullet>
|
||||
</list>
|
||||
<example>
|
||||
GC Statistics
|
||||
-------------
|
||||
Runs: 124
|
||||
Collected: 2434961
|
||||
Root buffer length: 4
|
||||
Root buffer peak: 10000
|
||||
|
||||
Possible Remove from Marked
|
||||
Root Buffered buffer grey
|
||||
-------- -------- ----------- ------
|
||||
ZVAL 13233645 2444651 2106657 18967079
|
||||
ZOBJ 41671687 2120597 1218587 2475517
|
||||
</example>
|
||||
<!--
|
||||
# vim: encoding=utf8
|
||||
-->
|
||||
</slide>
|
||||
18
slides/internals/namespaces-import.xml
Normal file
18
slides/internals/namespaces-import.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Namespaces</title>
|
||||
<subtitle>Using namespaces: use</subtitle>
|
||||
|
||||
<list>
|
||||
<bullet>the *use* operator makes a namespaces available</bullet>
|
||||
</list>
|
||||
<example><![CDATA[<?php
|
||||
use eZ::Database::Connection as DbConnection;
|
||||
|
||||
use eZ::Database;
|
||||
|
||||
new DbConnection(); // uses eZ::Database::Connection
|
||||
new Database::Driver(); // would use eZ::Database::Connection
|
||||
?>]]></example>
|
||||
</slide>
|
||||
|
||||
23
slides/internals/namespaces-resolve1.xml
Normal file
23
slides/internals/namespaces-resolve1.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Namespaces</title>
|
||||
<subtitle>Name resolution rules</subtitle>
|
||||
|
||||
<blurb>All qualified names (A::B::C) are translated during
|
||||
compile-time.</blurb>
|
||||
<example><![CDATA[<?php
|
||||
use eZ::Database::Driver;
|
||||
|
||||
// translated at compile-time to eZ::Database::Driver::Sqlite()
|
||||
new Driver::Sqlite();
|
||||
?>]]></example>
|
||||
<break lines="3"/>
|
||||
<blurb>All unqualified names (C) are translated during
|
||||
compile-time.</blurb>
|
||||
<example><![CDATA[<?php
|
||||
use eZ::Database::Driver;
|
||||
|
||||
// translated at compile-time to eZ::Database::Driver()
|
||||
new Driver();
|
||||
?>]]></example>
|
||||
</slide>
|
||||
18
slides/internals/namespaces-resolve2.xml
Normal file
18
slides/internals/namespaces-resolve2.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Namespaces</title>
|
||||
<subtitle>Name resolution rules</subtitle>
|
||||
|
||||
<blurb>Inside a namespace, all unqualified names (C) are translated during
|
||||
run-time.</blurb>
|
||||
<example><![CDATA[<?php
|
||||
namespace eZ::Database;
|
||||
|
||||
// translated at run-time first to eZ::Database::Driver()
|
||||
new Driver();
|
||||
?>]]></example>
|
||||
<blurb>If not found, it looks for the *internal class* Driver.</blurb>
|
||||
<blurb>If not found, it attempts to autoload eZ::Database::Driver.</blurb>
|
||||
<break/>
|
||||
<blurb>In order to use the global class Driver, use "%new ::Driver()%."</blurb>
|
||||
</slide>
|
||||
27
slides/internals/namespaces-resolve3.xml
Normal file
27
slides/internals/namespaces-resolve3.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Namespaces</title>
|
||||
<subtitle>Quirks</subtitle>
|
||||
|
||||
<blurb>You can not override internal classes:</blurb>
|
||||
<break/>
|
||||
<example><![CDATA[ez_datetime.php
|
||||
<?php
|
||||
namespace eZ;
|
||||
|
||||
class DateTime
|
||||
{
|
||||
}
|
||||
?>]]></example>
|
||||
<break lines="3"/>
|
||||
<example><![CDATA[test.php
|
||||
<?php
|
||||
require 'ez_datetime.php';
|
||||
|
||||
use eZ::DateTime;
|
||||
?>]]></example>
|
||||
<break lines="3"/>
|
||||
<blurb>Displays:</blurb>
|
||||
<example><![CDATA[Fatal error: Cannot use eZ::DateTime as DateTime because the
|
||||
name is already in use in /tmp/test.php on line 4]]></example>
|
||||
</slide>
|
||||
23
slides/internals/namespaces.xml
Normal file
23
slides/internals/namespaces.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Namespaces</title>
|
||||
|
||||
<list>
|
||||
<bullet>Solves name clashes</bullet>
|
||||
<bullet>Provides name aliases and resolving</bullet>
|
||||
<bullet>Can contain constants, classes and functions</bullet>
|
||||
</list>
|
||||
<example><![CDATA[<?php
|
||||
namespace eZ;
|
||||
|
||||
const DEVELOPMENT = 42;
|
||||
|
||||
class Configuration
|
||||
{
|
||||
}
|
||||
|
||||
function bootstrap()
|
||||
{
|
||||
}
|
||||
?>]]></example>
|
||||
</slide>
|
||||
6
slides/toolbox/ms.xml
Normal file
6
slides/toolbox/ms.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<slide fontsize="6em">
|
||||
<title>It's All His Fault</title>
|
||||
|
||||
<image filename="schumi1.jpg"/>
|
||||
</slide>
|
||||
Reference in New Issue
Block a user