Pelajari PHP modern
Daftar sumber daya yang dikurasi untuk PHP
Daftar isi
- Harus dibaca
- Tutorial
- Buku
- Kursus Daring
- Referensi
- Dasar-dasarnya
- Dasar-dasar PHP
- Tumpukan LAMPU
- HTML/HTML 5
- CSS
- JavaScript
- Protokol
- Lingkungan Pembangunan Lokal
- Peralatan
- IDE
- Kerangka kerja dan perpustakaan
- Kerangka kerja
- Kerangka Mikro
- Perpustakaan
- Templat
- OOP
- Pemrograman berorientasi objek
- Pola desain
- PADAT
- Injeksi ketergantungan
- Praktik Terbaik
- Pengontrol Tampilan Model
- Basis data
- Dasar-dasar basis data
- Buku basis data
- Sistem manajemen basis data relasional (RDBMS)
- Normalisasi basis data
- Pernyataan yang Disiapkan
- TanpaSQL
- Perpustakaan basis data
- Alat basis data
- Standar
- Penanganan kesalahan dan pengecualian
- Men-debug
- Pengujian satuan
- Dokumentasi
- Sesi
- Terjemahan teks
- Ekspresi Reguler
- XML
- API
- Kontrol versi
- Keamanan
- Arsitektur
- Desain Berbasis Domain (DDD)
- Arsitektur Heksagonal
- Pemrograman Fungsional
- Integrasi berkelanjutan dan Pengiriman Berkelanjutan
- Majalah
- Barang dagangan
- Komunitas dan Berita
Harus dibaca
- PHP dengan Cara yang Benar
- Peta Jalan Pengembang Web
Tutorial
- Tutorial Lengkap PHP 8 - Belajar PHP dengan Cara yang Benar Pada Tahun 2022
- PHP Depan Ke Belakang (Video)
- belajar-php.org
- Pelajari PHP untuk pengembang berpengalaman
- PHP Untuk Pemula
- PHP Panda
- Pelajari PHP dalam Y menit
- Magang PHP
- PHP dengan Contoh
Buku
- Arsitektur Aplikasi Web Tingkat Lanjut
- Membangun aplikasi modern dengan PHP 8
- PHP Modern: Fitur Baru dan Praktik Baik
- Panduan Gaya Desain Objek
- Belajar PHP7
- Panduan Belajar Sertifikasi PHP 7 Zend
- Pelajari PHP 8: Menggunakan MySQL, JavaScript, CSS3, dan HTML5
- Referensi Skrip Cepat PHP 8: Panduan Saku untuk Skrip Web PHP
- Pemrograman PHP (O'Reilly Media)
- Seni Modern PHP 8
Kursus Daring
- CodeAcademy - Pelajari PHP
- Kursus kode
- Latihan - PHP (Latihan kode dan bimbingan)
- SymfonyCasts - Bangun sesuatu yang menakjubkan dengan PHP
- Rumah Pohon - Pelajari PHP
- Udemy - PHP
- DevProjects + Codementor (Proyek PHP gratis dan bimbingan berbayar opsional)
- Kursus PHP gratis
Referensi
- Referensi Bahasa
- Lembar Cheat PHP Modern
- Panduan PHP
- Lembar contekan PHP
Dasar-dasarnya
Dasar-dasar PHP
- Peta jalan Pengembang PHP - Cara Menjadi Pengembang PHP
- Memulai dengan PHP
- Tipe Data PHP
- Loop PHP
- Dasar-dasar susunan
- Bekerja dengan Array
- PHP DAPATKAN dan POSTING
- PHP untuk Pemula (Edisi 2023)
Tumpukan LAMPU
- Tumpukan LAMP (Linux, Apache, MySql, PHP).
- Linux
- Server HTTP Apache
- MySQL
- PHP
- Apa itu Tumpukan LAMP? (Video)
HTML/HTML 5
- HTML dan HTML5
- Tutorial HTML
- Pengantar HTML
- Templat HTML5 Dasar
- DOM
- Pelajari HTML
CSS
- Lembar Gaya Bertingkat
- Tutorial CSS
- Pengantar CSS
- Pendahuluan Pemilih CSS
- Pelajari CSS
JavaScript
- JavaScript (alias ECMAScript)
- JavaScript Dasar
- Tutorial JavaScript
- JavaScript yang fasih
- Anda Tidak Tahu JS (seri buku)
- Pembelajaran JavaScript yang Luar Biasa
- Pelajari JavaScript
Protokol
- HTTP dan HTTPS
- Permintaan/Respon HTTP, DAPATKAN dan POST
- Pengantar Dasar-Dasar HTTP
- FTP
- SSH
- SMTP
- POP3
- IMAP
- Ajax
Lingkungan Pembangunan Lokal
- ddev
- Server Pengembang & Server Web EasyPHP
- wisma
- Laragon
- MAMP
- Server WAMP
- XAMPP
Peralatan
- Peramban web (Chrome, Firefox)
- Komposer (manajemen ketergantungan)
- WinSCP (klien SFTP, SCP dan FTP gratis)
- Putty (Klien SSH dan telnet gratis)
- PoEdit (editor terjemahan gettext)
- Notepad++ (Editor teks)
- 7-ZIP (Pengarsip file)
IDE
- PHP Badai ($)
- Kode Visual Studio
Kerangka kerja dan perpustakaan
Kerangka kerja
- Laravel (Kerangka kerja yang sangat populer)
- lamina
- Symfony (Kerangka kerja perusahaan modular)
Kerangka Mikro
- Slim Framework (Kerangka kerja mikro PHP yang membantu Anda dengan cepat menulis aplikasi web dan API yang sederhana namun kuat)
- Kerangka Ramping 4 - Tutorial
- Kerangka Ramping 4 - eBuku
Perpustakaan
- Perpustakaan PHP yang luar biasa
- ahli pengemasan
Templat
- Pelat (Sistem templat PHP asli)
- Twig (Mesin template yang fleksibel, cepat, dan aman untuk PHP)
- Twig – Mesin Template PHP Stand-Alone Paling Populer
- Ranting versus PHP Datar
OOP
Pemrograman berorientasi objek
"Tulis kode pemalu -
modul yang tidak mengungkapkan apa pun yang tidak perlu kepada orang lain
modul dan tidak bergantung pada implementasi modul lain."
- Prinsip Berorientasi Objek di PHP
- Kelas dan Objek
- Menguasai PHP Berorientasi Objek (eBook)
- Objektorientierte Programmierung (Jerman)
- Bootcamp Berorientasi Objek
- Belajar OOP di PHP
Pola desain
- Pola Desain di PHP (Laracasts)
- Pola Desain di PHP
- Geng Empat Pola Desain (Buku)
- Pola Desain untuk Manusia™
- Pola DesainPHP
- Beberapa pola desain di PHP
- Pola Desain dalam Kursus PHP (Video)
PADAT
SOLID adalah akronim mnemonik untuk lima prinsip desain yang dimaksudkan untuk membuat desain perangkat lunak lebih mudah dipahami, fleksibel, dan dapat dipelihara
- PADAT
- 5 Prinsip Pertama Desain Berorientasi Objek
Injeksi ketergantungan
- Pengantar Injeksi Ketergantungan
- Apa itu Injeksi Ketergantungan?
- Pembicaraan Kode Bersih - Jangan Mencari Sesuatu! (Video)
- PSR-11: Antarmuka kontainer
- Mengungkap Wadah Injeksi Ketergantungan oleh Kai Sassnowski (Video)
Praktik Terbaik
CIUMAN
Kesederhanaan adalah prasyarat untuk keandalan.
—Edsger W.Dijkstra
- KISS - Tetap sederhana, bodoh
- Prinsip ciuman
YAGNI
Anda Tidak Akan Membutuhkannya
- YAGNI
- Anda Tidak Akan Membutuhkannya
- CIUMAN dan YAGNI
- YAGNI, Kultus Kargo dan Rekayasa Berlebihan
KERING
"KERING - Jangan Ulangi Dirimu Sendiri
Setiap bagian pengetahuan harus memiliki satu,
representasi yang jelas dan otoritatif dalam suatu sistem."
KERING adalah tentang memiliki satu sumber kebenaran. Ini bukan tentang menghilangkan duplikasi dari basis kode Anda.
- Jangan ulangi sendiri (KERING)
Lainnya
- Praktik Terbaik TheCodingMachine
- Kembalilah lebih awal, seringlah kembali
- Variabel Global Itu Buruk
- Pengontrol tipis dan model gemuk
- Dos dan Larangan PHP alias Pemrogram yang Saya Tidak Suka
- Komposisi atas warisan
- Bersihkan Kode PHP
- Obyek Senam
Pengontrol Tampilan Model
Kebanyakan kerangka kerja di PHP mengikuti semacam struktur MVC. Teorinya sederhana:
Pengguna berinteraksi dengan tampilan, yang meneruskan informasi ke pengontrol. Pengontrol kemudian meneruskan informasi tersebut ke model (lapisan), dan model meneruskan informasi kembali ke pengontrol. Pengontrol secara efektif berdiri di antara tampilan dan model. (Brandon James Savage)
- Wikipedia MVC
- MVC dalam istilah yang lebih sederhana atau struktur aplikasi web modern
- Ikhtisar MVC
- MVC untuk Noob
- Pemahaman Lebih Baik Tentang MVC
- Pengontrol tipis, model gemuk
- MVC untuk pengembang PHP tingkat lanjut
- Pemahaman Lebih Baik Tentang MVC
- model MVC 2
- Responden Domain Tindakan (ADR)
Basis data
Dasar-dasar basis data
- Basis data
- Model basis data
- 12 aturan Codd *
- Satu-satunya tutorial PDO yang tepat
- Tutorial SQL
- Datenbank Grundlagen (Jerman)
- ERM
- Tutorial Datenbank-Grundlagen (Jerman)
- Tutorial Datenbank-Grundlagen: Primärschlüssel (Jerman)
Sistem manajemen basis data relasional (RDBMS)
- MySQL
- MariaDB
- Microsoft SQLServer
- Peramal
- SQLite
Buku basis data
- Buku MySQL Gratis
- MySQL Kinerja Tinggi: Optimasi, Pencadangan, dan Replikasi
Normalisasi basis data
Pemrogram yang buruk mengkhawatirkan kodenya. Pemrogram yang baik mengkhawatirkan struktur data dan hubungannya.
- Normalisasi basis data
- Bentuk normal pertama (1NF)
- Bentuk normal kedua (2NF)
- Bentuk normal ketiga (3NF)
- Deskripsi dasar-dasar normalisasi database
- Der Königsweg: Normalisierung (Jerman)
- Normalisierung (Jerman)
- MySQL - Normalisierung (Jerman)
Pernyataan yang Disiapkan
- Pernyataan yang sudah disiapkan
- Pernyataan yang disiapkan - Perlindungan dari injeksi SQL
- Pernyataan yang Disiapkan PHP
Perpustakaan basis data
- Pembuat Kueri CakePHP
- Iluminasi (Laravel) Pembuat Kueri
- Pembuat Kueri DB Laminas
- Phinx - migrasi basis data
Alat basis data
- Edisi Komunitas SQLyog
- SQLyog - GUI MySQL terlengkap dan mudah digunakan ($)
- Meja Kerja MySQL
- HeidiSQL
- SekuelPro
- Navicat ($)
- Berang-berang
TanpaSQL
- TanpaSQL
- Redis (Penyimpanan struktur data dalam memori, digunakan sebagai database, cache, dan perantara pesan)
- MongoDB (Database berorientasi dokumen)
Standar
Ikuti konvensi umum PHP untuk kode berorientasi objek, dan praktik terbaik industri yang sudah ada: PSR-1, PSR-12, PSR-4.
- Grup Interop Kerangka PHP
- Standar Pengkodean Dasar PSR-1
- Panduan Gaya Pengkodean PSR-12
- Antarmuka Pencatat PSR-3
- Pemuat Otomatis PSR-4
- Kerangka paket PHP standar
- Repositori kerangka untuk Paket Liga
- Versi Semantik 2.0.0
- Simpan log perubahan
Penanganan kesalahan dan pengecualian
- Kesalahan dan Pengecualian
- Penanganan Kesalahan Praktik Terbaik PHP
- Pengecualian
- Pengecualian yang Telah Ditentukan Sebelumnya
- Pengecualian SPL
- Kesalahan dan penanganan kesalahan
Men-debug
- Xdebug (Debugger)
- XAMPP - Pengaturan XDebug untuk PHP 7
- XAMPP - Pengaturan XDebug untuk PHP 8
Pengujian satuan
“Penguji perangkat lunak tidak membuat perangkat lunak; mereka hanya membuat mereka lebih baik.” – Anonim
- PHPUnit - kerangka pengujian
- Uji unit, Uji Integrasi, Uji Asap, Uji Regresi
- Pengujian Unit, Pengujian Integrasi dan Pengujian Fungsional
- Piramida Uji
- Jalan Testivus (pdf)
- Pengujian Basis Data
- Praktik terbaik untuk pengujian database dengan PHPUnit
- Tes Basis Data Dengan PHPUnit
- Pengaturan Perlengkapan Basis Data di PHPUnit
- Cara yang benar untuk menggunakan tes integrasi
- Cakupan Kode 100% melalui pengujian otomatis di aplikasi Symfony
- Membangun eBuku Pengembang Berbasis Uji
- Tes tulis. Tidak terlalu banyak. Sebagian besar integrasi
- Pengujian Unit Berlebihan
Dokumentasi
Tidak mengomentari kode Anda saat Anda seorang programmer seharusnya ilegal - @RiaCorpeno
PHPdoc dimaksudkan untuk mendokumentasikan kode Anda. Tujuannya adalah agar Anda selalu menambahkan komentar ke parameter Anda dan mengembalikan tipe di docblock yang menjelaskan fungsinya. Ada perangkat lunak yang dapat membaca kode Anda dan menghasilkan dokumentasi dalam format pdf atau HTML yang menjelaskan semua kelas dan fungsi Anda serta apa yang dilakukannya dan cara menggunakannya. Ini adalah sistem untuk dokumentasi inline seperti yang ditunjukkan oleh namanya.
- Pengantar PhpDoc
- Standar PHPDoc (PSR-5) untuk komentar
- Wiki PHPDoc
- Sintaks dasar PHPDoc
- Anatomi DocBlock
- Kumpulan Dokumentasi Pertama Anda
Sesi
- Sesi PHP
- Penanganan Sesi
- Kue
- Manajemen Sesi
- Sesi PHP Secara Mendalam
Terjemahan teks
- Internasionalisasi dan lokalisasi (i18n)
- Symfony: Komponen Terjemahan
- Editor Terjemahan Gettext PoEdit
Ekspresi Reguler
- Ekspresi reguler
- Fungsi PCRE
- PHP Live Regex (Penguji Ekspresi Reguler Langsung untuk PHP)
- PHPrex (Penguji Ekspresi Reguler Visual untuk PHP)
XML
- XML (Bahasa Markup yang Dapat Diperluas)
- XSD (Definisi Skema XML)
API
- REST, SABUN ATAU GRAPHQL?
API yang tenang
- Sumber Daya API REST, RESTful, seperti REST
- REST, Referensi Cepat RESTful API
- Pedoman API
- 7 Aturan untuk Desain URI REST API
API SABUN
- SOAP (Protokol Akses Objek Sederhana)
- Ekstensi SOAP Ekstensi SOAP dapat digunakan untuk menulis Server dan Klien SOAP.
- layanan web
- WSDL (Bahasa Deskripsi Layanan Web)
- Mengimplementasikan SOAP API dengan PHP
Kontrol versi
- Apa itu kontrol versi
- Github
- Sumber daya untuk mempelajari Git
- Pengenalan tutorial tentang Git
- Git - Panduan sederhana
- Buku Pro Git
Keamanan
Seorang programmer yang baik melihat ke dua arah sebelum menyeberang jalan satu arah.
- Pentingnya keamanan web - Kursus kilat
- Lembar Cheat Keamanan PHP
- PHP Cara yang Benar - Keamanan
- XSS
- Informasi terbaru tentang software PHP yang aman
- Tips Keamanan untuk Aplikasi PHP
- Daftar Periksa Keamanan PHP Terbaik
- Praktik Terbaik Keamanan PHP
Arsitektur
- "Arsitektur Bersih" Paman Bob (buku)
- Arsitektur Bersih
- Pola Arsitektur Aplikasi Perusahaan - Martin Fowler
- Arsitektur Bawang Bagian 1
- Perjalanan Menuju Kode Bersih dan Kenikmatan - Agility, TDD, Pola OOP, MVC, Framework De-Coupling
Desain Berbasis Domain (DDD)
- DDD untuk pemula
- Desain Berbasis Domain: Mengatasi Kompleksitas di Inti Perangkat Lunak (Buku Biru)
- Menerapkan Desain Berbasis Domain (Buku Merah)
- Rancang layanan mikro berorientasi DDD
- Referensi Desain Berbasis Domain (Ringkasan pola dan definisi DDD, PDF)
- Layanan dalam Desain Berbasis Domain
- Menciptakan layanan yang tidak akan Anda benci
- Desain Berbasis Domain (Buku DDD biru)
- Menerapkan Desain Berbasis Domain (Buku DDD merah)
Arsitektur Heksagonal
- Arsitektur Port & Adaptor
- Arsitektur Heksagonal terungkap
- Arsitektur Heksagonal
- Alistair di "Segi Enam"
- Panduan Gaya Desain Objek
- Arsitektur Aplikasi Web Tingkat Lanjut
Pemrograman Fungsional
- Arsitektur fungsional - Lubang kesuksesan - Mark Seemann (Video)
Integrasi berkelanjutan (CI) dan Pengiriman Berkelanjutan (CD)
- Pengiriman Berkelanjutan (Buku)
- Terus mengirimkan proyek PHP (Video)
- Integrasi Berkelanjutan vs. Pengiriman Berkelanjutan vs. Penerapan Berkelanjutan
- Apa itu Penerapan Berkelanjutan?
- PHP dan Integrasi Berkelanjutan dengan Travis CI
- Docker untuk Pengembang PHP
Majalah
- arsitek php (bahasa inggris)
- PHPmagazin (Jerman)
- pengembang web & seluler (Jerman)
Barang dagangan
- Toko Gajah Resmi - Butik elePHPant
- Barang Dagangan PHPUnit
- Stiker PHP
Komunitas / Berita
- @official_php
- r/PHP
- r/PHPbantuan
- PHP di dev.to
- Hashnode/php
- Tumpukan Melimpah
- Buletin mingguan PHP
- Buletin Freek.dev
- Surat Penjahit
- Buletin PHP yang Luar Biasa
- JetBrains - PHP Beranotasi Bulanan
- internal PHP
- PHP-Digest oleh Roman Pronsky (rusia)
- Daftar blog PHP
- Konferensi PHP di seluruh dunia
- Ruang obrolan PHP di StackOverflow
- Kapan Pertemuan PHP Berikutnya?