Simfony: Membuat halaman pertama anda

Artikel ini sebenarnya menyalin dari dokumentasi Symfony (https://symfony.com) , bagaimana membuat halaman pertama pada symfony  framework ini. Ada 2 langkah yang harus kita buat .

  • Membuat ‘rute’ : Rute adalah URL (misal: / about) ke halaman anda dan menunjuk ke controller.
  • Membuat ‘controller’ : Controller adalah fungsi PHP yang anda tulis yang membangun halaman. Anda mengambil informasi permintaan masuk dan menggunakannya untuk membuat objek Respons Symfony, yang dapat menampung konten HTML, string JSON atau bahkan file biner seperti gambar atau PDF.

Sekarang buat sebuah file  ‘Controller’ pada folder : mysymfony1/src/AppBundle/Controller/  dengan nama file LuckyController.php , ingat ya pada saat install saya menamai folder proyeknya : mysymfony1  (anda sesuaikan sendiri).

<?php
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;</code>

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
/**
* @Route("/lucky/number")
*/

public function numberAction()
{
   $number = mt_rand(0, 100);

   return new Response(
      'Lucky number: '.$number.''
    );

}
}

Jalankan servernya  dan lihat pada browser anda.

http://localhost:8000/app_dev.php/lucky/number

Notes : Kalau di jalankan di web server : bisa dihilangkan  app_dev.php

Screenshot from 2017-06-30 10:59:49
Menjalankan PHP Server

Hasilnya.

symony2-02

Bagaimana agar bisa di tampilkan (views) menggunakan templates?

Symfony sudah menyediakan ‘twig templates’ untuk  membantu kita membuat web templates pada symfony. Kita hanya sedikit merubah ‘kode’ tadi dan penambahan file views  templates-nya.

Buatlah kode controller tadi seperti ini :

<?php
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
//penambahan baris baru ini
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class LuckyController extends Controller
{
    /**
     * @Route("/lucky/number")
     */

    public function numberAction()
    {
        $number = mt_rand(0, 100);

        //penambahan fungsi $this->render
        return $this->render('lucky/number.html.twig', array(
            'number' => $number,
        ));
    }
}

Satu lagi siapkan templates-nya, untuk file templates kita simpan pada folder app/Resources/views/lucky   => buat sendiri folder lucky. Beri nama filenya : number.html.twig

{# app/Resources/views/lucky/number.html.twig #}
<h1>Your lucky number is {{ number }}</h1>

Jalankan di browser, hasilnya :

Screenshot from 2017-07-01 06:23:32
Hasil  tampilan di views templates

Berhasil.

Mohon maaf kalau artikelnya agak kaku atau mungkin ada yang kelewat, maklum saja sambil nulis sambil baca dokumentasi dan langsung mempraktekannya.

Catatan tambahan dari dokumentasi :

Memeriksa Struktur Proyek¶

Kabar baik! Anda telah bekerja di dalam dua direktori terpenting dalam proyek Anda:

  • app/
    Berisi hal-hal seperti konfigurasi dan template. Pada dasarnya, apapun yang bukan kode PHP ada disini.
  • src /
    Kode PHP anda tinggal disini
    99% dari waktu, Anda akan bekerja di src / (file PHP) atau aplikasi / (yang lainnya). Saat Anda terus membaca, Anda akan belajar apa yang bisa dilakukan di dalam masing-masing.

Lalu bagaimana dengan direktori lain dalam proyek ini?

  • bin/
    File bin / console yang terkenal tinggal di sini (dan file executable lainnya yang kurang penting).
  • tests /
    Tes otomatis (misalnya tes Unit) untuk aplikasi Anda tinggal di sini.
  • var /
    Di sinilah file yang dibuat secara otomatis disimpan, seperti file cache (var / cache /), log (var / logs /) dan sesi (var / sessions /).
  • vendor/
    Pustaka pihak ketiga (yaitu “vendor”) tinggal di sini! Ini didownload melalui manajer paket Composer.
  • web/
    Ini adalah akar dokumen untuk proyek Anda: letakkan file yang dapat diakses publik di sini (misalnya CSS, JS dan gambar).

Salam

Iklan

Symfony PHP framework

Alhamdulillah, tiga hari berturut-turut bisa menulis artikel kembali tentang PHP framework dan hari ini saya coba menulis tentang instalasi Symfony framework ( https://symfony.com/ )

symfony-framework-01

Ada beberapa cara instalasi Symfony framework ini, diantaranya dengan ‘Symfony installer’ adalah executable PHP 5.4 yang kompatibel yang perlu diinstal di sistem Anda hanya satu kali.

Untuk pengguna Linux seperti saya, perintahnya  :

#Linux
$ sudo mkdir -p /usr/local/bin
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony

Kalau berhasil akan terlihat file installer ‘symfony’ pada folder /usr/local/bin

Selanjutnya tinggal kita buat proyek baru, saya memberinamanya : mysymfony1 (silahkan sesuaikan sendiri )

$ symfony new mysymfony1

Hasilnya :

symfony-framework-03-new
Membuat proyek baru dengan Symfony  2.8

Apabila versi PHP yang ada di komputer kita tidak mendukung versi symfony terbaru maka akan keluar peringatan seperti ini:

symfony-framework-02-php-version
Symfony versi 3.3.2 , membutuhkan minimal PHP versi 5.5.9. Sementara di komputer saya hanya ada PHP versi 5.4.45. Jadi saya install Symfony versi 2.8

Symfony versi 2.8.22 berhasil di install.

  • Buka terminal lagi , pindah ke folder proyek yang baru di buat
  • Kemudian aktifkan php webserver-nya.

$ cd mysymfony1
$ php app/console server:start

Screenshot from 2017-06-30 10:59:49

Dari gambar di atas terlihat web server sudah aktif di localhost pada port 8000.

Buka browser kesayangan anda, ketik : http://localhost:8000

Screenshot from 2017-06-30 11:08:41

Berhasil di install dan di jalankan.

Salam.