PHP Untuk Pengembang C.

Cara termudah untuk berpikir tentang PHP adalah sebagai C yang ditafsirkan yang dapat Anda tanamkan dalam dokumen HTML. Bahasanya sendiri sangat mirip dengan C, kecuali dengan variabel yang tidak diketik, banyak perpustakaan khusus Web yang ada di dalamnya, dan semuanya terhubung langsung ke server Web favorit Anda.

Sintaks dari pernyataan dan definisi fungsi seharusnya sudah tidak asing lagi, kecuali variabel selalu diawali dengan $, dan fungsi tidak memerlukan prototipe terpisah.

Di sini kami akan menempatkan beberapa persamaan dan perbedaan dalam PHP dan C.

Kesamaan

  • Syntax- Secara garis besar, sintaks PHP sama seperti di C: Kode tidak peka kosong, pernyataan diakhiri dengan titik koma, pemanggilan fungsi memiliki struktur yang sama (fungsi_saya (ekspresi1, ekspresi2)), dan tanda kurung kurawal ({dan}) membuat pernyataan menjadi blok. PHP mendukung C dan C ++ - gaya komentar (/ * * / serta //), dan juga Perl dan gaya skrip-shell (#).

  • Operators - Operator penugasan (=, + =, * =, dan seterusnya), operator Boolean (&&, ||,!), Operator perbandingan (<,>, <=,> =, ==,! =) , dan operator aritmatika dasar (+, -, *, /,%) semua berperilaku di PHP seperti yang mereka lakukan di C.

  • Control structures- Struktur kontrol dasar (if, switch, while, for) berperilaku seperti yang mereka lakukan di C, termasuk mendukung break dan continue. Satu perbedaan penting adalah bahwa switch di PHP dapat menerima string sebagai pengidentifikasi kasus.

  • Function names - Saat Anda membaca dengan teliti dokumentasi, Anda akan melihat banyak nama fungsi yang tampak identik dengan fungsi C.

Perbedaan

  • Dollar signs- Semua variabel dilambangkan dengan $ di depan. Variabel tidak perlu dideklarasikan sebelum penugasan, dan mereka tidak memiliki tipe intrinsik.

  • Types- PHP hanya memiliki dua tipe numerik: integer (sesuai dengan panjang di C) dan ganda (sesuai dengan double di C). String memiliki panjang yang berubah-ubah. Tidak ada tipe karakter yang terpisah.

  • Type conversion- Jenis tidak diperiksa pada waktu kompilasi, dan kesalahan jenis biasanya juga tidak terjadi pada waktu proses. Sebaliknya, variabel dan nilai secara otomatis dikonversi ke semua jenis sesuai kebutuhan.

  • Arrays- Array memiliki sintaks yang dangkal mirip dengan sintaks array C, tetapi diterapkan sepenuhnya berbeda. Mereka sebenarnya adalah array atau hash asosiatif, dan indeks dapat berupa angka atau string. Mereka tidak perlu diumumkan atau dialokasikan terlebih dahulu.

  • No structure type- Tidak ada struktur dalam PHP, sebagian karena array dan tipe objek bersama-sama membuatnya tidak diperlukan. Elemen array PHP tidak harus dari tipe yang konsisten.

  • No pointers- Tidak ada petunjuk yang tersedia di PHP, meskipun variabel tapeless memainkan peran serupa. PHP mendukung referensi variabel. Anda juga dapat meniru penunjuk fungsi sampai batas tertentu, dalam hal itu nama fungsi dapat disimpan dalam variabel dan dipanggil dengan menggunakan variabel daripada nama literal.

  • No prototypes - Fungsi tidak perlu dideklarasikan sebelum implementasinya ditentukan, selama definisi tersebut dapat ditemukan di suatu tempat di file kode saat ini atau file yang disertakan.

  • Memory management- Mesin PHP secara efektif adalah lingkungan yang mengumpulkan sampah (dihitung referensi), dan dalam skrip kecil tidak perlu melakukan deallokasi. Anda harus dengan bebas mengalokasikan struktur baru - seperti string baru dan instance objek. DI PHP5, dimungkinkan untuk mendefinisikan destruktor untuk objek, tetapi tidak ada gratis atau hapus. Destruktor dipanggil ketika referensi terakhir ke suatu objek hilang, sebelum memori diambil kembali.

  • Compilation and linking - Tidak ada langkah kompilasi terpisah untuk skrip PHP.

  • Permissiveness- Secara umum, PHP lebih pemaaf daripada C (terutama dalam sistem tipenya) dan akan membiarkan Anda lolos dari jenis kesalahan baru. Hasil yang tidak diharapkan lebih sering terjadi daripada kesalahan.