- Beranda
- Komunitas
- Tech
- Website, Webmaster, Webdeveloper
Tentang PHP Framework


TS
indrahanung
Tentang PHP Framework
Tentang PHP Web Framework
Kalau anda belum pernah mendengar web framework, anda bisa googling: Apa itu Framework, karena sudah banyak yang menulis tentang web framework.
Sedikit tambahan saja tentang apa itu framework. Jadi, bila anda pernah bermain game-game modern, terutama game yang berat, game-game tersebut susah untuk bisa dibuat tanpa fondasi yang canggih karena membuat game bukanlah proyek yang kecil.
Maka para game-developer biasanya menggunakan Game Engine (Contoh: Unity Engine, Rage Engine, Naughty Dog Engine, CRY Engine) untuk memungkinkan pembuatan game dengan performa dan kualitas tinggi, dalam waktu yang lebih singkat, dan proses yang lebih mudah.
Nah, walaupun Web Framework berbeda dengan Game Engine
; tetapi kegunaannya hampir sama, yaitu untuk memudahkan proses development.
Hampir semua developer tingkat menengah dan tingkat keatas menggunakan framework, atau kadang membuat frameworknya sendiri, terutama bagi website-website yang besar, seperti: Twitter, Facebook, Yahoo, Google, Mailchimp, dll.
Jadi bila anda ingin melangkah maju, dan meningkatkan skill anda, belajar menggunakan framework bisa membantu, karena banyak konsep baru yang akan anda pelajari.
Kembali ke PHP
Izinkan saya untuk mencontohkan beberapa fitur-fitur yang biasanya disediakan oleh web framework.
Note: Framework yang dicontohkan dibawah adalah Laravel:
ORM, & Active Record.
Tidak perlu khawatir tentang SQL lagi, anda dapat fokus ke spesialisasi anda. Tetapi bila spesialisasi anda adalah menulis SQL, anda tetap bebas untuk tidak menggunakan fitur ini.
Connect MySQL secara manual:
Menggunakan ORM di Laravel:

Menggunakan Active Record di Laravel:
MVC
Aplikasi lebih terstruktur, & lebih tepat, tidak perlu memikirkan struktur untuk aplikasi anda (directory, file, dll).
Memuat template tanpa menggunakan framework:
Memuat template di Laravel:

Libraries
Tidak perlu khawatir tentang pagination, file upload, shopping cart, login form, session, cookies, dll, anda bisa langsung memakai library yang telah disediakan oleh framework yang anda pilih.
Membuat pagination di Laravel:

Unit Testing
Tidak perlu melakukan tes aplikasi secara manual setiap mengupdate aplikasi. Contoh:Mencet-mencet tombol, ngecek link, ngecek file, dll.
Harus dihentikan! Karena memakan banyak waktu, & masih sering ada bug! Contoh: AJAX tidak berfungsi, salah database, link mati / busuk, dll...
Menjalankan PHPUnit Test Suite di Laravel:
Note:Harus menulis tes sebelum dapat menjalankan test
Routing, Clean URL, & REST
URL lebih singkat, & rapi tanpa harus belajar apache url_rewrite.
Contoh, biasanya URL untuk menghapus sesuatu dari database terlihat seperti ini:
Sama seperti diatas, tetapi menggunakan routing yang disediakan oleh framework:
Details:Tidak perlu menambahkan GET['action'], karena biasanya sudah REST (Representational State Transfer).
Modular
Aplikasi lebih modular / terpisah, tidak bercampur jadi satu, bisa menginstall library orang lain dengan mudah, tidak perlu menulis library sendiri.
Biasanya di dalam web framework, anda bisa berbagi library buatan anda dengan orang lain, atau memakainya lagi di proyek anda selanjutnya dengan mudah, tidak perlu memulai lagi dari 0.
Menginstall laravel bundle menggunakan cmd / terminal:
Secure / Aman
Aman dari hack, bug, dll. Semua data telah di filter secara otomatis, tidak perlu khawatir tentang security. Contoh masalah security: SQL Injection, register_globals, magic_quotes, Cross Site Scripting / XSS, Cross Site Request Forgery / CSRF, dll
Meningkatkan Teamwork
Karena struktur framework biasanya lebih modular / terpisah, jadi setiap personil bisa fokus ke spesialisasinya masing-masing.
Contoh: Bila spesialisasi anda adalah database, anda dapat mendesain database tanpa menulis HTML, & CSS sama sekali, dan sebaliknya, bila spesialisasi anda adalah desain template, anda dapat menulis HTML tanpa menulis PHP, atau SQL, satu baris pun.
Terqualifikasi
Anda dianggap lebih terqualifikasi, karena berarti anda mengetahui konsep-konsep, seperti: Model-View-Controller, Object Oriented Programming, Modular Design, Test Driven Development, dll, dan beberapa dari framework-framework tersebut juga telah dibacking oleh komunitas yang besar.
Beberapa Framework PHP
Note: Download, lalu untuk tutorial, baca documentasinya, atau googling: "{Nama Framework} Tutorial", atau cari video di YouTube
Untuk yang belum pernah menggunakan framework, saya rekomendasikan Code Igniter, atau Laravel.
Laravel lebih singkat, fleksibel, menghasilkan code yang lebih rapi, dan mudah dibaca.
Code Igniter lebih mudah, sederhana, dan dibacking oleh komunitas yang besar (banyak tutorial-tutorialnya).
...Walaupun sebenarnya saya tidak menggunakan Laravel, maupun Code Igniter.
THE END
Bila kurang jelas, atau ada kesalahan, saya mohon maaf sebesar-besarnya, peace... Im just a poor boy
Kalau anda belum pernah mendengar web framework, anda bisa googling: Apa itu Framework, karena sudah banyak yang menulis tentang web framework.

Sedikit tambahan saja tentang apa itu framework. Jadi, bila anda pernah bermain game-game modern, terutama game yang berat, game-game tersebut susah untuk bisa dibuat tanpa fondasi yang canggih karena membuat game bukanlah proyek yang kecil.
Maka para game-developer biasanya menggunakan Game Engine (Contoh: Unity Engine, Rage Engine, Naughty Dog Engine, CRY Engine) untuk memungkinkan pembuatan game dengan performa dan kualitas tinggi, dalam waktu yang lebih singkat, dan proses yang lebih mudah.
Nah, walaupun Web Framework berbeda dengan Game Engine

Hampir semua developer tingkat menengah dan tingkat keatas menggunakan framework, atau kadang membuat frameworknya sendiri, terutama bagi website-website yang besar, seperti: Twitter, Facebook, Yahoo, Google, Mailchimp, dll.
Jadi bila anda ingin melangkah maju, dan meningkatkan skill anda, belajar menggunakan framework bisa membantu, karena banyak konsep baru yang akan anda pelajari.
Kembali ke PHP
Izinkan saya untuk mencontohkan beberapa fitur-fitur yang biasanya disediakan oleh web framework.

Note: Framework yang dicontohkan dibawah adalah Laravel:
ORM, & Active Record.
Tidak perlu khawatir tentang SQL lagi, anda dapat fokus ke spesialisasi anda. Tetapi bila spesialisasi anda adalah menulis SQL, anda tetap bebas untuk tidak menggunakan fitur ini.
Connect MySQL secara manual:

