Dilema PHP Programmer : CI vs Laravel

Code Igniter atau Laravel?

Mana framework yang harus saya pilih?

CI vs LaravelBagi programmer PHP pasti pernah tahu apa itu Code Igniter atau Laravel, atau mungkin sedang menggunakan salah satu dari framework tersebut. Sebelumnya apa itu framework, dan apa fungsinya? Framework atau kerangka kerja menyediakan fungsionalitas/solusi untuk area masalah tertentu. Atau menurut Wikipedia, merupakan abstraksi di mana kode umum yang menyediakan fungsionalitas generik dapat diganti secara selektif atau khusus oleh kode pengguna yang menyediakan fungsionalitas tertentu.

Bingung akan definisi di atas? Sama. Saya juga. Intinya, sebuah framework dirancang oleh orang baik yang sudah capek-capek mengalokasikan waktunya demi hal tersebut. Orang baik tersebut melihat dengan empati akan celah-celah dari pengembangan sebuah software yang sebenarnya dapat diboost up atau dikebut.

Jadi intinya, daripada kamu repot-repot memikirkan aspek keteraturan, keamanan, dan keefektifan kamu dalam mengoding, sudah ada orang-orang baik yang kemudian menciptakan sebuah struktur kerja berupa sebuah program untuk membantu kamu memecahkan masalahmu semuanya itu. Well, itulah yang disebut framework.

Bagi programmer PHP, kita mengenal framework seperti Yii, Zend, CakePHP, Symfony, dan yang cukup terkenal, yaitu Code Igniter dan Laravel. Bahayanya, ada dari tuntutan kerja dan rekan-rekannya yang mewajibkan para programmer PHP pemula untuk membuat program dengan memilih salah satu framework tersebut. Mana yang akan dipilih?


  • Feelingmu tidak pernah bohong

Code Igniter atau Laravel???!!!

Ok. Berdasarkan apa yang telah saya telusuri di web, banyak orang yang menaruh banyak kebencian pada Code Igniter dan memuja-muja Laravel. Apa yang terjadi? Sejujurnya saya sudah familiar dengan Code Igniter (mulai dari sini saya akan singkat CI saja) dan berubah menjadi galau sebab hal tersebut serta mencari tahu apa sebabnya.

Saya membandingkan fiturnya, Laravel saya akui memang jauh lebih keren. Blade Template Engine dan ORM, saya akui itu sangat keren. Apakah itu semua?

Blade Template Engine, sebuah besutan cantik yang dimiliki oleh Laravel yang benar-benar dibuat oleh orang baik, meminimalisir penulisan tag kode PHP dari:

<?php echo “Halo”; ?> atau <?= “Halo” ?>

cukup menjadi:

{{ “Halo” }}

saja.

Gilak. Benar-benar membuat waktu programmer menjadi efisien. CI tidak memiliki fitur hebat ini.

Lalu ORM yang memperindah struktur koding database, juga Laravel punya. Kamu dapat membacanya di sini mengenai bagaimana kerennya. Sayang CI masih menggunakan sintaks klasik seperti:

$this->db->get();

Yang menurut orang-orang cara seperti itu sudah cukup kuno.

Sebenarnya masih banyak lagi fitur-fitur Laravel andalan lainnya yang tidak dimiliki CI. Sudah jelas, saya langsung mendownload Composer dan Laravel itu sendiri dan menjalankan menjalankan perintah composer install dengan cara menekan shift sambil klik kanan dan klik Open Command Window Here di folder Laravel yang terdapat file composer.json nya (\saya pakai OS Windows btw\). Jangan lupa versi PHP minimumnya adalah 5.6.

Tada…! Framework yang begitu disebut-sebut sebagai artisan itu sudah terinstall dengan sempurna. Mengapa artisan, karena kamu cukup mengetik kebutuhan kamu di command line seperti ketika ingin membuat project baru dan voila, sebuah ‘sihir’ terjadi di sini. Folder project baru yang kamu inginkan sudah tercipta dengan sendirinya.


  • Galau masih belum selesai

Saya agak sedikit dilema begitu tahu ada tulisan “/public/” di URL address pada proyek Laravel yang saya buat. Jujur itu cukup mengganggu. Mungkin tulisan “/index.php/” di CI tidak terlalu bermasalah dan dapat dihilangkan. Bagaimana dengan Laravel?

