Kamis, 26 Desember 2013

PHP


PHP adalah server-side scripting language yang dirancang untuk pengembangan web tetapi juga digunakan sebagai bahasa pemrograman untuk tujuan umum . PHP sekarang terinstal pada lebih dari 244 juta website dan 2,1 juta server web . Awalnya dibuat oleh Rasmus Lerdorf pada tahun 1995, implementasi referensi dari PHP sekarang diproduksi oleh Grup PHP. Sementara PHP awalnya berdiri untuk Personal Home Page, sekarang singkatan dari PHP: Hypertext Preprocessor, sebuah akronim rekursif .

Kode PHP ditafsirkan oleh server web dengan modul PHP prosesor, yang menghasilkan halaman web yang dihasilkan: perintah PHP dapat ditanamkan langsung ke dalam HTML dokumen sumber daripada memanggil file eksternal untuk memproses data. Hal ini juga berkembang untuk menyertakan antarmuka baris perintah kemampuan dan dapat digunakan dalam standalone aplikasi grafis .

PHP adalah perangkat lunak bebas yang dirilis di bawah Lisensi PHP , yang tidak sesuai dengan GNU General Public License (GPL) karena pembatasan pada penggunaan jangka PHP. PHP dapat digunakan pada kebanyakan server web dan juga sebagai standalone shell pada hampir setiap sistem operasi dan platform yang , secara gratis


Jenis data
Toko PHP bilangan bulat dalam rentang tergantung platform, baik 64-bit atau 32-bit ditandatangani bilangan bulat setara dengan C-bahasa tipe lama . Unsigned integer diubah menjadi nilai ditandatangani dalam situasi tertentu,. Perilaku ini berbeda dari bahasa pemrograman lain variabel Integer dapat diberikan dengan menggunakan desimal (positif dan negatif), oktal , heksadesimal , dan biner notasi. Floating point nomor juga disimpan dalam berbagai platform-spesifik. Mereka dapat ditentukan dengan menggunakan notasi floating point, atau dua bentuk notasi ilmiah . PHP memiliki native Boolean tipe yang mirip dengan jenis Boolean asli di Jawa dan C + + . Menggunakan tipe Boolean aturan konversi, nilai-nilai non-nol ditafsirkan sebagai benar dan nol sebagai palsu, seperti di Perl dan C + +. Tipe data nol merupakan variabel yang tidak memiliki nilai. Satu-satunya nilai dalam tipe data nol adalah NULL. Variabel dari "sumber daya" type merupakan referensi ke sumber daya dari sumber eksternal. Ini biasanya dibuat oleh fungsi dari ekstensi tertentu, dan hanya dapat diproses oleh fungsi dari ekstensi yang sama; contoh termasuk sumber daya berkas, gambar, dan basis data.  Array dapat mengandung unsur-unsur dari jenis apa pun yang PHP dapat menangani, termasuk sumber daya , benda, dan bahkan array lainnya. Order diawetkan dalam daftar nilai dan hash dengan kedua kunci dan nilai, dan kedua dapat bercampur.  PHP juga mendukung string , yang dapat digunakan dengan tanda kutip tunggal, tanda kutip ganda, nowdoc atau heredoc sintaks. Standard PHP Library (SPL) mencoba untuk memecahkan masalah standar dan mengimplementasikan antarmuka akses data yang efisien dan kelas.

Fungsi
PHP memiliki ratusan fungsi dasar dan ribuan lainnya melalui ekstensi. Fungsi-fungsi ini didokumentasikan dengan baik di situs PHP, namun, built-in perpustakaan memiliki berbagai konvensi penamaan dan inkonsistensi. PHP saat ini tidak memiliki fungsi untuk benang pemrograman, meskipun tidak mendukung pemrograman multi-proses pada POSIX sistem.

Fungsi tambahan dapat didefinisikan oleh pengembang:
function myFunction () / / mendefinisikan fungsi, yang satu ini bernama "myFunction"
 {
     kembali 'John Doe'; / / mengembalikan nilai 'John Doe'
 }
 
 gema 'My name is'.  myFunction (). '!'; / / output teks concatenated dengan nilai kembali dari myFunction.
 
 / / MyFunction () disebut sebagai hasil dari sintaks ini.
 / / Hasil output akan 'My name is John Doe!'

