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

[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.9

Akhirnya sampai juga pada pembahasan bagaimana cara upload image, dalam kasus ini tentang upload gambar untuk menu slide -lanjutkan-”

 

Agar pembahasannya tidak melebar kesana – kemari jadi kita batasi saja , pokok-pokok yang akan kita bahas pada bagian 9 ini :

  • Bagaimana membuat fiture depan ‘slide banner’ CMS ini .
  • Bagaimana mengupload gambar pada panadaframework ini.

Kalau berbicara bagaimana mengupload gambar pada panada framework ini sebenarnya sudah lengkap ada pada dokumentasinya. Coba aja di lihat lagi pada link ini :

http://panadaframework.com/documentation/id/classes/upload.html

Hanya saja kadang-kadang tidak semua memahaminya, sama dengan saya saat pertama kali mengenal panada ini. Karena praktek dan praktek, mencoba dan mencoba, dan melihat dan melihat ‘kode’ ternyata mudah juga. Apalagi saat sudah ketemu masalahnya, begitu mudahnya. Hanya bisa bilang…. ooooh begitu toh. 🙂

Kembali ke program CMS kita yaitu kita akan membuat fiture untuk merubah atau memodifikasi slide banner pada halaman depan. Seperti ini :

panada-tutorial

Gambar 9.1 : Tampilan Slide Banner

Lanjutkan membaca “[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.9”