saya mau tanya + diskusi, kalau laravel itu apakah termasuk ke dalam framework ?
1 jempol
ganis
198
841
·
10 tahun, 2 bulan yang lalu
·
0 jempol
Halo @Minata! Dari yang saya dengar dulu2 dan (supaya yakin) hasil google selama satu menit tadi, benar adanya, lavarel adalah sebuah framework PHP. Tapi sayangnya saya sendiri belum pernah menyoba framework lavarel. Framework yg saya pernah coba untuk PHP cuman CodeIgniter. Pengalamannya belum banyak ya @_@
jowy
10
6
·
10 tahun, 2 bulan yang lalu
·
1 jempol
laravel emg sebuah framework yang sudah menggunakan fitur PHP versi 5.3 keatas. Alangkah baiknya sebelum belajar laravel belajar dulu fitur fitur baru yang dimiliki PHp versi 5.3 - 5.6
ganis
198
841
·
10 tahun, 2 bulan yang lalu
·
0 jempol
thanks @jowy untuk penjelasannya ttg lavarel
vchezt
208
11
·
10 tahun, 2 bulan yang lalu
·
0 jempol
laravel memang sekarang sedang populer dikarnakan fleksibel dan bisa di intergrasi dengan bahasa pemograman yang lain, tapi bagi seseorang yang masih belajar seperti saya laravel agak ribet. untuk install saja kita harus pake composer dan setelah instal di local server saya melihat total file keseluruhan lebih dari 20MB dikarenakan banyak lib vendor... tapi laravel emang bagus sih kalo saya ngerti...
jowy
10
6
·
10 tahun, 2 bulan yang lalu
·
0 jempol
@vchezt : kalo ngerti konsep oop, fitur baru di php 5.3 keatas dan deisgn pattern dependency injection mudah kok. Dan semua sudah ada standardnya di http://www.php-fig.org/.
vchezt
208
11
·
10 tahun, 2 bulan yang lalu
·
0 jempol
@jowy : wah.. terimakasih untuk infonya... tapi saya belum siap untuk penggunaan interface dan namespace karna masih blum terlalu paham dan untuk name space menurut saya untuk aplikasi yang besar dan komplek sangat membantu tapi untuk aplikasi yang simple malah bikin ribet karna global function atau function bawaan harus pake backslash agar php tau function mana yang akan di eksekusi...
jowy
10
6
·
10 tahun, 2 bulan yang lalu
·
0 jempol
kan ada keyword 'use' gan jadi ga perlu tulis full path namespacenya. no application is too small & no application is too big. teknologi berkembang bukan untuk menyusahkan tp untuk memudahkan.
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
0 jempol
@jowi saya setuju tentang "teknologi berkembang bukan untuk menyusahkan tp untuk memudahkan." tapi maksud saya adalah bagai mana kita menggunakan teknologi itu sesuai kebutuhan untuk aplikasi seperti company profile yang hanya beberapa halaman atau sebuah aplikasi portofolio itu hanya cukup standar class php 3 sudah cukup... contoh yang saya maksud ribet untuk sebuah aplikasi portofolio: file pertama misal ns.php: <?php namespace Anu\nganu; trait PanggilAnuTest { public function panggil() { return \Anu\Test::wow(); } } // nilai plus di namespace bisa buat Class dengan beberapa nama class yang sama Class Test { use PanggilAnuTest; public function test() { // yang dua ini nilai plus namespace tapi ribet echo gmdate('F j Y', time()) . '<br />' . // ini internal namespace \gmdate('F j Y', time()) . '<br />' . // ini built in/global $this->gmdate('F j Y', time()) . '<br />' . $this->gmdate('F j Y', time(), TRUE) . '<br />' . \Anu\Test::wow() . $this->panggil(); } protected function gmdate($a, $b, $i = FALSE) { if ($i) return gmdate($a, $b); else return \gmdate($a, $b); } } function gmdate($a, $b) { return \gmdate($a, $b); } ?> lalu index.php: <?php namespace Anu; Class Test { public static function wow() { return 'aih...'; } } include 'ns.php'; /*** pake alias kadang suka lupa nama aliasnya ***/ use Anu\nganu as Aih; use Anu\nganu\Test as Wow; echo Test::wow(); // static biasa karna internal echo '<br />'; $anu = new \Anu\nganu\Test(); // ini kadang bikin keder kalo NS nya banyak $anu->test(); echo '<br />'; $aih = new Aih\Test(); // ini lebih mudah di ingat $aih->test(); echo '<br />'; $wow = new Wow(); $wow->test(); ?> saya fikir seperti itu malah bikin write more do less bukan write less do more... ma'af kalo saya salah tentang itu dan mohon dibenarkan karna saya masih belajar...
jowy
10
6
·
10 tahun, 1 bulan yang lalu
·
0 jempol
@vchez: Nah itu kalo misal agan punya project web portfolio mau buat 3 web site dari awal atau buat 1 framework yang bisa di gunakan untuk 3 website tersebut? Kalo ane sih untuk menghemat waktu ane develop sebuah framework untuk apps tertentu supaya kalo ada project yang sama tinggal pake. Kalo bikin framework mau ga mau frameworknya harus berkembang sesuai permintaan pasar. framework harus bisa scale out. nah skr pertanyaan nya gmn buat framework bisa scale out? jawabannya ada dengan merancang apps dari awal dengan menggunakan design pattern yang jelas. Memang namespace membuat kita membuat menulis lebih banyak tp harus diingat banyak juga kelebihan pake namespace selain agar tidak terjadi class collision yang terpenting adalah bisa autoloading dengan standar PSR. Fitur autoload ini akan sangat membantu kita,tidak ada lagi include / require di class yang kita buat cukup mendaftarkan namespace untuk diautoload di awal. selain itu namespace juga sangat berguna jika kita menggunakan design pattern adapter: Struktur folder: Adapter - PayPal - Payment.php - Bitcoint - Payment.pgp PaymentMethodInterface.php Payment.php <?php // PaymentMethodInterface.php namespace Payment; interface PaymentMethodInterface { public function pay(); } // EOF <?php // Payment.php namespace Payment; class Payment { protected $adapter public function setAdapter(PaymentMethodInterface $adapter) { $this->adapter = $adapter; } public function getAdapter() { return $this->adapter; } public function pay() { $this->adapter->pay(); } } // EOF <? // Adapter/PayPal/Payment.php namespace Paymemt\Adapter\PayPal; use Payment\PaymentMethodInterface; class Payment implements PaymentMethodInterface { public function pay() { return "paypal"; } } //EOF <? // Adapter/Bitcoin/Payment.php namespace Paymemt\Adapter\Bitcoin; use Payment\PaymentMethodInterface; class Payment implements PaymentMethodInterface { public function pay() { return "bitcoin"; } } //EOF Nah dari contoh diatas ada 3 nama class yang sama kalo di load dan di panggil pasti ada duplikasi. Solusinya saya gunakan namespace Semua tergantung pribadi masing masing gan mau digunakan atau ndak. seperti apa yang jelaskan diatas tidak ada aplikasi yang terlalu kecil, applikasi kecil itu bisa berkembang menjadi aplikasi besar. Ketimbang nanti pas appnya udah besar bingung mending dari awal sudah di rancang sedimikian rupa biar bisa scale
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
1 jempol
@jowy wah wah saya mulai tertarik nih gimana kalo agan buat thread biar saya bisa belajar bagaiman membuat framework yang baik... soalnya ini kan diskusi laravel :D dan dari penjelasan agan diatas saya merasa tercerahkan...
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
1 jempol
saya ingin lanjut diskusi tentang "autoloading dengan standar PSR. Fitur autoload ini akan sangat membantu kita,tidak ada lagi include / require di class yang kita buat cukup mendaftarkan namespace untuk diautoload di awal" tapi pasti akan menyimpang dari tema forum... tapi yang saya tau aotu load itu harus kita sendiri yang buat dengan bantuan spl_autuload_register() atau __aotuload(); atau custom autoload kecuali kita fake framework ternama yang udah ada autoloadnya...
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
1 jempol
sedikit referensi tentang auto load standar psr 4 https://github.com/php-fig/fig-s...
jowy
10
6
·
10 tahun, 1 bulan yang lalu
·
1 jempol
"yang saya tau aotu load itu harus kita sendiri yang buat dengan bantuan spl_autuload_register() atau __aotuload(); atau custom autoload kecuali kita fake framework ternama yang udah ada autoloadnya..." gan usah kan udah ada composer nama namespace tinggal ngikutin standar PSR-0 atau PSR-4
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
1 jempol
oh yang agan maksud pake autoloadnya composer berarti kalo pake composer kita harus bikin skema compoernya trus instalasinya juga harus pake composer ya gan... gan ganti topik dong gan gak enak ini kan laravell...
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
0 jempol
kasus ditutup :D gak nyambung so'alnya :D
vchezt
208
11
·
10 tahun, 1 bulan yang lalu
·
0 jempol
kalo gak pake composer mungkin seperti ini: Struktur folder: Adapter/ PayPal/ Payment.php Bitcoint/ Payment.php PaymentMethodInterface.php Payment.php index.php <?php // index.php use Payment\Payment, Payment\Adapter\PayPal, Payment\Adapter\Bitcoin; /*** autoload nya ***/ spl_autoload_register( function($className) { $className = str_replace('Payment\\', '', $className); $className = str_replace('\\', DIRECTORY_SEPARATOR, $className); $file = $className . '.php'; if (!file_exists($file)) { return false; } include_once $file; } ); $Pay = isset($_GET['pay']) ? trim($_GET['pay']) : false; $PayPal = new PayPal\Payment(); $Bitcoin = new Bitcoin\Payment(); if ($Pay !== false) { $anu = new Payment(); $anu->setAdapter($$Pay); $anu->pay(); } else { echo '<a href="?pay=PayPal">PayPal</a> | <a href="?pay=Bitcoin">Bitcoin</a>'; } //EOL <?php // PaymentMethodInterface.php namespace Payment; interface PaymentMethodInterface { public function pay(); } // EOF <?php // Payment.php namespace Payment; class Payment { protected $adapter public function setAdapter(PaymentMethodInterface $adapter) { $this->adapter = $adapter; } public function getAdapter() { return $this->adapter; } public function pay() { $this->adapter->pay(); } } // EOF <?php // Adapter/PayPal/Payment.php namespace Payment\Adapter\PayPal; // Typo Paymemt use Payment\PaymentMethodInterface; class Payment implements PaymentMethodInterface { public function pay() { echo "bayar pake paypal"; } } //EOF <?php // Adapter/Bitcoin/Payment.php namespace Payment\Adapter\PayPal; // Typo Paymemt use Payment\PaymentMethodInterface; class Payment implements PaymentMethodInterface { public function pay() { echo "bayar pahe bitcoin"; } } //EOF
jowy
10
6
·
10 tahun, 1 bulan yang lalu
·
0 jempol
contoh saya juga bisa diaplikasikan pada semua framework yang pake composer :D
BlackSheep
0
3
·
10 tahun yang lalu
·
1 jempol
laravel memang sebuah framework, di awal kemunculannya laravel banyak diminati oleh para coder yg kebanyakan dulunya mengunakan CI karena pada saat kemunculannya hampir berbarengan dengan kabar CI yg tidak bisa support php versi terbaru pada saat itu (maaf lupa code versinya) makanya pada saat kemunculannya laravel tidak menunggu lama untuk mendapat gelar sebagai framework dengan pengguna yg paling banyak. gw sendiri pengguna yii ver 1, pernah ngoprek2 laravel, memang fitur nyabanyak yg baru, instalasinya emang repot sama seperti yii ver 2, alasan kenapa gw gak move on dari yii ver 1, dikarnakan gw lebih nyaman menggunakan yii ver 1, bisa menyelesaikan project jauh lebih cepat di banding menggunakan frame lain, tapi kalo kita bekerja di bidang teknologi kita harus selalu update, makadari itu gw sendiri selalu kepo soal laravel yii 2, CI, zend, kohana ato frameworks lainnya, jaga2 kalo suatu saat yii 1 gak bisa ngikutin php versi terbaru, CI emang sempet terdengar rumor mau di hentikan pengembangannya, tapi terakhir gw denger dari temen sekarang CI udah bisa ikutin perkembangan php n balik nempatin posisi satu lagi. sekedar informasi, ini gw sampein soalnya banyak yg salah sangka bahwa framework nomor satu ato yg menduduki peringkat pertama dengan pengguna terbanyak adalah framework terbaik, salah bro, faktanya tmn gw pernah dibajak 3kali berturut di project yg berbeda ketika mengunakan CI, dia kemudian pinda kr laravel dan sempet sekali kena bajak. bagus ato nggaknya security system itu kita sendiri yg buat, soalnya kalau kita mengunakan framework open source itu brt banya org yg tau mengenai kelemahan frame tsb, begitilah kira2 sorry kalo bnyk yg salahnya
MTeguhFh
29
3
·
9 tahun, 10 bulan yang lalu
·
1 jempol
@BlackSheep : gile keren juga bro keterangan ente hihihi mantap
ganis
198
841
·
9 tahun, 10 bulan yang lalu
·
0 jempol
@MTeguhFh jangan lupa jempol buat @BlackSheep nya. @BlackSheep thanks infonya. Sangat membantu sekali.