Membuat Halaman Web Pertama dengan Laravel - nrorah/laravel GitHub Wiki

Kali ini kita akan bersama-sama membuat halaman web dengan laravel. Karena hello world sudah terlalu mainstream, maka kita akan memodifikasinya sedikit. Ya, kita akan membuat sebuah halaman sederhana, tidak ada fungsi macam-macam selain menampilkan teks “Laravel 5 - Great PHP Framework”.

Router

Kebanyakan framework PHP melakukan mapping otomatis antara URL dengan controller. Oleh sebab itu, untuk membuat sebuah halaman, Anda minimal harus membuat satu buah controller. Tetapi, laravel melakukan pendekatan yang sedikit berbeda. Mapping URL harus didaftarkan secara manual di file app/Http/routes.php. Anda bisa me-mapping suatu URL ke sebuah controller, tapi hal tersebut tidak wajib. Untuk sebuah aksi sederhana, Anda bisa langsung melakukannya di Router.

Untuk lebih jelasnya, mari kita buat sebuah halaman selamat datang dengan URL [http://localhost/laravel/noris/public/project] yang akan menampilkan tulisan “Laravel 5 - Great PHP Framework”.

Buka file app/Http/routes.php, lalu tambahkan kode untuk routing:

Route::get('/project', function() { return "Laravel 5, Great PHP Framework"; });

Selesai, buka browser Anda dan ketikkan URL [http://localhost/laravel/noris/public/project], Anda sudah berhasil membuat halaman web pertama dengan laravel.

Pada prinsipnya website hanyalah masalah request-response, Anda minta URL apa, maka server akan memberikan respon yang bersesuaian. Seperti itulah tugas router, memetakan URL yang diminta ke bagian kode tertentu.

Controller

Dalam konsep MVC biasanya sebuah URL dipetakan ke sebuah controller, dan karena konsep MVC sudah mendarah daging di kalangan web programmer, maka kita akan membuat satu halaman lagi dengan url /project, outputnya mirip, tapi kali ini menggunakan controller.

Buka kembali file app/Http/routes.php, lalu tambahkan router baru:

Route::get('/project', 'SiteController@lfNoris'); Penjelasan dari kode di atas, jika ada yang meminta url /project, maka laravel akan mengeksekusi fungsi lfNoris() di dalam SiteController. Nah, karena SiteController-nya belum ada, maka langkah selanjutnya adalah membuat controller.

Tambahkan file baru app/Http/controllers/SiteController.php:

class SiteController extends BaseController { public function lfNoris() { return 'Laravel 5, Great PHP Framework'; } } Buka [http://localhost/laravel/noris/public/project] dan lihat hasilnya. Selamat, Anda berhasil membuat halaman kedua dengan laravel, kali ini memanfaatkan controller.

View

Pada contoh di atas, kita cuma menampilkan string sederhana ke browser. Ngomong-ngomong soal browser, agar kelihatan valid tentunya string tersebut harus dibungkus dengan tag html yang lengkap, seperti berikut ini:

<title>Laravel</title>
    <link href="//fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">

    <style>
        html, body {
            height: 100%;
        }

        body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            font-family: 'Lato';
        }

        .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
        }

        .content {
            text-align: center;
            display: inline-block;
        }

        .title {
            font-size: 96px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="content">
            <div class="title">Laravel 5</div>
	<div class="title">Great PHP Framework</div>
        </div>
    </div>
</body>

Memformat tampilan langsung dari controller jelas tidak menyenangkan, dan memang tidak dianjurkan. Tampilan adalah tugas front-end developer, dan front-end developer tidak suka controller, mereka cuma suka view. Untuk menghindari kebencian mereka, mari kita buatkan view-nya.

Modifikasi kembali fungsi lfNoris() seperti berikut ini:

public function lfNoris() { return View::make('laravel'); } Fungsi View::make('nama_file') akan memanggil file view terpisah sesuai nama yang diberikan. Selanjutnya kita buat file baru resources/views/laravel.php:

<title>Laravel</title>
    <link href="//fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">

    <style>
        html, body {
            height: 100%;
        }

        body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            font-family: 'Lato';
        }

        .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
        }

        .content {
            text-align: center;
            display: inline-block;
        }

        .title {
            font-size: 96px;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="content">
            <div class="title">Laravel 5</div>
	<div class="title">Great PHP Framework</div>
        </div>
    </div>
</body>

Jika Anda ingin menerapkan prinsip satu folder view untuk satu controller, yang berarti file resources/views/laravel.php dipindahkan ke resources/views/site/laravel.php, maka kodenya tinggal diedit sedikit menjadi View::make('site.laravel'). Tanda titik (dot) digunakan sebagai separator folder.

Refresh kembali browser Anda, tetap tidak ada bedanya kan? Hehe, jangan dilihat outputnya, tapi dilihat sourcenya. Sekarang website kita sudah dibungkus tag html yang lengkap. Satu lagi, front-end developer semakin sayang dengan kita ^_^.

⚠️ **GitHub.com Fallback** ⚠️