Course Outline
Orientasi Objek Programming
- Kelas dan objek
- Properti dan metode
- Metode konstruktor dan destruktor
- Pewarisan kelas
- Jangkauan atribut dan metode (visibilitas)
- Penanganan error dengan pengecualian
- Nama ruang (Namespaces)
Pengenalan Symfony Framework
- Pengenalan framework Symfony dan ekosistemnya
- Instalasi Symfony « Standard Edition Distribution »
- Mengenal arsitektur proyek Symfony (aplikasi, bundle, perpustakaan, dll.)
- Mengerti alur pemrosesan permintaan HTTP
- Mengerti konsep lingkungan (pengembangan, produksi dan pengujian)
- Pengenalan konvensi penamaan dan kode
- Mengenal konsep « Bundle »
Debugging Kode
- Mendapatkan bantuan dari « Web Debug Toolbar »
- Meninjau log yang dicatat
- Melakukan profil HTTP requests berkat aplikasi « Web Profiler »
- Mendeteksi masalah berkat tumpukan error dan pengecualian yang jelas
- Menggunakan fitur Debug dan VarDumper komponen
Konfigurasi Aplikasi
- Membandingkan format konfigurasi built-in yang didukung: XML, YAML, dan PHP
- Mengkonfigurasi aplikasi berkat parameter global
- Konfigurasi rute dan URL aplikasi dengan notasi
- Mengganti konfigurasi yang didefinisikan oleh « bundle » built-in atau pihak ketiga
Menghasilkan Konten untuk Pengguna Akhir
- Pengenalan mesin template Twig
- Membandingkan strategi templat Twig dan PHP murni
- Access variabel global dari Twig templates (permintaan, sesi, pengguna)
- Menggunakan tag, filter, dan fungsi untuk menghasilkan dan memformat konten dalam template Twig
- Membuat template benar-benar fleksibel berkat fitur pewarisan template
- Memecah template menjadi bagian-bagian kecil untuk menghindari duplikasi kode
- Menghasilkan kontrol Symfony dari dalam Twig template
- Menghasilkan URL berdasarkan konfigurasi rute aplikasi
- Menghasilkan form Symfony dengan helper tampilan custom Twig
Memprogram Controller dan Menganalisis Permintaan
- Mendesain kelas controller dengan metode aksinya
- Mengaitkan pola URL ke Symfony controllers berkat notasi
- Menghasilkan respons raw dan respons template Twig
- Access informasi klien dari objek Request
- Membaca dan menulis data sesi
- Membaca dan menulis data cookie
- Memicu halaman error 404 ketika sumber daya tidak ditemukan
- Melicinkan alih-alih internal ke controller lain untuk menghindari duplikasi kode
- Meredirect pengguna ke halaman lain
Berinteraksi dengan Pengguna Akhir Berkat Form
- Mengenal komponen « Form »
- Mendesain dan memproses form web sederhana
- Menambahkan keterbatasan validasi pada data bidang form yang disubmit
- Prototiping tampilan form berkat helper view Twig
- Mengumpulkan data form yang disubmit dan mengolahnya
- Mengirim data form yang telah divalidasi dan difilter ke alamat email penerima
Menerjemahkan dan Lokalisasi Antarmuka Pengguna
- Mengenal komponen « Translation »
- Merubah lokal pengguna default
- Mendefinisikan kunci terjemahan abstrak custom dalam template Twig
- Berurusan dengan terjemahan dinamis termasuk kalimat jamak
Injeksi Dependen dan Service Container
- Mengerti prinsip injeksi dependensi
- Memulai dengan service container Symfony
- Menyebutkan semua layanan built-in Symfony berkat peralatan baris perintah
- Mendaftarkan layanan bisnis custom baru dalam kontainer injeksi dependensi
- Access layanan yang terdaftar dari service container
- Membuat dan mengakses parameter konfigurasi global dari kontainer
Kontraktual Kualitas dengan Tes Otomatis
- Mengetahui kerangka kerja otomatisasi tes PHPUnit
- Mengerti tujuan otomatisasi tes (unit dan tes fungsi)
- Konfigurasi suite tes otomatis
- Mendesain dan menjalankan suite tes unit
- Mendesain dan menjalankan suite tes fungsi
- Menyusun laporan penutupan kode
Berinteraksi dengan Pengguna Akhir dan Form
- Mendesain dan memproses form web
- Otomatisasi penyampaian form berkat helper view Twig
- Mengkustomisasi penyampaian form berkat tema form built-in dan custom Twig
- Konfigurasi tipe bidang form sebagai layanan
- Menerapkan aturan keterbatasan validasi built-in pada data yang disubmit
- Menerapkan aturan keterbatasan validasi custom pada data yang disubmit
- Kontekstualisasi validasi data berkat kelompok validasi
Menyetrum Access ke Area Aplikasi yang Terlindungi
- Memulai dengan prinsip autentikasi dan otorisasi
- Melindungi beberapa halaman aplikasi berkat strategi autentikasi berbasis formulir
- Menerapkan subkomponen Security Guard untuk menangani autentikasi
- Menetapkan kebijakan kontrol akses berdasarkan peran pengguna
- Menguji izin pengguna dari controller dan template Twig
- Mendaftarkan aturan otorisasi custom berkat security « voters »
Memperbaiki Kinerja Aplikasi dengan HTTP Caching dan ESI
- Memulai dengan alur kerja caching HTTP
- Mengenal jenis-jenis sistem cache yang berbeda
- Membandingkan strategi kedaluwarsaan dan validasi cache
- Menerapkan keterbatasan kedaluwarsaan dan validasi cache ke halaman web yang dihasilkan
- Mencache fragment halaman berkat teknologi ESI (« Edge Side Includes »)
- Instalasi dan konfigurasi cache reverse-proxy built-in Symfony
Mengkueri Sistem Relasional Database dengan Doctrine
- Mengenal dasar-dasar ORM Doctrine
- Mengerti konsep « entitas » dan « repositori »
- Otomatisasi kode pembangkitan kelas PHP dan query SQL berkat Doctrine
- Menyimpan data ke database berkat manajer entitas ORM Doctrine
- Mendapatkan data kembali dari database berkat Doctrine
- Membuat dan menjalankan query custom SQL berkat objek Query Builder Doctrine
Requirements
- Pemahaman konsep Oriented Objek Programming
- Pemahaman PHP
- Pemahaman dasar tentang kerangka MVC/MVP apa pun
Audience
- Web developers
- Programmer PHP
- Pengembang yang ingin membangun aplikasi robust dengan Symfony
Testimonials (3)
Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!.
Vijay Joseph
Course - Web Development with Symfony3
I liked the trainer's communication & knowledge in Symphony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symphony knowledge and confidence level is gone up after this training.
Hari Kumar
Course - Web Development with Symfony3
I like the Doctrine concept in Symphony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer.