mirror of
https://github.com/php/presentations.git
synced 2026-03-23 23:22:22 +01:00
- Added my ezc user group talk.
This commit is contained in:
@@ -15,46 +15,52 @@
|
||||
<date>May 10th, 2007</date>
|
||||
<speaker>Derick Rethans</speaker>
|
||||
<email>dr@ez.no</email>
|
||||
<url>http://files.derickrethans.nl/ezc-vancouver7.pdf</url>
|
||||
<url>http://files.derickrethans.nl/ezc-php-norge.pdf</url>
|
||||
<slide>slides/ezc/title-ezc-generic.xml</slide>
|
||||
|
||||
<!-- introduction -->
|
||||
<slide>slides/toolbox/goals-process.xml</slide>
|
||||
<slide>slides/toolbox/goals-library.xml</slide>
|
||||
<slide>slides/toolbox/documentation.xml</slide>
|
||||
<slide>slides/ezc/contributing.xml</slide>
|
||||
|
||||
<slide>slides/toolbox/dependencies.xml</slide>
|
||||
<slide>slides/toolbox/classnames.xml</slide>
|
||||
<slide>slides/toolbox/autoload.xml</slide>
|
||||
<slide>slides/toolbox/autoload-arrays.xml</slide>
|
||||
<slide>slides/toolbox/versioning.xml</slide>
|
||||
|
||||
<!-- overview -->
|
||||
<slide>slides/ezc/overview.xml</slide>
|
||||
<slide>slides/toolbox/dependencies.xml</slide>
|
||||
<slide>slides/ezc/install-download.xml</slide>
|
||||
<slide>slides/ezc/install-pear.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-consoletools-table.xml</slide>
|
||||
<slide>slides/ezc/example-consoletools-progressbar.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-eventlog.xml</slide>
|
||||
|
||||
<!-- database -->
|
||||
<slide>slides/ezc/example-database-instance.xml</slide>
|
||||
<slide>slides/ezc/example-database-query.xml</slide>
|
||||
<slide>slides/ezc/query-abstraction-intro.xml</slide>
|
||||
<slide>slides/ezc/fluent-interface.xml</slide>
|
||||
<slide>slides/ezc/bindvalue-bindparam.xml</slide>
|
||||
|
||||
<slide>slides/ezc/pesistent-object-abstraction-intro.xml</slide>
|
||||
<slide>slides/ezc/example-persistentobject.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-imageconversion.xml</slide>
|
||||
<slide>slides/ezc/example-imageconversion2.xml</slide>
|
||||
<slide>slides/ezc/image-conversion-intro.xml</slide>
|
||||
<slide>slides/ezc/example-imageconversion-album.xml</slide>
|
||||
<slide>slides/xdebug/live-demo.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-mail.xml</slide>
|
||||
<slide>slides/ezc/mail-diagram.xml</slide>
|
||||
<slide>slides/ezc/example-mail-parse.xml</slide>
|
||||
<slide>slides/ezc/example-mail-summary.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-template-mail.xml</slide>
|
||||
|
||||
<slide>slides/ezc/graph-overview.xml</slide>
|
||||
<slide>slides/ezc/example-graph.xml</slide>
|
||||
<slide>slides/ezc/example-graph-result.xml</slide>
|
||||
<slide>slides/ezc/example-graph2.xml</slide>
|
||||
<slide>slides/ezc/example-graph2-result.xml</slide>
|
||||
|
||||
<slide>slides/ezc/example-feed.xml</slide>
|
||||
<slide>slides/ezc/example-feed2.xml</slide>
|
||||
<slide>slides/xdebug/live-demo.xml</slide>
|
||||
|
||||
<!-- what's next? -->
|
||||
<slide>slides/ezc/future-2006.2-2007.1.xml</slide>
|
||||
<slide>slides/ezc/contributing.xml</slide>
|
||||
<slide>slides/ezc/questions.xml</slide>
|
||||
</presentation>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 71 KiB |
32
slides/ezc/bindvalue-bindparam.xml
Normal file
32
slides/ezc/bindvalue-bindparam.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<slide>
|
||||
<title>Database</title>
|
||||
<subtitle>Prepared Statements</subtitle>
|
||||
|
||||
<list>
|
||||
<bullet>Safer: No manual quoting required</bullet>
|
||||
<bullet>Faster: The query is only compiled once</bullet>
|
||||
</list>
|
||||
|
||||
<example><![CDATA[<?php
|
||||
$country = $normalized_name = $name = $province = $lat = $lon = null;
|
||||
$sq = $db->createInsertQuery();
|
||||
$sq->insertInto( 'city' )
|
||||
->set( 'country', $sq->bindParam( $country ) )
|
||||
->set( 'normalized_name', $sq->bindParam( $normalized_name ) )
|
||||
->set( 'name', $sq->bindParam( $name ) )
|
||||
->set( 'province', $sq->bindParam( $province ) )
|
||||
->set( 'lat', $sq->bindParam( $lat ) )
|
||||
->set( 'lon', $sq->bindParam( $lon ) );
|
||||
$stmt = $sq->prepare();
|
||||
|
||||
do {
|
||||
$line = fgets( $fd ); if ( feof( $fd ) ) break;
|
||||
|
||||
$elements = explode( "\t", $line );
|
||||
list( $country, $normalized_name, $name, $province, $lat, $lon ) = $elements;
|
||||
$stmt->execute();
|
||||
} while ( true );
|
||||
?>]]></example>
|
||||
|
||||
</slide>
|
||||
|
||||
@@ -4,7 +4,7 @@ require 'ezc-setup.php';
|
||||
$db1 = ezcDbFactory::create( 'mysql://root@localhost/ezc' );
|
||||
ezcDbInstance::set( $db1, 'ezc' );
|
||||
|
||||
$trunk = ezcDbFactory::create( 'mysql://root@localhost/eztrunk' );
|
||||
$trunk = ezcDbFactory::create( 'mysql://root@localhost/trip' );
|
||||
ezcDbInstance::set( $trunk, 'ezt' );
|
||||
|
||||
$db = ezcDbInstance::get( 'ezt' );
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
<blurb>Supported Handlers:</blurb>
|
||||
<list>
|
||||
<bullet>MS SQL</bullet>
|
||||
<bullet>MySQL</bullet>
|
||||
<bullet>PostgreSQL</bullet>
|
||||
<bullet>Oracle</bullet>
|
||||
@@ -11,7 +12,7 @@
|
||||
</list>
|
||||
|
||||
<blurb>Using Instances:</blurb>
|
||||
<example filename='database.php' result="1"/>
|
||||
<example filename='database.php' result="0"/>
|
||||
|
||||
</slide>
|
||||
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
<title>Graph</title>
|
||||
<subtitle>Line-graph - Result</subtitle>
|
||||
|
||||
<image filename='graph1.png'/>
|
||||
<blurb><![CDATA[
|
||||
<div id="graph">
|
||||
<iframe id="graphIn" src="/presentations/slides/ezc/graph1.php"/>
|
||||
</div>
|
||||
]]></blurb>
|
||||
|
||||
</slide>
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
<title>Graph</title>
|
||||
<subtitle>Pie chart - Result</subtitle>
|
||||
|
||||
<image align="center" filename='graph5.png'/>
|
||||
<blurb><![CDATA[
|
||||
<div id="graph">
|
||||
<iframe id="graphIn" src="/presentations/slides/ezc/graph2.php"/>
|
||||
</div>
|
||||
]]></blurb>
|
||||
<break lines="8"/>
|
||||
|
||||
<blurb>The Graph component outputs:</blurb>
|
||||
|
||||
6
slides/ezc/example-imageconversion-album.xml
Normal file
6
slides/ezc/example-imageconversion-album.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<slide>
|
||||
<title>ImageConversion</title>
|
||||
<subtitle>Album thumbnailing</subtitle>
|
||||
|
||||
<example filename='imageconversion-thumbnail-transformation.php'/>
|
||||
</slide>
|
||||
@@ -1,14 +1,17 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Mail</title>
|
||||
<subtitle>Supported Transports and Formats</subtitle>
|
||||
|
||||
<blurb>Parsing from:</blurb>
|
||||
<blurb>Sending with:</blurb>
|
||||
<list>
|
||||
<bullet>POP3 Servers</bullet>
|
||||
<bullet>IMAP Servers</bullet>
|
||||
<bullet>MBOX Files</bullet>
|
||||
<bullet>Single Mail Files</bullet>
|
||||
<bullet>Variables</bullet>
|
||||
<bullet>SMTP</bullet>
|
||||
<bullet>"MTA" (PHP's mail())</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Reading from:</blurb>
|
||||
<list>
|
||||
<bullet>POP3, IMAP, MBOX, Files, Variables</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Supported formats:</blurb>
|
||||
@@ -19,4 +22,7 @@
|
||||
<bullet>multipart/digest: mailinglist digests</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Overview:</blurb>
|
||||
<link>http://ez.no/doc/components/view/latest/(file)/Mail_rfcs.html</link>
|
||||
|
||||
</slide>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<slide>
|
||||
<title>Mail</title>
|
||||
<subtitle>Creating and Sending Mail</subtitle>
|
||||
<subtitle>Easy Mail Creation</subtitle>
|
||||
|
||||
<example filename='mail.php' result="1"/>
|
||||
<example filename='mail.php' result="0"/>
|
||||
</slide>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<slide>
|
||||
<title>Persistent Object</title>
|
||||
<title>PersistentObject</title>
|
||||
<subtitle>Example</subtitle>
|
||||
|
||||
<example encoding="iso-8859-1" filename='persistent-object.php'/>
|
||||
|
||||
|
||||
307
slides/ezc/ez-1400.css
Normal file
307
slides/ezc/ez-1400.css
Normal file
@@ -0,0 +1,307 @@
|
||||
<style title="Default" type="text/css">
|
||||
body {
|
||||
font-size: 11px;
|
||||
margin-left:24px;
|
||||
margin-right:0px;
|
||||
margin-top:0em;
|
||||
margin-bottom:0em;
|
||||
background-image: url(presentations/slides/ezc/ez-background-1400.jpg);
|
||||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
overflow: -moz-scrollbars-none;
|
||||
font-family: Arial, helvetica, sans-serif;
|
||||
}
|
||||
|
||||
body.title
|
||||
{
|
||||
background-image: url(presentations/slides/ezc/ez-background-title-1400.jpg);
|
||||
overflow: none;
|
||||
}
|
||||
div.sticky {
|
||||
margin: 0;
|
||||
position: fixed;
|
||||
top: -0.5em;
|
||||
left: 406px;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
}
|
||||
div.navbar {
|
||||
padding: 4;
|
||||
margin: 0;
|
||||
height: 14em;
|
||||
font-family: "MaxOT-book", verdana, tahoma, arial, helvetica, sans-serif;
|
||||
z-index: 99;
|
||||
}
|
||||
div.navbar_title, div.navbar_title a, div.subtitle {
|
||||
font-size: 36px;
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
margin-top: 28px;
|
||||
}
|
||||
body.title div.navbar
|
||||
{
|
||||
visibility: hidden; display: none;
|
||||
}
|
||||
div.subtitle {
|
||||
margin-top: 0px;
|
||||
font-size: 25px;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.navbar_nr a {
|
||||
font-size: 18px;
|
||||
color: #77a;
|
||||
text-decoration: none;
|
||||
position: fixed;
|
||||
right: 10px;
|
||||
bottom: 0px;
|
||||
}
|
||||
div.mainarea {
|
||||
margin-top: 180px;
|
||||
margin-left: 20px;
|
||||
padding-top: 10px;
|
||||
padding-right: 20px;
|
||||
width: 1335px;
|
||||
height: 800px;
|
||||
overflow: auto;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
}
|
||||
body.title div.mainarea
|
||||
{
|
||||
margin-top: 380px;
|
||||
overflow: -moz-scrollbars-none;
|
||||
}
|
||||
ul.pres {
|
||||
list-style: circle;
|
||||
font-size: 25pt;
|
||||
}
|
||||
|
||||
ul.numbered
|
||||
{
|
||||
font-size: 28pt;
|
||||
margin-right: 40px;
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
ul.level2 {
|
||||
list-style: circle;
|
||||
font-size: 22pt;
|
||||
margin-left: 40px;
|
||||
margin-top: -15px;
|
||||
}
|
||||
|
||||
li.pres_bullet, div.link {
|
||||
font-size: 28pt;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
li.pres_bullet_nr {
|
||||
font-size: 28pt;
|
||||
margin-right: 40px;
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
ul.large div li.pres_bullet
|
||||
{
|
||||
font-size: 36pt;
|
||||
}
|
||||
|
||||
ul.small div li.pres_bullet
|
||||
{
|
||||
font-size: 22pt;
|
||||
}
|
||||
|
||||
div.title_blurb {
|
||||
font-size: 90px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.small_blurb {
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
div.blurb, div.bit_larger_output_text {
|
||||
font-size: 28pt;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.bit_larger_output_text {
|
||||
margin-top: 13px;
|
||||
}
|
||||
|
||||
div.x_small_blurb {
|
||||
font-size: 0.5em;
|
||||
}
|
||||
|
||||
div.large_blurb {
|
||||
font-size: 36pt;
|
||||
}
|
||||
|
||||
div.large_blurb_center {
|
||||
font-size: 53px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.blurb_center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.quote {
|
||||
font-size: 45px;
|
||||
text-align: center;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
div.quote_attr {
|
||||
font-size: 33px;
|
||||
text-align: right;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
div.xx_large_blurb_center {
|
||||
font-size: 90px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.q_mark {
|
||||
text-align: center;
|
||||
font-size: 538px;
|
||||
}
|
||||
|
||||
div.shadow, code {
|
||||
font-size: 16px; width: 1240px;
|
||||
}
|
||||
|
||||
div.example code, div.highlight code, div.bit_larger, div.bit_larger code, div.bit_larger_output {
|
||||
background: #eee;
|
||||
font-size: 22px;
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
div.example, div.highlight, div.bit_larger, div.bit_larger_output {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
div.bit_larger_output {
|
||||
background: #e6e300;
|
||||
font-size: 28pt;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.large code, div.large {
|
||||
font-size: 36px;
|
||||
background: #eee;
|
||||
font-weight: bold;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
div.highlight code, div.highlight {
|
||||
background: #fffc00;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.code_small, div.code_medium, div.code_large, div.example {
|
||||
background: #eee;
|
||||
}
|
||||
div.code_small code {
|
||||
font-size: 14px;
|
||||
}
|
||||
div.code_medium code, div.code_medium pre {
|
||||
font-size: 22px;
|
||||
}
|
||||
div.code_large code, div.code_large pre {
|
||||
font-size: 25px;
|
||||
}
|
||||
div.example pre {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.event, div.event-date, div.event-presenter {
|
||||
text-align: center;
|
||||
font-size: 36pt;
|
||||
font-family: "MaxOT-book";
|
||||
}
|
||||
|
||||
div.pres-url-small {
|
||||
text-align: center;
|
||||
font-size: 25pt;
|
||||
font-family: "MaxOT-book";
|
||||
}
|
||||
|
||||
img.spaced {
|
||||
margin-right: 25px;
|
||||
margin-left: 25px;
|
||||
margin-top: 25px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 22pt;
|
||||
}
|
||||
|
||||
table.dbtable {
|
||||
border-spacing: 0px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.dbtable tr {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
background-color: #f00;
|
||||
}
|
||||
|
||||
table.dbtable td {
|
||||
margin: 0px;
|
||||
padding: 1px 5px 1px 5px;
|
||||
border: thin solid black;
|
||||
background-color: #fff;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.dbtable td.header {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.dbtable td.header-candidate-key {
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
table.dbtable td.header-key, table.dbtable td.header-key-moved-to {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
color: red;
|
||||
}
|
||||
|
||||
table.dbtable td.header-moved, table.dbtable td.moved {
|
||||
border: 1px dotted #aaa;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
table.dbtable td.header-moved, table.dbtable td.header-moved-to {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.dbtable td.header-moved-to, table.dbtable td.moved-to, table.dbtable td.header-key-moved-to {
|
||||
border: 2px solid black;
|
||||
}
|
||||
|
||||
div#graph {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
iframe#graphIn {
|
||||
border-style: none; height: 700px; width: 1300px;
|
||||
}
|
||||
</style>
|
||||
BIN
slides/ezc/ez-background-1400.jpg
Normal file
BIN
slides/ezc/ez-background-1400.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
slides/ezc/ez-background-title-1400.jpg
Normal file
BIN
slides/ezc/ez-background-title-1400.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@@ -92,7 +92,7 @@ ul.level2 {
|
||||
}
|
||||
|
||||
li.pres_bullet, div.link {
|
||||
font-size: 20pt;
|
||||
font-size: 24pt;
|
||||
margin-right: 40px;
|
||||
}
|
||||
|
||||
@@ -122,8 +122,8 @@ div.small_blurb {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
div.blurb, div.bit_larger_output_text {
|
||||
font-size: 20pt;
|
||||
div.blurb, div.bit_larger_output_text, div.output {
|
||||
font-size: 24pt;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -172,12 +172,13 @@ div.q_mark {
|
||||
}
|
||||
|
||||
div.shadow, code {
|
||||
font-size: 14px; width: 920px;
|
||||
width: 920px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
div.example code, div.highlight code, div.bit_larger, div.bit_larger code, div.bit_larger_output {
|
||||
background: #eee;
|
||||
font-size: 16px;
|
||||
font-size: 20px;
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -294,4 +295,12 @@ table.dbtable td.header-moved, table.dbtable td.header-moved-to {
|
||||
table.dbtable td.header-moved-to, table.dbtable td.moved-to, table.dbtable td.header-key-moved-to {
|
||||
border: 2px solid black;
|
||||
}
|
||||
|
||||
div#graph {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
iframe#graphIn {
|
||||
border-style: none; height: 600px; width: 1000px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
ini_set( 'include_path', '/home/httpd/ezcomponents/trunk:.' );
|
||||
ini_set( 'include_path', '/home/derick/dev/ezcomponents/trunk:.' );
|
||||
require 'Base/src/base.php';
|
||||
|
||||
function __autoload( $className )
|
||||
|
||||
31
slides/ezc/fluent-interface.xml
Normal file
31
slides/ezc/fluent-interface.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<slide>
|
||||
<title>Database</title>
|
||||
<subtitle>Fluent Interface</subtitle>
|
||||
|
||||
|
||||
<blurb>Works by returning the object that a method is called on after
|
||||
the method does it's work.</blurb>
|
||||
<break lines="2"/>
|
||||
<example><![CDATA[<?php
|
||||
public function from()
|
||||
{
|
||||
if ( $this->fromString == '' )
|
||||
{
|
||||
$this->fromString = 'FROM ';
|
||||
}
|
||||
// ...
|
||||
$this->fromString .= join( ', ', $tables );
|
||||
return $this;
|
||||
}
|
||||
?>]]></example>
|
||||
|
||||
<break lines="2"/>
|
||||
<blurb>Allows for chaining of calls:</blurb>
|
||||
<break lines="2"/>
|
||||
<example><![CDATA[<?php
|
||||
$q->select( '*' )->from( 'quotes' )
|
||||
->where( $e->eq( 'author', $q->bindValue( 'Robert Foster' ) ) );
|
||||
?>]]></example>
|
||||
|
||||
</slide>
|
||||
|
||||
@@ -5,18 +5,17 @@
|
||||
|
||||
<blurb>New components:</blurb>
|
||||
<list>
|
||||
<bullet>*Authentication*: Graphs and diagrams</bullet>
|
||||
<bullet>*Feed*: Reading and writing RSS/Atom feeds</bullet>
|
||||
<bullet>*Authentication*: Authentication against database, Typekey, (OpenID)</bullet>
|
||||
<bullet>*Workflow*: Workflow engine</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Additions to components:</blurb>
|
||||
<list>
|
||||
<bullet>*Database*: SQL Server driver, Debugging support</bullet>
|
||||
<bullet>*DatabaseSchema*: Foreign Key support</bullet>
|
||||
<bullet>*Mail*: Caching, other additions</bullet>
|
||||
<bullet>*Database*: SQL Server driver</bullet>
|
||||
<bullet>*Graph*: Radar charts, PDO data sets</bullet>
|
||||
<bullet>*Mail*: Caching, SSL support</bullet>
|
||||
<bullet>*PersistentObject*: Class stub generation</bullet>
|
||||
<bullet>*Template*: Caching, Character set support and Translation Tie-in </bullet>
|
||||
<bullet>*Template*: Caching</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Roadmap: http://issues.ez.no/RoadMap.php?Id=487</blurb>
|
||||
|
||||
23
slides/ezc/graph-overview.xml
Normal file
23
slides/ezc/graph-overview.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<slide>
|
||||
<title>Graph</title>
|
||||
<subtitle>Introduction</subtitle>
|
||||
|
||||
<blurb>Creates different kinds of diagrams:</blurb>
|
||||
<list>
|
||||
<bullet>Line charts</bullet>
|
||||
<bullet>Bar charts</bullet>
|
||||
<bullet>Pie charts</bullet>
|
||||
<bullet>Radar charts</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Drivers: GD, SVG, Flash</blurb>
|
||||
<break/>
|
||||
<blurb>Renderers: 2D, 3D</blurb>
|
||||
<break/>
|
||||
<blurb>Datasets: Array, Numeric, PDO, Average (Polynomal)</blurb>
|
||||
<break/>
|
||||
<blurb>Axis: Date, Numeric, labeled, Logarithmic</blurb>
|
||||
<break/>
|
||||
<blurb>Palettes: Black, eZ, Tango, User Defined</blurb>
|
||||
|
||||
</slide>
|
||||
@@ -21,6 +21,6 @@ $chart->data['ips'] = new ezcGraphArrayDataSet( $ips );
|
||||
$chart->data['ips']->label = 'IP addresses';
|
||||
|
||||
$chart->driver = new ezcGraphSvgDriver();
|
||||
$chart->render( 700, 400, 'php://output' );
|
||||
$chart->render( 600, 400, 'php://output' );
|
||||
|
||||
?>
|
||||
|
||||
19
slides/ezc/image-conversion-intro.xml
Normal file
19
slides/ezc/image-conversion-intro.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<slide>
|
||||
<title>ImageConversion</title>
|
||||
<subtitle>Introduction</subtitle>
|
||||
|
||||
<list>
|
||||
<bullet>Filters and Transformations</bullet>
|
||||
<bullet>Different backends: GD and ImageMagick</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Supported filters:</blurb>
|
||||
<list>
|
||||
<bullet>Colorspace: monochrome, sepia and grey</bullet>
|
||||
<bullet>Effects: border, noise, swirl</bullet>
|
||||
<bullet>Geometry: crop, scale</bullet>
|
||||
<bullet>Thumbnail</bullet>
|
||||
<bullet>Watermark</bullet>
|
||||
</list>
|
||||
|
||||
</slide>
|
||||
25
slides/ezc/imageconversion-thumbnail-transformation.php
Normal file
25
slides/ezc/imageconversion-thumbnail-transformation.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
require 'ezc-setup.php';
|
||||
|
||||
// Setup
|
||||
$filters = array();
|
||||
$settings = new ezcImageConverterSettings(
|
||||
array( new ezcImageHandlerSettings( 'GD', 'ezcImageGdHandler' ) )
|
||||
);
|
||||
$converter = new ezcImageConverter( $settings );
|
||||
|
||||
// Create transformation
|
||||
$filters[] = new ezcImageFilter(
|
||||
'croppedThumbnail', array( 'width' => 128, 'height' => 128 )
|
||||
);
|
||||
$converter->createTransformation(
|
||||
'doThumbnail', $filters, array( 'image/png' )
|
||||
);
|
||||
|
||||
foreach ( glob ( '*.[Jj][Pp][Gg]') as $file )
|
||||
{
|
||||
$converter->transform(
|
||||
'doThumbnail', $file, "thumbnails/{$file}.png"
|
||||
);
|
||||
}
|
||||
?>
|
||||
@@ -5,21 +5,19 @@
|
||||
|
||||
<blurb>Installation:</blurb>
|
||||
<example><![CDATA[// download the bundle from http://ez.no/download/ez_components
|
||||
tar -xjf ezcomponents-2006.2.tar.bz2
|
||||
tar -xjf ezcomponents-2007.1beta1.tar.bz2
|
||||
pwd]]></example>
|
||||
|
||||
<break lines="3"/>
|
||||
|
||||
<blurb>Setup:</blurb>
|
||||
<example result='1'><![CDATA[<?php
|
||||
ini_set( 'include_path', '/home/httpd/ezcomponents-2006.2:.' );
|
||||
<example result='0'><![CDATA[<?php
|
||||
ini_set( 'include_path', '/home/httpd/ezcomponents-2007.1beta1:.' );
|
||||
require 'Base/src/base.php';
|
||||
|
||||
function __autoload( $className )
|
||||
{
|
||||
ezcBase::autoload( $className );
|
||||
}
|
||||
|
||||
ezcBase::checkDependency( 'Test', ezcBase::DEP_PHP_VERSION, '5.3.0' );
|
||||
?>]]></example>
|
||||
</slide>
|
||||
|
||||
@@ -11,14 +11,12 @@ pear install ezc/ezcomponents]]></example>
|
||||
<break lines="3"/>
|
||||
|
||||
<blurb>Setup:</blurb>
|
||||
<example result='1'><![CDATA[<?php
|
||||
<example result='0'><![CDATA[<?php
|
||||
require 'ezc/Base/base.php';
|
||||
|
||||
function __autoload( $className )
|
||||
{
|
||||
ezcBase::autoload( $className );
|
||||
}
|
||||
|
||||
ezcBase::checkDependency( 'Test', ezcBase::DEP_PHP_VERSION, '5.3.0' );
|
||||
?>]]></example>
|
||||
</slide>
|
||||
|
||||
189
slides/ezc/mail-diagram.svg
Normal file
189
slides/ezc/mail-diagram.svg
Normal file
@@ -0,0 +1,189 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
|
||||
<!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
|
||||
]>
|
||||
<!-- Generated by dot version 2.8 (Fri Dec 8 12:52:02 UTC 2006)
|
||||
For user: (derick) Derick Rethans,,, -->
|
||||
<!-- Title: Test Pages: 1 -->
|
||||
<svg width="100%" height="100%"
|
||||
viewBox = "0 0 712 726"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" style="font-family:Times-Roman;font-size:14.00;">
|
||||
<title>Test</title>
|
||||
<polygon style="fill:white;stroke:white;" points="-2,728 -2,-2 714,-2 714,728 -2,728"/>
|
||||
<!-- 0 -->
|
||||
<g id="node1" class="node"><title>0</title>
|
||||
<text text-anchor="middle" x="260" y="26" style="font-family:Arial;">From: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="218,31 218,11 301,11 301,31 218,31"/>
|
||||
<text text-anchor="middle" x="444" y="26" style="font-family:Arial;">John Doe <john@doe.com></text>
|
||||
<polygon style="fill:none;stroke:black;" points="303,31 303,11 584,11 584,31 303,31"/>
|
||||
<text text-anchor="middle" x="260" y="48" style="font-family:Arial;">To: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="218,53 218,33 301,33 301,53 218,53"/>
|
||||
<text text-anchor="middle" x="444" y="48" style="font-family:Arial;">Derick Rethans <dr@ez.no></text>
|
||||
<polygon style="fill:none;stroke:black;" points="303,53 303,33 584,33 584,53 303,53"/>
|
||||
<text text-anchor="middle" x="260" y="70" style="font-family:Arial;">Date: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="218,75 218,55 301,55 301,75 218,75"/>
|
||||
<text text-anchor="middle" x="444" y="70" style="font-family:Arial;">Fri, 21 Apr 06 14:04:46 +0200</text>
|
||||
<polygon style="fill:none;stroke:black;" points="303,75 303,55 584,55 584,75 303,75"/>
|
||||
<text text-anchor="middle" x="260" y="92" style="font-family:Arial;">Subject: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="218,97 218,77 301,77 301,97 218,97"/>
|
||||
<text text-anchor="middle" x="444" y="92" style="font-family:Arial;">Example of an HTML email with attachments</text>
|
||||
<polygon style="fill:none;stroke:black;" points="303,97 303,77 584,77 584,97 303,97"/>
|
||||
<text text-anchor="middle" x="260" y="114" style="font-family:Arial;">MessageId: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="218,119 218,99 301,99 301,119 218,119"/>
|
||||
<text text-anchor="middle" x="444" y="114" style="font-family:Arial;"><2006042114142146.32705.2@doe.com></text>
|
||||
<polygon style="fill:none;stroke:black;" points="303,119 303,99 584,99 584,119 303,119"/>
|
||||
<polygon style="fill:none;stroke:black;" points="215,122 215,8 587,8 587,122 215,122"/>
|
||||
</g>
|
||||
<!-- 1 -->
|
||||
<g id="node3" class="node"><title>1</title>
|
||||
<text text-anchor="middle" x="401" y="185" style="font-family:Arial;">1. ezcMailMultipartMixed</text>
|
||||
<polygon style="fill:none;stroke:black;" points="322,190 322,170 480,170 480,190 322,190"/>
|
||||
<polygon style="fill:none;stroke:black;" points="319,193 319,167 483,167 483,193 319,193"/>
|
||||
</g>
|
||||
<!-- 0->1 -->
|
||||
<g id="edge2" class="edge"><title>0->1</title>
|
||||
<path style="fill:none;stroke:black;" d="M401,126C401,135 401,144 401,152"/>
|
||||
<polygon style="fill:black;stroke:black;" points="405,152 401,162 398,152 405,152"/>
|
||||
</g>
|
||||
<!-- 1.1 -->
|
||||
<g id="node5" class="node"><title>1.1</title>
|
||||
<text text-anchor="middle" x="291" y="257" style="font-family:Arial;">1.1. ezcMailMultipartAlternative</text>
|
||||
<polygon style="fill:none;stroke:black;" points="192,262 192,242 390,242 390,262 192,262"/>
|
||||
<polygon style="fill:none;stroke:black;" points="189,265 189,239 393,239 393,265 189,265"/>
|
||||
</g>
|
||||
<!-- 1->1.1 -->
|
||||
<g id="edge4" class="edge"><title>1->1.1</title>
|
||||
<path style="fill:none;stroke:black;" d="M373,198C359,207 342,218 327,228"/>
|
||||
<polygon style="fill:black;stroke:black;" points="328,231 318,234 324,226 328,231"/>
|
||||
</g>
|
||||
<!-- 1.2 -->
|
||||
<g id="node21" class="node"><title>1.2</title>
|
||||
<text text-anchor="middle" x="512" y="257" style="font-family:Arial;">1.2. ezcMailFile</text>
|
||||
<polygon style="fill:none;stroke:black;" points="461,262 461,242 563,242 563,262 461,262"/>
|
||||
<polygon style="fill:none;stroke:black;" points="458,265 458,239 566,239 566,265 458,265"/>
|
||||
</g>
|
||||
<!-- 1->1.2 -->
|
||||
<g id="edge20" class="edge"><title>1->1.2</title>
|
||||
<path style="fill:none;stroke:black;" d="M429,198C443,207 461,218 476,228"/>
|
||||
<polygon style="fill:black;stroke:black;" points="478,225 484,234 474,231 478,225"/>
|
||||
</g>
|
||||
<!-- 1.1.1 -->
|
||||
<g id="node7" class="node"><title>1.1.1</title>
|
||||
<text text-anchor="middle" x="96" y="372" style="font-family:Arial;">1.1.1. ezcMailText</text>
|
||||
<polygon style="fill:none;stroke:black;" points="37,377 37,357 155,357 155,377 37,377"/>
|
||||
<polygon style="fill:none;stroke:black;" points="34,380 34,354 158,354 158,380 34,380"/>
|
||||
</g>
|
||||
<!-- 1.1->1.1.1 -->
|
||||
<g id="edge6" class="edge"><title>1.1->1.1.1</title>
|
||||
<path style="fill:none;stroke:black;" d="M247,270C225,280 198,292 175,306 158,317 140,331 125,343"/>
|
||||
<polygon style="fill:black;stroke:black;" points="127,346 117,349 123,340 127,346"/>
|
||||
</g>
|
||||
<!-- 1.1.2 -->
|
||||
<g id="node11" class="node"><title>1.1.2</title>
|
||||
<text text-anchor="middle" x="291" y="372" style="font-family:Arial;">1.1.2. ezcMailMultipartRelated</text>
|
||||
<polygon style="fill:none;stroke:black;" points="195,377 195,357 387,357 387,377 195,377"/>
|
||||
<polygon style="fill:none;stroke:black;" points="192,380 192,354 390,354 390,380 192,380"/>
|
||||
</g>
|
||||
<!-- 1.1->1.1.2 -->
|
||||
<g id="edge10" class="edge"><title>1.1->1.1.2</title>
|
||||
<path style="fill:none;stroke:black;" d="M291,270C291,289 291,317 291,339"/>
|
||||
<polygon style="fill:black;stroke:black;" points="295,339 291,349 288,339 295,339"/>
|
||||
</g>
|
||||
<!-- 1.1.1.content -->
|
||||
<g id="node9" class="node"><title>1.1.1.content</title>
|
||||
<text text-anchor="middle" x="96" y="486" style="font-family:Arial;">Original Charset: us-ascii</text>
|
||||
<polygon style="fill:none;stroke:black;" points="15,491 15,471 177,471 177,491 15,491"/>
|
||||
<text text-anchor="middle" x="96" y="508" style="font-family:Arial;">Charset: utf-8</text>
|
||||
<polygon style="fill:none;stroke:black;" points="15,513 15,493 177,493 177,513 15,513"/>
|
||||
<text text-anchor="middle" x="96" y="530" style="font-family:Arial;">Encoding: 8bit</text>
|
||||
<polygon style="fill:none;stroke:black;" points="15,535 15,515 177,515 177,535 15,535"/>
|
||||
<text text-anchor="middle" x="96" y="552" style="font-family:Arial;">Type: plain</text>
|
||||
<polygon style="fill:none;stroke:black;" points="15,557 15,537 177,537 177,557 15,557"/>
|
||||
<polygon style="fill:none;stroke:black;" points="12,560 12,468 180,468 180,560 12,560"/>
|
||||
</g>
|
||||
<!-- 1.1.1->1.1.1.content -->
|
||||
<g id="edge8" class="edge"><title>1.1.1->1.1.1.content</title>
|
||||
<path style="fill:none;stroke:black;stroke-dasharray:5,2;" d="M96,385C96,402 96,428 96,454"/>
|
||||
<polygon style="fill:black;stroke:black;" points="100,454 96,464 93,454 100,454"/>
|
||||
</g>
|
||||
<!-- 1.1.2.0 -->
|
||||
<g id="node13" class="node"><title>1.1.2.0</title>
|
||||
<text text-anchor="middle" x="286" y="519" style="font-family:Arial;">1.1.2.0. ezcMailText</text>
|
||||
<polygon style="fill:none;stroke:black;" points="221,524 221,504 351,504 351,524 221,524"/>
|
||||
<polygon style="fill:none;stroke:black;" points="218,527 218,501 354,501 354,527 218,527"/>
|
||||
</g>
|
||||
<!-- 1.1.2->1.1.2.0 -->
|
||||
<g id="edge12" class="edge"><title>1.1.2->1.1.2.0</title>
|
||||
<path style="fill:none;stroke:black;" d="M290,385C289,410 288,455 287,486"/>
|
||||
<polygon style="fill:black;stroke:black;" points="291,486 287,496 284,486 291,486"/>
|
||||
</g>
|
||||
<!-- 1.1.2.1 -->
|
||||
<g id="node17" class="node"><title>1.1.2.1</title>
|
||||
<text text-anchor="middle" x="510" y="519" style="font-family:Arial;">1.1.2.1. ezcMailFile</text>
|
||||
<polygon style="fill:none;stroke:black;" points="447,524 447,504 573,504 573,524 447,524"/>
|
||||
<polygon style="fill:none;stroke:black;" points="444,527 444,501 576,501 576,527 444,527"/>
|
||||
</g>
|
||||
<!-- 1.1.2->1.1.2.1 -->
|
||||
<g id="edge16" class="edge"><title>1.1.2->1.1.2.1</title>
|
||||
<path style="fill:none;stroke:black;" d="M318,385C357,411 431,460 475,490"/>
|
||||
<polygon style="fill:black;stroke:black;" points="477,487 483,496 473,493 477,487"/>
|
||||
</g>
|
||||
<!-- 1.1.2.0.content -->
|
||||
<g id="node15" class="node"><title>1.1.2.0.content</title>
|
||||
<text text-anchor="middle" x="258" y="633" style="font-family:Arial;">Original Charset: us-ascii</text>
|
||||
<polygon style="fill:none;stroke:black;" points="177,638 177,618 339,618 339,638 177,638"/>
|
||||
<text text-anchor="middle" x="258" y="655" style="font-family:Arial;">Charset: utf-8</text>
|
||||
<polygon style="fill:none;stroke:black;" points="177,660 177,640 339,640 339,660 177,660"/>
|
||||
<text text-anchor="middle" x="258" y="677" style="font-family:Arial;">Encoding: 8bit</text>
|
||||
<polygon style="fill:none;stroke:black;" points="177,682 177,662 339,662 339,682 177,682"/>
|
||||
<text text-anchor="middle" x="258" y="699" style="font-family:Arial;">Type: html</text>
|
||||
<polygon style="fill:none;stroke:black;" points="177,704 177,684 339,684 339,704 177,704"/>
|
||||
<polygon style="fill:none;stroke:black;" points="174,707 174,615 342,615 342,707 174,707"/>
|
||||
</g>
|
||||
<!-- 1.1.2.0->1.1.2.0.content -->
|
||||
<g id="edge14" class="edge"><title>1.1.2.0->1.1.2.0.content</title>
|
||||
<path style="fill:none;stroke:black;stroke-dasharray:5,2;" d="M283,532C279,549 274,576 270,601"/>
|
||||
<polygon style="fill:black;stroke:black;" points="273,602 268,611 267,601 273,602"/>
|
||||
</g>
|
||||
<!-- 1.1.2.1.content -->
|
||||
<g id="node19" class="node"><title>1.1.2.1.content</title>
|
||||
<text text-anchor="middle" x="538" y="622" style="font-family:Arial;">Disposition Type: attachment</text>
|
||||
<polygon style="fill:none;stroke:black;" points="379,627 379,607 697,607 697,627 379,627"/>
|
||||
<text text-anchor="middle" x="538" y="644" style="font-family:Arial;">Content Type: application</text>
|
||||
<polygon style="fill:none;stroke:black;" points="379,649 379,629 697,629 697,649 379,649"/>
|
||||
<text text-anchor="middle" x="538" y="666" style="font-family:Arial;">Mime Type: octet-stream</text>
|
||||
<polygon style="fill:none;stroke:black;" points="379,671 379,651 697,651 697,671 379,671"/>
|
||||
<text text-anchor="middle" x="538" y="688" style="font-family:Arial;">Content ID: consoletools-table.png@1421450</text>
|
||||
<polygon style="fill:none;stroke:black;" points="379,693 379,673 697,673 697,693 379,693"/>
|
||||
<text text-anchor="middle" x="538" y="710" style="font-family:Arial;">Filename: /tmp/9609-1/consoletools-table.png</text>
|
||||
<polygon style="fill:none;stroke:black;" points="379,715 379,695 697,695 697,715 379,715"/>
|
||||
<polygon style="fill:none;stroke:black;" points="376,718 376,604 700,604 700,718 376,718"/>
|
||||
</g>
|
||||
<!-- 1.1.2.1->1.1.2.1.content -->
|
||||
<g id="edge18" class="edge"><title>1.1.2.1->1.1.2.1.content</title>
|
||||
<path style="fill:none;stroke:black;stroke-dasharray:5,2;" d="M513,532C516,547 520,568 524,590"/>
|
||||
<polygon style="fill:black;stroke:black;" points="527,590 526,600 521,591 527,590"/>
|
||||
</g>
|
||||
<!-- 1.2.content -->
|
||||
<g id="node23" class="node"><title>1.2.content</title>
|
||||
<text text-anchor="middle" x="543" y="328" style="font-family:Arial;">Disposition Type: attachment</text>
|
||||
<polygon style="fill:none;stroke:black;" points="427,333 427,313 659,313 659,333 427,333"/>
|
||||
<text text-anchor="middle" x="543" y="350" style="font-family:Arial;">Content Type: application</text>
|
||||
<polygon style="fill:none;stroke:black;" points="427,355 427,335 659,335 659,355 427,355"/>
|
||||
<text text-anchor="middle" x="543" y="372" style="font-family:Arial;">Mime Type: octet-stream</text>
|
||||
<polygon style="fill:none;stroke:black;" points="427,377 427,357 659,357 659,377 427,377"/>
|
||||
<text text-anchor="middle" x="543" y="394" style="font-family:Arial;">Content ID: </text>
|
||||
<polygon style="fill:none;stroke:black;" points="427,399 427,379 659,379 659,399 427,399"/>
|
||||
<text text-anchor="middle" x="543" y="416" style="font-family:Arial;">Filename: /tmp/9609-2/mail.php</text>
|
||||
<polygon style="fill:none;stroke:black;" points="427,421 427,401 659,401 659,421 427,421"/>
|
||||
<polygon style="fill:none;stroke:black;" points="424,424 424,310 662,310 662,424 424,424"/>
|
||||
</g>
|
||||
<!-- 1.2->1.2.content -->
|
||||
<g id="edge22" class="edge"><title>1.2->1.2.content</title>
|
||||
<path style="fill:none;stroke:black;stroke-dasharray:5,2;" d="M517,270C519,277 522,287 524,296"/>
|
||||
<polygon style="fill:black;stroke:black;" points="527,295 527,306 521,297 527,295"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
11
slides/ezc/mail-diagram.xml
Normal file
11
slides/ezc/mail-diagram.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<slide fontsize="6em">
|
||||
<title>Mail Creation</title>
|
||||
<subtitle>Diagram</subtitle>
|
||||
|
||||
<blurb><![CDATA[
|
||||
<div id="graph">
|
||||
<iframe id="graphIn" src="/presentations/slides/ezc/mail-diagram.svg"/>
|
||||
</div>
|
||||
]]></blurb>
|
||||
</slide>
|
||||
@@ -1,29 +1,25 @@
|
||||
<?php
|
||||
require 'ezc-setup.php';
|
||||
$dir = dirname( __FILE__ );
|
||||
|
||||
$mail = new ezcMailComposer();
|
||||
|
||||
// from and to addresses, and subject
|
||||
$mail->from = new ezcMailAddress( 'john@doe.com', 'John Doe' );
|
||||
$mail->addTo( new ezcMailAddress( 'dr@ez.no', 'Derick Rethans' ) );
|
||||
|
||||
$mail->subject = "Example of an HTML email with attachments";
|
||||
$mail->plainText = "Here is the text version of the mail.
|
||||
This is displayed if the client can not understand HTML";
|
||||
|
||||
// body: plain
|
||||
$mail->plainText = "Here is the text version of the mail.";
|
||||
|
||||
// body: html
|
||||
$mail->htmlText = <<<ENDHTML
|
||||
<html>
|
||||
Here is the HTML version of your mail
|
||||
with an image: <img src='file://$dir/consoletools-table.png'/>
|
||||
</html>
|
||||
<html>Here is the HTML version of your mail with an image: <img
|
||||
src='file://$dir/consoletools-table.png'/></html>
|
||||
ENDHTML;
|
||||
|
||||
// add an attachment
|
||||
$mail->addAttachment( "$dir/mail.php" );
|
||||
$mail->build();
|
||||
|
||||
echo "<pre><font size='4'>",
|
||||
htmlspecialchars(
|
||||
$mail->generateHeaders() . "\r\n" . $mail->generateBody() );
|
||||
|
||||
// send the mail
|
||||
$transport = new ezcMailTransportSmtp( 'localhost', null, null, 2525 );
|
||||
//$transport->send( $mail );
|
||||
$transport->send( $mail );
|
||||
?>
|
||||
|
||||
@@ -2,5 +2,9 @@
|
||||
<slide fontsize="6em">
|
||||
<title>Overview</title>
|
||||
|
||||
<image align="center" filename="all_your_base.png" pdf-scale="0.75"/>
|
||||
<blurb><![CDATA[
|
||||
<div id="graph">
|
||||
<iframe id="graphIn" src="http://kossu/test/allyourbase.svg"/>
|
||||
</div>
|
||||
]]></blurb>
|
||||
</slide>
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<?php
|
||||
require 'ezc-setup.php';
|
||||
$session = new ezcPersistentSession(
|
||||
ezcDbInstance::get(),
|
||||
new ezcPersistentCodeManager( "path/to/definitions" )
|
||||
ezcDbInstance::get(), new ezcPersistentCodeManager( "path/to/definitions" )
|
||||
);
|
||||
|
||||
// Creating New Objects
|
||||
@@ -17,12 +16,10 @@ $q = $session->createFindQuery( 'City' );
|
||||
$q->where(
|
||||
$sq->expr->like( 'name', $sq->bindValue( 'oslo%' ) )
|
||||
)
|
||||
->orderBy( 'country', 'name' )
|
||||
->limit( 10 );
|
||||
->orderBy( 'country', 'name' )->limit( 10 );
|
||||
$objects = $session->findIterator( $q, 'City' );
|
||||
|
||||
foreach ( $objects as $object )
|
||||
{
|
||||
// ...
|
||||
}
|
||||
?>
|
||||
|
||||
22
slides/ezc/pesistent-object-abstraction-intro.xml
Normal file
22
slides/ezc/pesistent-object-abstraction-intro.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<slide>
|
||||
<title>PersistentObject</title>
|
||||
<subtitle>Introduction</subtitle>
|
||||
|
||||
<list>
|
||||
<bullet>Sits on top of Database</bullet>
|
||||
<bullet>Object Relational Model</bullet>
|
||||
<bullet>Based on Hibernate - not Active Record</bullet>
|
||||
<bullet>Uses definition files, which can be auto generated by a script
|
||||
as part of the PersistentObjectDatabaseSchemaTiein:</bullet>
|
||||
</list>
|
||||
|
||||
<example><![CDATA[php rungenerator.php
|
||||
-s mysql://root@localhost/geolocation -f mysql /tmp]]></example>
|
||||
|
||||
<list>
|
||||
<bullet>The classes itself can also be generated by this script</bullet>
|
||||
<bullet>Work is being done to allow definitions to be generated on the fly from annotated source code</bullet>
|
||||
</list>
|
||||
|
||||
</slide>
|
||||
|
||||
25
slides/ezc/query-abstraction-intro.xml
Normal file
25
slides/ezc/query-abstraction-intro.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<slide>
|
||||
<title>Database</title>
|
||||
<subtitle>Query Abstraction</subtitle>
|
||||
|
||||
|
||||
<blurb>Allows writing SQL that works for all supported databases, without
|
||||
having to deal with differences in SQL dialects.</blurb>
|
||||
<break lines="2"/>
|
||||
|
||||
<blurb>Supported SQL categories:</blurb>
|
||||
<list>
|
||||
<bullet>SELECT: %$db->createSelectQuery();%</bullet>
|
||||
<bullet>INSERT: %$db->createInsertQuery();%</bullet>
|
||||
<bullet>UPDATE: %$db->createUpdateQuery();%</bullet>
|
||||
<bullet>DELETE: %$db->createDeleteQuery();%</bullet>
|
||||
</list>
|
||||
|
||||
<blurb>Query object:</blurb>
|
||||
<list>
|
||||
<bullet>Uses a "fluent-interface"</bullet>
|
||||
<bullet>Exposes an expression object through %$db->e%.</bullet>
|
||||
</list>
|
||||
|
||||
</slide>
|
||||
|
||||
Reference in New Issue
Block a user