Tags

, , ,

Tulisan ini dimaksudkan hanya untuk pembelajaran. Memahami bagaimana cara kerja suatu framework. Untuk membuat aplikasi yang lebih serius, silakan menggunakan framework yang lebih serius juga seperti Yii2 misalnya.

Framework di sini maksudnya adalah kerangka kerja. Yaitu, template aplikasi yang dengannya kita membangun keseluruhan projek kita. Kita bisa belajar membuatnya sendiri secara sederhana. Karena masih sangat sederhana, kita belum akan menggunakan OOP. Ok, Apa tujuan yang hendak dicapai dari framework ini? Setidaknya ada dua tujuan dari dibuatnya framework ini yaitu pengorganisasian file dan templating.

  1. Pengorganisasian File.
    Di sini kita akan memisahkan antara logic program (controler) dengan tampilannya (view). Tujuannya agar aplikasi menjadi lebih rapi dan mudah dibaca.
  2. Templating.
    Seringkali aplikasi kita memiliki outline yang sama untuk setiap page. Yang berubah hanya kontennya saja. Untuk itu kita akan menerapkan layouting.

Sebagai gambaran, setruktur aplikasi kita akan berbentuk

protected
  controllers
    ctrl1.php
    ctrl2.php
  views
    layout.php
    view1.php
    view2.php
  lib.inc.php
index.php

Pertama kita akan bahas file protected/lib.inc.php karena ini adalah file utama untuk membangun aplikasi.

Function set() dan get() digunakan untuk menyimpan variable secara global. Karena PHP secara default tidak mendukung pendeklarasian variable secara global. Dengan kedua function ini maka nilai variable dapat diakses dari semua tempat di aplikasi.
Berikutnya adalah function render(). Sama seperti include(), hanya saja dia relatif terhadap folder views. Function run() adalah function yang membaca url dan mengarahkan pada controler yang tepat.

Selanjutnya adalah file protected/views/layout.php.

Source code keseluruhan silakan lihat di sini. Di sana ada contoh untuk membuat home page dan login page. Contoh membuat halaman baru

1. Membuat controller.

Buat file file di folder protected/controllers dengan nama hello.php.

set('title','Hello');
echo render('hello.php',['name' => 'World']);

2. Membuat view.

Kemudian di folder protected/views kita buat file hello.php

<div class="hello">
    <div class="jumbotron">
        <h1>Welcome!</h1>

        <p class="lead">Hello .</p>

        <p><a href="https://mdmunir.wordpress.com" class="btn btn-lg btn-success">Get started</a></p>
    </div>
</div>

Untuk mengakses halaman yang kita buat, urlnya adalah localhost/path/app/index.php/hello

Advertisements