Saturday, January 19, 2008
Membaca template dari berbagai datasource
patTemplate tidak terbatas untuk membaca template dari file system, tetapi menggunakan pendekatan sebuah driver untuk membaca template dari manapun secara virtual.
Pendekatan driver-based mempunyai dua keuntungan:
* Template dapat dibaca dari datasource
* Driver yang berbeda dapat menerjemahkan format template yang berbeda
Sebuah driver untuk membaca template disebut sebuah template reader. Sekarang ini, reader berikut yang tersedia:
* String, membaca template dari sebuah string, dapat digunakan ketika template Anda dibuat saat runtime
* File, membaca template dari satu atau lebih file. Ini adalah default dari reader
* DB, membaca template dari database yang disupport oleh PEAR::DB
* IT, membaca template dalan format HTML_Template_IT dari file system
Reader untuk digunakan dapat ditentukan kapan parseTemplatesFromInput() dipanggil:
PLAIN TEXT
PHP:
1.
$tmpl = new patTemplate();
2.
$tmpl->readTemplatesFromInput('MyTemplates.tmpl', 'File');
Jika Anda ingin menggunakan file reader, nama reader merupakan opsional.
Membaca template dari file
Membaca template dari sebuah file adalah hal yang paling sering digunakan. Anda dapat menggunakan method setRoot() untuk menentukan satu atau lebih folder, dimana template diletakkan.
PLAIN TEXT
PHP:
1.
$tmpl = new patTemplate();
2.
$tmpl->setRoot('/path/to/templates', 'File');
3.
$tmpl->readTemplatesFromInput('myTemplate.tmpl');
Membaca template dari sebuah string
Membaca sebuah template dari sebuah string mungkin sangat membantu, ketika Anda perlu membaca sebuah string dari sebuah sumber, yang tidak didukung oleh patTemplate dan mengimplementasikan sebuah reader yang baru akan sangat susah.
Semua yang Anda perlu kerjakan adalah melewatkan sumber template ke method readTemplatesFromInput():
PLAIN TEXT
PHP:
1.
$string = 'This template has been parsed from a string , as well as this.';
2.
3.
$tmpl = new patTemplate();
4.
$tmpl->readTemplatesFromInput( $string, 'String' );
Membaca template dari sebuah database
Ketika membaca template Anda dari sebuah database, layer abstraksi PEAR::DB akan digunakan. Anda perlu melewatkan string DSB ke method setRoot():
PLAIN TEXT
PHP:
1.
tmpl = new patTemplate();
2.
$tmpl->setRoot('mysql://root:@localhost/test', 'DB');
Bayangkan, template Anda disimpan dalam sebuah tabel yang disebut templates yang mempunyai field sebagai berikut:
* id, id unik untuk sebuah template
* content, field text yang berisi template sebenarnya
Jika Anda ingin membaca sebuah template yang disebut foo dari database, Anda dapat menggunakan cara yang berbeda. Salah satunya melewatkan perintah SQL kedalam method readTemplatesFromInput():
PLAIN TEXT
PHP:
1.
$tmpl->readTemplatesFromInput("SELECT content FROM templates WHERE id='foo'", 'DB');
Namun, jika tabel Anda sederhana seperti itu, Anda dapat membuat reader membangun query untuk Anda dan menggunakan sintak XPath-like:
PLAIN TEXT
PHP:
1.
$tmpl->readTemplatesFromInput('templates[@id=foo]/@content', 'DB');
String ini berisi bagian sebagai berikut:
PLAIN TEXT
PHP:
1.
$table[@$keyName=$keyValue]/@$templateField
Membaca HTML_Template_IT templates
Reader IT memperbolehkan Anda untuk membaca template dalam sintak HTML_Template_IT atau PHPLib. Reader tersebut bekerja dengan benar seperti reader file.
Pendekatan driver-based mempunyai dua keuntungan:
* Template dapat dibaca dari datasource
* Driver yang berbeda dapat menerjemahkan format template yang berbeda
Sebuah driver untuk membaca template disebut sebuah template reader. Sekarang ini, reader berikut yang tersedia:
* String, membaca template dari sebuah string, dapat digunakan ketika template Anda dibuat saat runtime
* File, membaca template dari satu atau lebih file. Ini adalah default dari reader
* DB, membaca template dari database yang disupport oleh PEAR::DB
* IT, membaca template dalan format HTML_Template_IT dari file system
Reader untuk digunakan dapat ditentukan kapan parseTemplatesFromInput() dipanggil:
PLAIN TEXT
PHP:
1.
$tmpl = new patTemplate();
2.
$tmpl->readTemplatesFromInput('MyTemplates.tmpl', 'File');
Jika Anda ingin menggunakan file reader, nama reader merupakan opsional.
Membaca template dari file
Membaca template dari sebuah file adalah hal yang paling sering digunakan. Anda dapat menggunakan method setRoot() untuk menentukan satu atau lebih folder, dimana template diletakkan.
PLAIN TEXT
PHP:
1.
$tmpl = new patTemplate();
2.
$tmpl->setRoot('/path/to/templates', 'File');
3.
$tmpl->readTemplatesFromInput('myTemplate.tmpl');
Membaca template dari sebuah string
Membaca sebuah template dari sebuah string mungkin sangat membantu, ketika Anda perlu membaca sebuah string dari sebuah sumber, yang tidak didukung oleh patTemplate dan mengimplementasikan sebuah reader yang baru akan sangat susah.
Semua yang Anda perlu kerjakan adalah melewatkan sumber template ke method readTemplatesFromInput():
PLAIN TEXT
PHP:
1.
$string = 'This template has been parsed from a string , as well as this.';
2.
3.
$tmpl = new patTemplate();
4.
$tmpl->readTemplatesFromInput( $string, 'String' );
Membaca template dari sebuah database
Ketika membaca template Anda dari sebuah database, layer abstraksi PEAR::DB akan digunakan. Anda perlu melewatkan string DSB ke method setRoot():
PLAIN TEXT
PHP:
1.
tmpl = new patTemplate();
2.
$tmpl->setRoot('mysql://root:@localhost/test', 'DB');
Bayangkan, template Anda disimpan dalam sebuah tabel yang disebut templates yang mempunyai field sebagai berikut:
* id, id unik untuk sebuah template
* content, field text yang berisi template sebenarnya
Jika Anda ingin membaca sebuah template yang disebut foo dari database, Anda dapat menggunakan cara yang berbeda. Salah satunya melewatkan perintah SQL kedalam method readTemplatesFromInput():
PLAIN TEXT
PHP:
1.
$tmpl->readTemplatesFromInput("SELECT content FROM templates WHERE id='foo'", 'DB');
Namun, jika tabel Anda sederhana seperti itu, Anda dapat membuat reader membangun query untuk Anda dan menggunakan sintak XPath-like:
PLAIN TEXT
PHP:
1.
$tmpl->readTemplatesFromInput('templates[@id=foo]/@content', 'DB');
String ini berisi bagian sebagai berikut:
PLAIN TEXT
PHP:
1.
$table[@$keyName=$keyValue]/@$templateField
Membaca HTML_Template_IT templates
Reader IT memperbolehkan Anda untuk membaca template dalam sintak HTML_Template_IT atau PHPLib. Reader tersebut bekerja dengan benar seperti reader file.


0 komentar: