/PHP

Repositori untuk belajar pemrograman PHP dalam bahasa Indonesia

Primary LanguagePHPMIT LicenseMIT



Part of Bellshade Project, managed by WPU Discord Community
WPU Community is the fastest growing software developer forum initiated by Mr. Sandhika Galih

Daftar isi

Pendahuluan

Selamat datang di repositori Bellshade PHP. Disini kamu dapat mempelajari semua tentang bahasa pemrograman PHP mulai dari dasar-dasar, fitur-fitur PHP, implementasi algoritma dan lain sebagainya. Dikemas dengan gaya penulisan yang rapi terorganisasi dan penjelasan berbentuk artikel berbahasa Indonesia yang mudah dimengerti, sehingga repositori ini dapat kamu gunakan sebagai referensi bahasa pemrograman PHP.

Repositori Bellshade PHP dapat digunakan untuk semua level baik itu pemula, menengah atau bahkan expert. Untuk pemula, kami menyediakan materi dasar dalam bentuk artikel dan demonstrasi yang runtut sehingga secara perlahan repositori Bellshade PHP dapat membantu kamu untuk meningkatkan pengetahuan dan keahlian pemrograman PHP tanpa mengalami kesusahan akibat jalan belajar yang tidak runtut.

Bagi kamu yang sudah berpengalaman dalam pemrograman menggunakan PHP, tentunya kamu dapat kembali lagi mempelajari materi-materi tertentu untuk mengasah keahlian pemrograman atau hanya sekedar mengingat-ingat kembali. Selain itu, kami juga memberikan topik referensi lain yang sifatnya adalah umum dan opsional. Topik referensi ini dapat berupa implementasi fitur-fitur atau komponen kegunaan (utilities) seperti manipulasi gambar, chart, datetime dan sebagainya yang sejatinya adalah opsional dan tidak ada prasyarat tertentu untuk bisa digunakan.

"Harapannya, Bellshade PHP dapat terus digunakan oleh para web developer PHP di Indonesia sebagai referensi / kamus / tempat belajar tentang pemrograman web berbasis PHP"

PHP adalah bahasa pemrograman yang cukup luas dengan ekosistem yang luar biasa besarnya. Untuk terjaga agar tetap terorganisasi dan informatif, kami mengategorikan tiap pembahasan menjadi beberapa topik kategori.

Apa itu PHP dan apa fungsinya?

PHP adalah bahasa scripting server-side, Bahasa pemrograman yang digunakan untuk mengembangkan situs web statis atau situs web dinamis atau aplikasi Web. PHP singkatan dari Hypertext Pre-processor, yang sebelumnya disebut Personal Home Pages.

Fungsi PHP adalah membuat atau mengembangkan situs web statis atau situs web dinamis atau aplikasi Web. Walaupun sebenarnya bukan hanya PHP bahasa pemrograman yang bisa digunakan untuk memuat website.

PHP digunakan karena untuk membuat website dinamis bisa digunakan untuk menyimpan data ke dalam database, membuat halaman yang dapat berubah-ubah sesuai dengan input user, memproses form, dll.

Dalam membuat file PHP dapat digabung menggunakan tag html, Dan ketika tanpa menggunakan tag html apa pun disebut file PHP Murni. Server menginterpretasikan kode PHP dan mengeluarkan hasilnya sebagai kode HTML ke browser web. Agar server mengidentifikasi kode PHP dari kode HTML, kita harus selalu menyertakan kode PHP dalam tag PHP.

Panduan penggunaan

Ada 2 cara yang dapat kamu gunakan untuk menjadikan repositori ini sebagai referensi utama.

Dengan secara langsung di Github

Kamu dapat langsung menjelajahi direktori-direktori yang ada di repositori ini, dan karena artikel penjelasannya berupa markdown README.md, kamu dapat membacanya saat berada di direktori yang berkaitan. Namun kamu tidak dapat menjalankan demo file PHP-nya secara langsung.

Dengan clone di web server kamu di local

Jika diperhatikan, tiap direktori selalu memiliki index.php yang berfungsi untuk menampilkan penjelasan berupa markdown README.md ke dalam browser. Kamu juga dapat menjelajahi setiap folder langsung dari browser dan dapat menjalankan demo file PHP-nya juga. akan tetapi, karena kami menggunakan dependency (bergantung pada) pihak ketiga, ikuti langkah dibawah ini:

  • Download & Install composer di situs resminya
  • Clone repositori dengan perintah git clone https://github.com/bellshade/PHP.
  • Jika kamu menggunakan LAMPP, pindahkan reponya ke dalam direktori var/www/html.
  • Jika kamu menggunakan XAMPP, pindahkan reponya ke dalam direktori .../xampp/htdocs.
  • Pada direktori hasil clone nya, lakukan perintah berikut:
