Langsung ke konten utama

Membuat Halaman di Symfony 4

Melanjutkan tulisan saya sebelumnya mengenai symfony 4, kali ini saya coba tulis mengenai pembuatan halaman web dengan symfony. untuk tutorial sebelumnya, bisa dibaca di bagian I : https://catatan-pemrograman.blogspot.com/2018/09/memulai-symfony-4.html

Membuat Halaman / Controller

Direktori / folder untuk bekerja kita adalah folder src. dan untuk membuat halaman web kita perlu buat controller yang kita simpan di dalam folder src/Controller. Berikut ini saya buat Controller dengan nama HelloController.php 

<?php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

/**
 * Description of HelloController
 *
 * @author NUR HIDAYAT
 */

class HelloController {

    public function index()
    {
        $number = random_int(0, 100);
        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}
file controller diatas berisi satu function dengan nama index yang mengeluarkan output berupa nomor acak. Dan untuk mengakses halaman tersebut coba buka di browser dengan url berikut:

http://localhost/tutorial/public/index.php/hello 


dan ternyata muncul error seperti berikut :


di halaman tersebut terdapat notifikasi sebagai berikut : 

No route found for "GET /hello"

pesan error tersebut muncul karena kita belum menambahkan routing untuk halaman tersebut dan kita harus menambahkan routing di file routes.yml yang berada di dalam folder config dan tambahkan kode berikut :

hello:  # nama routing

    path: /hello # path / url routing

    controller: App\Controller\HelloController::index # controller tujuan yg akan dijalankan


setelah ditambahkan di routes.yml, kemudian coba refresh halaman di browser

dan kira-kira begitulah hasilnya di browser.

Melihat Daftar Routing


untuk melihat daftar routing yang telah dibuat, anda bisa menggunakan perintah berikut di CMD : 

php bin/console debug:router

maka anda akan mendapatkan hasil seperti berikut :


Routing Menggunakan Anotations

Untuk membuat controller kita harus mendaftarkannya di file routes.yml seperti contoh sebelumnya. ribet kan ? karena kita harus bolak balik buka controller dan file config. Untuk mendaftarkan routing kita bisa menggunakan cara lain, yaitu annotations. yaitu dengan menggunakan syntax sejenis komentar yg ada di dalam controller tapi dibaca oleh symfony sebagai pengenal routing. untuk menggunakan annotation kita perlu menambahkannya menggunakan composer :

composer require annotations

tunggu sampai proses instalasi selesai.


setelah selesai, maka kita perlu menambahkan routing di controller sehingga menjadi seperti berikut :


<?php

namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

/**
 * Description of HelloController
 *
 * @author NUR HIDAYAT
 */

class HelloController {

    /**
     *
     * @Route("/hello", name="hello")
     */

    public function index()
    {
        $number = random_int(0, 100);
        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

kemudian hapus routing yang telah kita daftarkan di file routes.yml tadi dan jalankan url di browser.

Bagaimana ? lebih mudah ? atau lebih ribet ?

Struktur Folder di Symfony 4

sekarang saya lanjutkan untuk membahas struktur folder project. Symfony 4 secara default berisi beberapa folder antara lain : 

  • config, berisi file konfigurasi seperti routing, service dll
  • src, folder tempat kita bekerja seperti membuat controller, form, entity dll
  • templates, berisi template twig, html dll
  • bin, berisi file yang di eksekusi di console seperti bin/console debug:router dll
  • var, berisi file cache aplikasi dan log
  • vendor, berisi repository pihak ketiga yang kita install menggunakan composer
  • public, berisi file index.php dan semua file yang bisa diakses oleh publik / umum
sementara sekian dulu tulisan saya kali ini, saya lanjutkan di lain kesempatan untuk membuat interaksi dengan database MySQL menggunakan ORM Doctrine.

update : tulisan selanjutnya tentang doctrine di symfony => https://catatan-pemrograman.blogspot.com/2018/09/menggunakan-doctrine-di-symfony-4.html

Komentar

  1. kelinci99
    Togel Online Terpercaya Dan Games Laiinnya Live Casino.
    HOT PROMO NEW MEMBER FREECHIPS 5ribu !!
    NEXT DEPOSIT 50ribu FREECHIPS 5RB !!
    Ada Bagi2 Freechips Untuk New Member + Bonus Depositnya Loh ,
    Yuk Daftarkan Sekarang Mumpung Ada Freechips Setiap Harinya
    segera daftar dan bermain ya selain Togel ad juga Games Online Betting lain nya ,
    yang bisa di mainkan dgn 1 userid saja .
    yukk daftar di www.kelinci99.casino

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 + (1*(-1)*0) = 0 w2_baru = w2_lama +(learning_rate*error*x2)                = 0+(1*(-1)*0) = 0

Pemrograman Berorientasi Object - Overloading dan Overriding

       Function atau method overloading dan override adalah fitur yang sangat mendasar dan berguna dari bahasa OOP manapun. Dalam tutorial ini kita akan membahas implementasi metode overloading dan override di php. Di sini pertama kita akan membahas dasar-dasar overloading dan override. Setelah eksplorasi dasar kita akan menerapkan overloading dan override di php. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang class dan pewarisan di php. Anda juga memiliki pemahaman tentang magic method di php. Magic method karena overloading di php bisa di implmentasikan dengan menggunakan magic method. Overriding        Arti dasar dari overriding di OOP sama dengan arti kata sebenarnya. Dalam arti kata sebenarnya dari overriding adalah menggantikan perilaku orang tua yang sama pada anak. Ini sama dengan override method di OOP. Dalam arti OOP, override adalah mengganti method class induk di class anak. Atau dengan method kata kunci sederhana yang me

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh perhitungan manual. Berikut ini contoh data yang akan kita hitung. No X1 X2 X3 X4 target 1 0 1 1 0 0 2 0 0 1 1 1 3 1 1 1 1 0 4 1 0 0 1 1 pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1. Pelatihan Iterasi ke 1 1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}      - menghitung bobot untuk masing masing output :          kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-0)^2)) = 1         kelas 1 = sqrt(((0-1)^2)+((1-0)^2)+((1-