Apa itu framework? Yuk kenalan dengan PHP framework dan contoh-contohnya

Siapa yang tidak pernah mendengar istilah framework? Apa itu framework? Sebagai seorang programmer kita pasti pernah mendengar instilah ini.

Framework secara umum dapat dikatakan sebagai sebuah kumpulan library, class-class, dan function yang memiliki fungsi khusus dan siap digunakan sehingga dapat mempercepat dan mempermudah pekerjaan kita sebagai programmer dalam membuat sebuah aplikasi dibandingkan dengan membuat semuanya dari 0.

Dengan adanya framework, maka kita bisa mendapatkan manfaat seperti:

  1. Menghemat waktu development dengan tidak membuat semua fitur dari 0.
  2. Memiliki standar khusus seperti standar penulisan kode sehingga kode yang ditulis menjadi lebih rapi, terstruktur dan mudah di maintenance oleh banyak orang.
  3. Biasanya framework dikembangkan secara open source, sehingga jika kita memiliki kesulitan maka akan memiliki banyak dukungan dari komuntas dari masing-masing framework.

Secara umum yang membedakan Native dengan framework adalah alur kerjanya. Jika dalam native kamu tidak terikat oleh alur khusus bahkan kamu bisa menciptakan alur kamu sendiri seperti tutorial membuat login dengan php ini .

Berbeda dengan framework yang secara umum memiliki konsep OOP. Jadi ada baiknya sebelum memulai menggunakan framework kamu harus paham tentang konsep OOP itu sendiri.

Selain OOP framework modern sekarang memiliki alur yang diberi nama MVC yaitu Model, View, Controller.

MODEL: bertugas untuk menangani semua fungsi yang berhubungan dengan data object. seperti database, json object, dan lain-lain.

VIEW: bertugas untuk menampilkan data melalui UI  kepada user secara langsung.

CONTROLLER: bertugas sebagai jembatan antara View dan Model. Controller akan mengatur pertukaran data dari Model ke View maupun memproses request dari View ke dalam Model.

Berikut adalah contoh View, Model dan Controller dalam framework Laravel.

Model: Location.php

<?php

namespace Modules\Location\Entities;

use Dimsav\Translatable\Translatable;
use Illuminate\Database\Eloquent\Model;

class Location extends Model
{
    public $timestamps = false;
    protected $table = 'location__locations';
    public $translatedAttributes = [];
    protected $fillable = [];
}

Controller: LocationController.php

<?php


namespace Modules\Location\Http\Controllers\Api;


use App\Http\Controllers\Controller;
use Modules\Location\Repositories\LocationRepository;
use Modules\Location\Transformers\LocationTransformer;

class LocationController extends Controller
{
    /**
     * @var ServiceRepository
     */
    private $location;

    public function __construct(LocationRepository $locationRepository)
    {
        $this->location = $locationRepository;
    }

    public function index(){

        return LocationTransformer::collection($this->location->paginate());
    }
}

View: location.blade.php

@extends('layouts.master')

@section('content-header')
@stop

@section('content')
@stop

@section('footer')
    <a data-toggle="modal" data-target="#keyboardShortcutsModal"><i class="fa fa-keyboard-o"></i></a>  
@stop

Sudah mulai tertarik untuk menggunakan framework?

Kita berikan list PHP framework yang bisa kamu coba sekarang juga.

1. Laravel

Github Star: 27.274
Github URL: https://github.com/laravel/laravel
Official Website: https://www.laravel.com

Laravel menjadi pilihan pertama kamu karena merupakan framework php yang paling populer digunakan saat ini. Dengan dukungan komunitas dan dokumentasi yang lengkap jadi semakin mudah untuk dipelajari.

2. Lumen

Github Star: 4.267 Github URL: https://github.com/laravel/lumen Official Website: https://lumen.laravel.com
Github Star: 4.267
Github URL: https://github.com/laravel/lumen
Official Website: https://lumen.laravel.com

Lumen bisa dibilang anak dari Laravel, Ini karena lumen mengambil sebagian kecil dari framework laravel yang dikhususkan untuk kamu yang ingin membuat rest api dengan performance yang tinggi.

3. Zend Framework

Github Star: 5690
Github URL: https://github.com/zendframework/
Official Website: https://framework.zend.com/

4. CodeIgniter 4

Github Star: 536 Github URL: https://github.com/bcit-ci Official Website: https://codeigniter.com
Github Star: 536
Github URL: https://github.com/bcit-ci
Official Website: https://codeigniter.com

5. FuelPHP

Github Star: 241 Github URL: https://github.com/fuelphp/fuelphp Official Website: https://www.fuelphp.com

6. PhalconPHP

Github Star: 7.380
Github URL: https://github.com/phalcon/cphalcon
Official Website: https://www.go-macaron.com

7. Slim

Github Star: 7.349
Github URL: https://github.com/slimphp/slim
Official Website: https://www.slimframework.com

8. Silex

Github Star: 3.346
Github URL: https://github.com/silexphp/Silex
Official Website: https://silex.sensiolabs.org

9. CakePHP

Github Star: 6.796
Github URL: https://github.com/cakephp/cakephp
Official Website: https://www.cakephp.org

10. Symfony

Github Star: 13.292
Github URL: https://github.com/symfony/symfony
Official Website: https://www.symfony.com

11. Yii2

Github Star: 9.105
Github URL: https://github.com/yiisoft/yii2
Official Website: https://www.yiiframework.com

Sekian pembahasan kita tentang PHP Framework dan list framework php yang bisa kamu mulai coba sekarang juga.