Code:
mysql_connect($server, $username, $password);
mysql_select_db("database");
$query = mysql_query("SELECT * FROM "users" WHERE "id" = 1");
while ($row = mysql_fetch_array($query)) {[INDENT]// blablabla[/INDENT]}
Menggunakan ORM di Laravel:
Code:
User::find(1)

Menggunakan Active Record di Laravel:
Code:
DB::connection("database")->table('users')->find(1)
MVC
Aplikasi lebih terstruktur, & lebih tepat, tidak perlu memikirkan struktur untuk aplikasi anda (directory, file, dll).
Memuat template tanpa menggunakan framework:
Code:
include __DIR__ . "templates/file_saya.php"
Memuat template di Laravel:
Code:
View::make('file_saya')

Libraries
Tidak perlu khawatir tentang pagination, file upload, shopping cart, login form, session, cookies, dll, anda bisa langsung memakai library yang telah disediakan oleh framework yang anda pilih.
Membuat pagination di Laravel:
Code:
$pagination = DB::table('orders')->paginate(5)

Unit Testing
Tidak perlu melakukan tes aplikasi secara manual setiap mengupdate aplikasi. Contoh:Mencet-mencet tombol, ngecek link, ngecek file, dll.

Harus dihentikan! Karena memakan banyak waktu, & masih sering ada bug! Contoh: AJAX tidak berfungsi, salah database, link mati / busuk, dll...

Menjalankan PHPUnit Test Suite di Laravel:
Code:
php artisan test
Note:Harus menulis tes sebelum dapat menjalankan test
Routing, Clean URL, & REST
URL lebih singkat, & rapi tanpa harus belajar apache url_rewrite.
Contoh, biasanya URL untuk menghapus sesuatu dari database terlihat seperti ini:
Code:
http://web_saya.com/file.php?id=2&action="delete"
Sama seperti diatas, tetapi menggunakan routing yang disediakan oleh framework:
Code:
http://web_saya.com/file/2
Details:Tidak perlu menambahkan GET['action'], karena biasanya sudah REST (Representational State Transfer).
Modular
Aplikasi lebih modular / terpisah, tidak bercampur jadi satu, bisa menginstall library orang lain dengan mudah, tidak perlu menulis library sendiri.
Biasanya di dalam web framework, anda bisa berbagi library buatan anda dengan orang lain, atau memakainya lagi di proyek anda selanjutnya dengan mudah, tidak perlu memulai lagi dari 0.
Menginstall laravel bundle menggunakan cmd / terminal:
Code:
php artisan bundle:install auth // Library untuk menghandle login form / authentikasi
Secure / Aman
Aman dari hack, bug, dll. Semua data telah di filter secara otomatis, tidak perlu khawatir tentang security. Contoh masalah security: SQL Injection, register_globals, magic_quotes, Cross Site Scripting / XSS, Cross Site Request Forgery / CSRF, dll
Meningkatkan Teamwork
Karena struktur framework biasanya lebih modular / terpisah, jadi setiap personil bisa fokus ke spesialisasinya masing-masing.
Contoh: Bila spesialisasi anda adalah database, anda dapat mendesain database tanpa menulis HTML, & CSS sama sekali, dan sebaliknya, bila spesialisasi anda adalah desain template, anda dapat menulis HTML tanpa menulis PHP, atau SQL, satu baris pun.
Terqualifikasi
Anda dianggap lebih terqualifikasi, karena berarti anda mengetahui konsep-konsep, seperti: Model-View-Controller, Object Oriented Programming, Modular Design, Test Driven Development, dll, dan beberapa dari framework-framework tersebut juga telah dibacking oleh komunitas yang besar.
Beberapa Framework PHP
Note: Download, lalu untuk tutorial, baca documentasinya, atau googling: "{Nama Framework} Tutorial", atau cari video di YouTube
Untuk yang belum pernah menggunakan framework, saya rekomendasikan Code Igniter, atau Laravel.
Laravel lebih singkat, fleksibel, menghasilkan code yang lebih rapi, dan mudah dibaca.
Code Igniter lebih mudah, sederhana, dan dibacking oleh komunitas yang besar (banyak tutorial-tutorialnya).
...Walaupun sebenarnya saya tidak menggunakan Laravel, maupun Code Igniter.

THE END
Bila kurang jelas, atau ada kesalahan, saya mohon maaf sebesar-besarnya, peace... Im just a poor boy

0
431
0


Komentar yang asik ya


Komentar yang asik ya
Komunitas Pilihan