Dalam PHP 5.2 dan sebelumnya, fungsi yang tidak fungsi kelas-pertama dan hanya dapat direferensikan oleh nama mereka, baik secara langsung maupun secara dinamis oleh variabel yang berisi nama fungsi. User-didefinisikan fungsi dapat dibuat kapan saja tanpa prototyped . Fungsi dapat didefinisikan dalam blok kode, memungkinkan keputusan run-time , apakah atau tidak fungsi harus didefinisikan. Fungsi panggilan harus menggunakan tanda kurung, dengan pengecualian dari nol kelas argumen konstruktor fungsi disebut dengan PHP new operator, di mana kurung adalah opsional. PHP mendukung quasi- fungsi anonim melalui create_function() fungsi, meskipun mereka tidak fungsi anonim benar karena fungsi anonim tak bernama, tapi fungsi hanya dapat direferensikan oleh nama, atau tidak langsung melalui variabel $function_name(); ., di PHP [ 54]
PHP memperoleh dukungan untuk penutupan di PHP 5.3. Dengan begitu, benar fungsi anonim yang didukung menggunakan sintaks dari contoh berikut:
fungsi getAdder ($ x)
 {
     kembali fungsi ($ y) menggunakan ($ x)
            {
                return $ x + $ y;
            };
 }
 
 $ Penambah = getAdder (8);
 echo $ adder (2); / / prints "10"
Di sini, getAdder() function menciptakan penutupan menggunakan argumen yang dilewatkan $x (kata kunci use mengimpor variabel dari konteks leksikal), yang membawa argumen tambahan $y , dan mengembalikan penutupan diciptakan untuk pemanggil. Fungsi seperti adalah objek kelas, artinya dapat disimpan dalam variabel, lulus sebagai parameter untuk fungsi lain, dll Untuk lebih jelasnya, lihat fungsi Lambda dan penutupan RFC .

The goto pernyataan kontrol aliran digunakan seperti dalam contoh berikut:
kunci function ()
 {
     $ File = fopen ('file.txt', 'r +');
 
 coba lagi:
     if (flock ($ file, LOCK_EX |! LOCK_NB))
         goto coba lagi;
 
     fwrite ($ file, 'Sukses!');
     fclose ($ file);

Ketika flock() disebut, PHP membuka file dan mencoba untuk menguncinya. Target label retry: mendefinisikan titik mana eksekusi harus kembali jika flock() tidak berhasil dan goto retry; disebut. The goto Pernyataan dibatasi dan mensyaratkan bahwa label sasaran berada di file yang sama dan konteks.

Implementasi
Bahasa PHP awalnya diimplementasikan sebagai interpreter , dan ini masih merupakan implementasi yang paling populer. Beberapa compiler telah dikembangkan yang memisahkan bahasa PHP dari penerjemah. Keuntungan dari kompilasi termasuk kecepatan yang lebih baik eksekusi, analisis statis, dan meningkatkan interoperabilitas dengan kode yang ditulis dalam bahasa lain.

Kompiler PHP catatan termasuk Phalanger , yang mengkompilasi PHP ke Common Intermediate Bahasa (CIL) bytecode, dan HipHop , dikembangkan di Facebook dan sekarang tersedia sebagai open source, yang mengubah PHP Script ke C + + , kemudian mengkompilasi, mengurangi beban server hingga 50 %.

PHP source code yang dikompilasi on-the-fly ke format internal yang dapat dieksekusi oleh mesin PHP. Dalam rangka untuk mempercepat waktu pelaksanaan dan tidak perlu melakukan kompilasi kode sumber PHP setiap kali halaman web diakses, script PHP juga dapat digunakan dalam format executable menggunakan compiler PHP.

Pengoptimalan kode bertujuan untuk meningkatkan kinerja dari kode dikompilasi dengan mengurangi ukurannya, penggabungan instruksi berlebihan dan membuat perubahan lain yang dapat mengurangi waktu eksekusi. Dengan PHP, sering ada peluang untuk optimasi kode .  Sebuah contoh dari optimasi kode adalah eAccelerator ekstensi PHP.

Pendekatan lain untuk mengurangi kompilasi overhead untuk server PHP adalah menggunakan opcode cache . Cache opcode bekerja dengan caching bentuk dikompilasi dari script PHP ( opcode ) dalam memori bersama untuk menghindari overhead parsing dan kompilasi kode setiap kali script berjalan. Cache opcode, Zend Opcache , dibangun ke PHP sejak versi 5.5. Contoh lain dari opcode cache yang banyak digunakan adalah Alternative PHP Cache (APC), yang tersedia sebagai PECL ekstensi.

Perizinan
PHP adalah perangkat lunak bebas yang dirilis di bawah Lisensi PHP , yang menyatakan bahwa:
Produk yang berasal dari perangkat lunak ini tidak dapat disebut "PHP", atau mungkin "PHP" muncul dalam nama mereka, tanpa izin tertulis dari group@php.net. Anda mungkin menunjukkan bahwa perangkat lunak Anda bekerja sama dengan PHP dengan mengatakan " Foo for PHP "bukannya menyebutnya" PHP Foo "atau" phpfoo ".

Pembatasan ini pada penggunaan nama PHP membuatnya tidak kompatibel dengan GNU General Public License (GPL).

Tidak ada komentar:

Posting Komentar