Solusi yang saya dapatkan ada dua, yaitu menyalin semua yang di folder public ke folder root atau folder utama untuk menghindari ada tulisan “/public/” di URLnya. Kemudian dengan sedikit trik akhirnya hilanglah tulisan mengganggu tersebut dan saya dapat mulai menikmati Laravel. Namun justru masalah lain muncul. Karena sekarang folder root telah menjadi akses utama, maka orang-orang dikhawatirkan akan mudah mengakses folder-folder framework penting yang seharusnya dirahasiakan.

Cukup. Beralih ke solusi kedua, yang menganjurkan bahwa saya harus mengedit lewat konfigurasi Apache agar langsung mengarah ke folder public nya. Ok, tidak masalah, namun bagaimana jika saya menggunakan shared hosting yang tidak boleh mengacak-acak konfigurasi Apachenya?

Oh, masih ada solusi ketiga, yaitu lewat .htaccess. Jujur saya tidak ingin mendengar lagi solusi apapun. Jadi saya tinggalkan Laravel dan beralih kembali ke CI. Ditambah lagi rumor yang beredar adalah bahwa CI jauh lebih cepat untuk data besar dibandingkan Laravel. Sip, saya tidak jadi pindah Laravel.


  • Apapun kasusnya, move on adalah yang tersulit

Mana yang harus saya pilih? CI atau Laravel?

Cukup pilih apa yang membuat kamu nyaman!

Membanding-bandingkan kedua framework tersebut adalah seperti membandingkan Transjakarta dan KRL dari Sudirman ke Manggarai (bukan ke Bogor, karena tidak ada Transjakarta ke sana setidaknya hingga sampai saat ini). Atau bagi yang muslim seakan seperti membandingkan shalat Shubuh dengan Qunut dan yang tidak.

Well, useless.

Berhenti membandingkan dan mulailah memilih. Waktumu habis hanya untuk bimbang. Jangan khawatir, shalat shubuh baik dengan atau tanpa qunut insyaAllah tetap sah shalatnya, karena yang salah adalah yang tidak shalat Shubuh. Begitu juga baik Transjakarta maupun KRL dari Sudirman ke Manggarai semuanya tidak masalah yang penting sampai tujuan, karena yang salah adalah yang berdiam diri saja.

Setiap orang punya alasan masing-masing. Beberapa orang memilih Bus Transjakarta dari Sudirman ke Manggarai karena KRL sering terlambat dan kereta sering tertahan. Beberapa orang memilih KRL karena memang senang naik kereta dan bebas macet. Begitu juga dengan orang yang tidak qunut memiliki alasan masing-masing yang sama-sama kuat dengan yang tidak qunut.

Perlu dicatat bahwa tidak ada fanboys di sini. Misalnya, saya lebih memilih Transjakarta dari KRL dari Sudirman ke Manggarai bukan karena saya pecinta Transjakarta, tetapi karena saya penikmat kendaraan umum. Sama halnya jika saya memilih shalat shubuh yang tanpa qunut bukan berarti saya pengikut sebuah organisasi, melainkan karena saya muslim. Jadi, saya memilih CI bukan karena saya fans CI, saya hanya developer yang menentukan pilihan saya.


  • Kesimpulan

Pada dasarnya, CI, Laravel, CakePHP, Yii, Symfony, Zend, dan framework PHP lainnya awalnya adalah program PHP murni. Programmer master tidak akan bingung menentukan karena pakai PHP murni tanpa framework pun mereka dapat menciptakan aplikasi yang luar biasa.

Jadi jangan khawatir, apapun frameworknya, kamu tetap dapat membuat proyek besar dengannya. Berdebat masalah framework hanya menunjukkan kamu masih sangat pemula karena kebanyakan orang-orang baik yang membuat framework tersebut rela membuang waktunya tanpa patokan bayaran demi memudahkan urusanmu.

So, save your time and build something awesome!

Klien tidak pernah mau tahu dengan apa aplikasimu dibuat, mereka hanya mau aplikasinya lancar jaya. Kamu dibayar untuk itu.

Lihat? Karena melulu berisik membandingkan Transjakarta dan KRL dari Sudirman ke Manggarai akhirnya yang berjalan kakilah yang lebih dahulu sampai…


—<(Wallaahu A’lam Bishshawaab)>—

–oOo–

Sebentar!

Menurutmu mana yang harus saya pilih? AngularJS, ReactJS, atau VueJS?

Oh please, jangan lagi…

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Apa tema yang kalian inginkan untuk postingan baru saya selanjutnya?

    Terima kasih atas pilihannya, Anandastoon akan terus berusaha memenuhi keinginan para pembaca yang tercinta. :)