Dislike templating system in PHP
Beberapa hal yang membuat gw stress di kantor mungkin akhir-akhir ini adalah pekerjaan gw. Gw mulai dilibatkan ke tim lain karena project inti gw(yang buat gw keterima di KG) lagi idle di tahun 2010. Gw dilibatkan ke R&D website. Indeed banyak orag berpendapat kalau apa yang menimpa gw adalah kesukaan gw.
Nyatanya tidak sama sekali. Bisa dibilang gw belajar dari nol. Kebiasaan dari CMS lama(bukan yang baru) ini menggunakan berbagai macam CMS… maksudnya disini bukan banyak melainkan hasil comotan dari banyak CMS. Sebut saja WordPress untuk media melakukan posting berita, dan setau gw yang ada lagi gw liat adalah Drupal dll. Selain itu menyatukan juga dengan beberapa library yaitu PhpMyEdit(yeah I hate this one TOO MUCH), Smarty(Hate it too), dan AdoDB(at last ini yang paling berguna). Semua itu disatukan oleh si programer pihak ketiga ini.
Goodnya, gw salut sama nie orang bisa nyatuin semuanya itu. Badnya banyak banged. Paling fatal buat gw adalah codingnya tidak diberi dokumentasi sama sekali. Berbeda pastinya dari framework yang selama ini gw dan teman-teman kerjakan mengacu ke classes. Kalau dia karena hasil comotan, dia tidak lagi peduli dengan hal itu, yang banyak adalah function-function yang tidak terdokumentasi. Terdokumentasi disini paling enggak memberi catatan gitu utnuk sebuah function, variable yang dikirim apa untuk apa … dia sama sekali tidak memberikannya.
Gw akui gw memang ga pinter PHP, at alst gw Bueeeeeeeeeeeeeeeeeeeego banged tentang PHP. Selain itu gw masih tidak mengerti, kenapa orang menggunakan templating system?(Biasanya berekstensi TPL) Hate to admit, tapi 80% yang mengikuti mode memaksakan diri menggunakan templating system tsb. Gw terus mencari alasan kenapa mode programing PHP bergeser ke templating system.
Bukannya PHP itu sendiri adalah template engine juga? kenapa kita harus menurunkan sebuah bahasa baru dari PHP?
Kalau gw cari di Internet, the answer akan tetap sama : “memisahkan fungsi logic dan layer presentasi”
Jawaban yang kurang memuaskan buat gw(kemana-mana
) Kenapa? here is my reason:
- Dalam tempalting system alasan utamanya menghilangkan tag PHP dan syntax-syntax PHP, tetapi pada beberapa contex, Template engine memiliki tag-tag sendiri yang sama persis(ex: Smarty) menggunakan perintah {if} {/if} Selain contoh “if” sendiri, ada juga fungsi perulangan seperti halnya {foreach}. Memang PHp ga ada yah? Sampe dibuat ulang.
Kalau menurut alasannya : “mempermudah orang yang tidak kenal PHP bisa membuatnya”
Wah masalahnya syntaxnya sama tuh dengan PHP… Kenapa belajar syntax tempalting system mau, dan belajar syntax dasar PHP ga mau? pemalaskah?
Terlebih beberapa library yang terlalu advanced memiliki build in function tersendiri, dan kebanyakan fungsi tsb adalah funsgi yang sama dengan fungsi dasar php… - Kalau urutan basic Syntax PHP dari awal sampai di tampilkan mungkin kurang lebih begini
“Request file => execute => Tampilkan ke screen”
Kalau dalam template engine, contoh Smarty:
“Request file => Panggil Library Smarty => Panggil template => Execute Oleh Engine smarty dan simpan hasil ke file php ke HDD => execute oleh PHP => Tampilkan ke screen”
Soo…. makin banyak langkahnya, banyak terbuang percuma waktunya(memberatkan server… di s erver dengan hi-load akan memakan waktu lebih lama untuk compiling terlebih dahulu). - Kalau gw baca di Wikipedia fungsi dari tempalte file adalah kurang lebih “1 template file tetapi untuk digunakan di banyak halaman yang datanya bisa berganti-ganti”….
Perasaan gw dari dulu buat View File yang fungsinya ga beda dari itu, bego di gw kalo gw mau buat website 100 halaman yang isinya unlimited lalu gw buat sejumlah datanya…
Fungsi dasar PHP bisa melakukannya, Kenapa harus repot menggunakan sesuatu yang tidak berguna?
Gw malah JAUH lebih menghargai dan menyetujui kalau Frontend dari ASP.net lebih berguna ketimbang templating ala PHP yang membuang-buang resource ini.
Kalau memang ingin menggunakan MVC memisahkan funsgi logic dan juga fungsi presentasi, gw juga melakukannya. Gw memisahkan logic gw(loader, inisialisasi) semuaya dalam sebuah file terpisah di folder terpisah, sedangkan untuk View/presentation level, gw juga pisah. Tetapi bagaimana gw menuliskan ahsilnya di lapisan presentation layer setelah gw meloadnya dalam controller? gw menggunakan syntax “echo” dari PHP. Apa susahnya sih? Sisanya sama dengan templating engine(smarty) ada loop ada kondisi juga dan beberapa pemanggilan fungsi custom.
Atau mungkin saja gw belum menemukan ENJOY-nya dari penggunaan Smarty sebagai templating engine ini. Sama seperti gw saat belum menggunakan OOP. gw menganggap fungsi saja sudah cukup, tapi kini gw malah kecanduan buat Class. Mungkin begitu juga degan SMARTY. gw masih mencari dimana enjoynya, dimana bagusnya, dan dimana kelebihan-kelebihannya.
Popularity: 1% [?]
This Blog
My name is Rizky Gunawan, graduated(Waw, thanks God I can graduated :P ) from Computer Science Major. My Hobby is Coding, and my speciality is web development using PHP. Currently I'm working on some press company in Indonesia as Internal Software Developer.
Tags
ajax AMD AMD HSF Anime Anime Music Ar tonelico ATI Clannad core i5 Crysis GeForce Gigabyte hymmnos Intel Intel HSF javascript K-ON Kosaka Kirino Linux Microsoft Motherboard MSI Music Video mySQl Nvidia ONKYO Overclocking P55 PC Games Phenom II X4 php Project Skripsi Soundcard Thermalright thermalright Ultra 120 Extreme Touhou Ubuntu VGA Card Warhead Web Design web project Windows Windows 7 Wordpress ThemeReent Comment
Archives



