Circuit.XML Sebagai Pengendali Aliran Program


Sebuah circuit dapat kita anggap sebagai pengendali aliran program dalam aplikasi fusebox, hal menarik dari fusebox (setelah versi 3) adalah penggunaan XML sebagai setting aplikasi dan pengendali dari framework ini sehingga lebih mudah dibaca. Circuit yang di-desain dengan baik akan memudahkan pengembang untuk melacak aliran program di kemudian hari tanpa harus membuka  source code.

Anggap kita akan membuat aplikasi input data obat, berikut adalah salah satu contoh yang bisa kita terapkan :


<fuseaction name="add">
	<do action="login.checksession"/>
	<set name="withLayout" value="true"/>
	<set name="titleContent" value="TAMBAH DATA OBAT"/>

	<xfa name="submitPost" value="obat.insert"/>
	<xfa name="list_obat" value="obat.list"/>
	<do action="global.setPostBack"/>

	<include template="qry_listoptions" circuit="pemasok"/>
	<include template="qry_listoptions" circuit="pabrik"/>
	<include template="qry_listoptions" circuit="kategori"/>
	<include template="qry_listoptions" circuit="kelompok"/>
	<include template="dsp_add" contentvariable="mainContent"/>
</fuseaction>

<fuseaction name="insert">
	<do action="login.checksession"/>

	<include template="act_validate"/>
	<if condition="$isValid">
		<true>
			<include template="act_insert"/>
			<set name="withLayout" value="true"/>
			<set name="titleContent" value="DATA OBAT"/>

			<xfa name="obat_list" value="obat.list"/>
			<xfa name="obat_add" value="obat.add"/>
			<xfa name="obat_edit" value="obat.edit"/>

			<include template="dsp_insert" contentvariable="mainContent"/>
		</true>
		<false>
			<do action="add"/>
		</false>
	</if>
</fuseaction>

Script diatas adalah potongan dari file circuit.xml, circuit tersebut mempunyai alias “obat” yang didefinisikan pada file fusebox.xml.

Disitu kita lihat ada 2 buah fuseaction add dan insert, fuseaction add adalah untuk menampilkan form tambah data, sedangkan insert adalah action jika form di-submit.

Pada kedua fuseaction tersebut kita akan lebih mudah membaca alur program daripada harus membaca script php secara langsung, dan ini dapat dirasakan ketika kita perlu mengubah aplikasi pada masa yang akan datang sebagai pengganti flow chart diagram jika Anda tidak (sempat) membuatnya atau paling tidak sebagai dokumentasi aliran program bagi Anda sendiri.

  1. No comments yet.
(will not be published)

  1. No trackbacks yet.