composer install
  • Copy file env lalu ubah file duplikat itu menjadi .env, buka file tersebut lalu rubah BASE_URL menjadi url tempat kamu menempatkan project ini

Contoh:

BASE_URL = 'http://localhost/PHP'
  • Kemudian kamu dapat mengaksesnya di browser dengan membuka localhost/php atau 127.0.0.1/php.



Konfigurasi untuk Nginx

Jika kamu menggunakan Nginx sebagai Web Server, kamu memerlukan konfigurasi tambahan karena nginx tidak mendukung konfigurasi .htaccess. Dan karena project ini menggunakan rewriting dan parsing url, kamu harus menerapkan konfigurasi web server nginx berikut ini agar dapat rewrite path url menjadi sebuah parameter get yang merujuk ke index.php

location / {
  try_files $uri $uri/ /index.php?page=$uri;
  index index.php;
}

Konfigurasi untuk PHP Built-in Web Server

Jika kamu menggunakan web server bawaan PHP. Kami telah menyediakan router.php untuk menangani request URL. Untuk menjalankan server, kamu dapat menggunakan command ini:

php -S localhost:8080 router.php

Keterangan: Port bisa disesuaikan sesuai kebutuhan kamu

Kategori yang tersedia

Pembelajaran (basics)

Di repositori Bellshade PHP terdapat kategori basic yang berisi tentang kumpulan materi pembelajaran dalam bentuk artikel berisi text dan media-media visual yang informatif. Kumpulan materi pembelajaran ini juga disusun secara runtut sehingga dapat digunakan sebagai pembelajaran.

kategori pembelajaran (basic learning) ini bisa kamu ditemukan pada direktori /basics

Di dalam folder /basics terdapat folder-folder materi yang di dalam tiap folder materi tersebut terdapat file README.md yang mana file ini adalah artikel penjelasan dari materinya. Dan tentunya, di dalam tiap folder materi juga terdapat file demo PHP berisi contoh kode implementasi dari materinya yang dapat dijalankan di local jika sudah di clone dan ditempatkan di web-server.

Komponen kegunaan (utilities)

Kategori utilities adalah kumpulan referensi dan contoh penggunaan komponen-komponen / fitur-fitur umum yang mungkin diperlukan oleh para web developer untuk diterapkan pada proyek aplikasi web-nya. Di dalam kategori ini, kamu dapat menjelajahi berbagai macam kebutuhan umum untuk pengembangan web umum dan mempelajari bagaimana cara mengimplementasikannya.

Contoh skenario penggunaan kategori referensi ini adalah sebagai berikut: "Misalnya kamu sedang mengerjakan suatu proyek, lalu tiba-tiba di tengah pengerjaan proyek dibutuhkan bagaimana cara memanipulasi gambar yang diunggah dengan menggunakan PHP". Manipulasi gambar adalah hal yang sangat opsional dan tidak esensial pada setiap pengembangan web, meskipun sudah level menengah terkadang juga masih perlu mencari referensi lagi. Oleh karena itu, hal ini termasuk dalam kategori utilities dan kamu dapat menjelajahi kebutuhan-kebutuhan lainnya di kategori ini.

kategori kegunaan (utilities) dapat kamu temukan pada direktori /utilities

Algoritma (algorithms)

Topik kategori algoritma berisi tentang kumpulan penyelesaian masalah dengan berbagai macam jenis algoritma yang ditulis dalam bahasa pemrograman PHP. Meskipun kurang begitu menyenangkan untuk dipelajari, dan kurang begitu sering digunakan pada pengembangan web berbasis PHP, mempelajari algoritma dapat meningkatkan kemampuan cara berpikir fundamental sebagai seorang programmer.

kategori algoritma (algorithms) dapat ditemukan pada direktori /algorithms

Berkontribusi

Kami sangat senang bila kalian ingin melakukan kontribusi pada repositori PHP ini. Tapi, sebelum itu, silahkan baca terlebih dahulu peraturan dan pedomannya yang telah kami siapkan. Terima kasih!

Untuk informasi lebih lanjut, mari gabung dalam komunitas Discord Channel WPU

Tentang apa saja yang bisa kamu kerjakan untuk berkontribusi, kamu dapat mencari issue yang kosong di issues. Lalu, kamu dapat assign diri sendiri ke salah satu issues, setelah itu ajukan Pull Request dengan menutup issue itu. Kami akan mereview hasil pengerjaan kamu, dan jika disetujui kami akan merge ke dalam repositori ini.