summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
Diffstat (limited to 'demos')
-rw-r--r--demos/quickstart/protected/pages/Controls/id/List.page5
-rw-r--r--demos/quickstart/protected/pages/Database/id/ActiveRecord.page45
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/id/NewFeatures.page2
3 files changed, 49 insertions, 3 deletions
diff --git a/demos/quickstart/protected/pages/Controls/id/List.page b/demos/quickstart/protected/pages/Controls/id/List.page
index 63260b69..530e1453 100644
--- a/demos/quickstart/protected/pages/Controls/id/List.page
+++ b/demos/quickstart/protected/pages/Controls/id/List.page
@@ -58,6 +58,9 @@ $listbox->dataBind();
<p id="550332" class="block-content">
<tt>TDropDownList</tt> menampilkan kotak daftar dropdown yang membolehkan pengguna untuk memilih opsi tunggal dari beberapa yang telah ditetapkan.
</p>
+<p class="block-content">
+Sejak v3.1.1, <tt>TDropDownList</tt> mulai mendukung teks pertanyaan (seperti 'Please select:' sebagai item list pertama). Untuk menggunakan fitur ini, setel baik <tt>PromptText</tt> ataupun <tt>PromptValue</tt>, atau keduanya. Jika pengguna memilih item pertanyaan, dropdown list tidak akan dipilih.
+</p>
<com:RunBar PagePath="Controls.Samples.TDropDownList.Home" />
<h2 id="4804">TCheckBoxList</h2>
@@ -93,4 +96,4 @@ $listbox->dataBind();
<com:RunBar PagePath="Controls.Samples.TBulletedList.Home" />
-<div class="last-modified">$Id: List.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+<div class="last-modified">$Id: List.page 2256 2007-09-28 02:04:47Z xue $</div></com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Database/id/ActiveRecord.page b/demos/quickstart/protected/pages/Database/id/ActiveRecord.page
index e73c133b..d4e473d8 100644
--- a/demos/quickstart/protected/pages/Database/id/ActiveRecord.page
+++ b/demos/quickstart/protected/pages/Database/id/ActiveRecord.page
@@ -891,13 +891,54 @@ sebuah array. Contohnya <tt>$player->skills[] = new SkillRecord()</tt>. Jika <tt
akan dikeluarkan.
</p>
-<h2 id="138054">Referensi</h2>
+<h2>Pemetaan Kolom</h2>
+<p>
+Sejak v3.1.1, Rekaman Aktif mulai mendukung pemetaan kolom. Pemetaan kolom membolehkan para
+pengembang untuk mengalamatkan kolom dalam Rekaman Aktif menggunakan konvensi penamaan lebih
+konsisten. Dalam keadaan tertentu, menggunakan pemetaan kolom, seseorang dapat mengakses kolom
+menggunakan apapun namanya yang disukainya, daripada nama terbatas yang didefinisikan dalam
+skema database.
+</p>
+<p>
+Untuk menggunakan pemetaan kolom, deklarasikan array statis bernama <tt>COLUMN_MAPPING</tt> dalam kelas Rekaman Aktif.
+Kunci dari array adalah nama kolom (disebut <i>nama kolom fisik</i>) yang didefinisikan dalam skema database,
+sementara nilai terkait dengan nama properti (disebut <i>nama kolom logika</i>) didefinisikan dalam
+kelas Rekaman Aktif. Nama properti dapat nama variabel anggota kelas public atau nama properti komponen
+yang didefinisikan via pengambil/penyetel. Jika nama kolom fisik terjadi sama seperti nama kolom logika,
+keduanya tidak perlu didaftarkan dalam <tt>COLUMN_MAPPING</tt>.
+</p>
+<com:TTextHighlighter Language="php" CssClass="source block-content">
+class UserRecord extends TActiveRecord
+{
+ const TABLE='users';
+ public static $COLUMN_MAPPING=array
+ (
+ 'user_id'=>'id',
+ 'email_address'=>'email',
+ 'first_name'=>'firstName',
+ 'last_name'=>'lastName',
+ );
+ public $id;
+ public $username; // nama kolom fisik dan logika sama
+ public $email;
+ public $firstName;
+ public $lastName;
+ //....
+}
+</com:TTextHighlighter>
+<p>
+Dengan pemetaan kolom di atas, kita menambahkan alamat <tt>first_name</tt> menggunakan <tt>$userRecord->firstName</tt>
+daripada <tt>$userRecord->first_name</tt>. Ini membantu pemisahan dari logika dan model.
+</p>
+
+<h2 id="138054">References</h2>
<ul id="u3" class="block-content">
<li>Fowler et. al. <i>Patterns of Enterprise Application Architecture</i>,
Addison Wesley, 2002.</li>
<li>B. Venners with B. Eckel. <i><a href="http://www.artima.com/intv/abstract3.html">Inappropriate Abstractions - A Conversation with Anders Hejlsberg, Part VI.</a></i>
Artima Developer, 2003.
</li>
+
</ul>
-<div class="last-modified">$Id: ActiveRecord.page 2179 2007-08-30 02:17:55Z wei $</div></com:TContent> \ No newline at end of file
+<div class="last-modified">$Id: ActiveRecord.page 2262 2007-09-28 18:26:03Z xue $</div></com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/GettingStarted/id/NewFeatures.page b/demos/quickstart/protected/pages/GettingStarted/id/NewFeatures.page
index 46f482f2..c9390f32 100644
--- a/demos/quickstart/protected/pages/GettingStarted/id/NewFeatures.page
+++ b/demos/quickstart/protected/pages/GettingStarted/id/NewFeatures.page
@@ -18,6 +18,8 @@ Halaman ini meringkas fitur-fitur utama baru yang diperkenalkan dalam setiap ril
<li>Ditambahkan dukungan untuk mengkonfigurasi properti halaman dan aturan otorisasi menggunakan <a href="?page=Configurations.PageConfig">path halaman relatif</a> dalam konfigurasi aplikasi dan halaman. Ditambahkan dukungan untuk membolehkan <a href="?page=Advanced.Auth">otorisasi</a> didasarkan pada alamat remote host.</li>
<li>Ditambahkan persister kondisi halaman baru <tt>TCachePageStatePersister</tt>. Ia membolehkan kondisi halaman untuk disimpan menggunakan modul cache (misalnya TMemCache, TDbCache, dll.)
<li>Ditambahkan dukungan untuk <a href="?page=Advanced.Auth">kerangka kerja otentikasi</a> guna mengingat yang sudah masuk.</li>
+<li>Ditambahkan dukungan untuk menampilkan item pertanyaan dalam TDropDownList dan TListBox (sesuatu mirip 'Please select:' sebagai item pertama.)</li>
+<li>Ditambahkan dukungan untuk <a href="?page=Database.ActiveRecord">pemetaan kolom dalam Rekaman Aktif</a>.</li>
</ul>
<h2 id="8006">Versi 3.1.0</h2>