selamat siang menjelang sore
Hay sobat...............
kali ini saya akan membagikan ilmu tentang Php Server sobat tahu apa itu Php Server kalau belum boleh sobat membaca artikel saya kalau sudah paham tentang Php Server sobat boleh memberikan kritik dan saran untuk artikel saya
A.dalam Bahasa Inggris
PHP is a
server-side scripting language designed for
web development but also used as a
general-purpose programming language. Originally created by
Rasmus Lerdorf in 1994,the PHP
reference implementation is now produced by The PHP Group.PHP originally stood for
Personal Home Page,but it now stands for the
recursive acronym PHP: Hypertext Preprocessor.
PHP code may be embedded into
HTML code, or it can be used in combination with various
web template systems,
web content management systems and
web frameworks. PHP code is usually processed by a PHP
interpreter implemented as a
module in the web server or as a
Common Gateway Interface
(CGI) executable. The web server combines the results of the
interpreted and executed PHP code, which may be any type of data,
including images, with the generated web page. PHP code may also be
executed with a
command-line interface (CLI) and can be used to implement
standalone graphical applications.
The standard PHP interpreter, powered by the
Zend Engine, is
free software released under the
PHP License. PHP has been widely ported and can be deployed on most web servers on almost every
operating system and
platform, free of charge.
The PHP language evolved without a written
formal specification or standard until 2014, leaving the canonical PHP interpreter as a
de facto standard. Since 2014 work has gone on to create a formal PHP specification.
During the 2010s there have been increased efforts towards
standardisation and code sharing in PHP applications by projects such as
PHP-FIG in the form of
PSR-initiatives as well as
Composer dependency manager and the
Packagist repository.
B.dalam Bahasa Indonesia
PHP adalah server-side scripting language yang dirancang untuk pengembangan web tetapi juga digunakan sebagai bahasa pemrograman tujuan umum . Awalnya dibuat oleh Rasmus Lerdorf pada tahun 1994, PHP implementasi referensi sekarang diproduksi oleh The PHP Group. [5] PHP awalnya berdiri untuk Personal Home Page, tetapi sekarang berdiri untuk rekursif singkatan PHP: Hypertext Preprocessor.
Kode PHP dapat tertanam ke HTML kode, atau dapat digunakan dalam kombinasi dengan berbagai sistem web template yang , sistem manajemen konten web dan kerangka web . Kode PHP biasanya diproses oleh PHP interpreter diimplementasikan sebagai modul di web server atau sebagai Common Gateway Interface (CGI) executable.
Web server menggabungkan hasil dari kode ditafsirkan dan dilaksanakan
PHP, yang mungkin semua jenis data, termasuk gambar, dengan halaman web
yang dihasilkan. Kode PHP dapat dijalankan dengan antarmuka baris perintah (CLI) dan dapat digunakan untuk mengimplementasikan standalone aplikasi grafis .
PHP interpreter standar, didukung oleh Zend mesin , adalah perangkat lunak bebas yang dirilis di bawah Lisensi PHP . PHP telah banyak porting dan dapat digunakan pada kebanyakan server web pada hampir setiap sistem operasi dan platform yang , gratis.
Bahasa PHP berkembang tanpa tertulis spesifikasi formal atau standar hingga 2014, meninggalkan interpreter PHP kanonik sebagai de facto standar. Sejak 2014 bekerja telah pergi untuk membuat spesifikasi PHP formal.
Selama 2010-an telah terjadi peningkatan upaya menuju standarisasi dan
berbagi kode dalam aplikasi PHP dengan proyek-proyek seperti PHP-gambar dalam bentuk PSR-inisiatif serta Komposer ketergantungan manajer dan repositori Packagist .
A.dalam Bahasa Inggris.
PHP development began in 1995 when
Rasmus Lerdorf wrote several
Common Gateway Interface (CGI) programs in C, which he used to maintain his
personal homepage. He extended them to work with
web forms and to communicate with
databases, and called this implementation "Personal Home Page/Forms Interpreter" or PHP/FI.
PHP/FI could help to build simple, dynamic
web applications. To accelerate
bug
reporting and to improve the code, Lerdorf initially announced the
release of PHP/FI as "Personal Home Page Tools (PHP Tools) version 1.0"
on the
Usenet discussion group
comp.infosystems.www.authoring.cgi on June 8, 1995. This release already had the basic functionality that PHP has as of 2013. This included
Perl-like variables, form handling, and the ability to embed HTML. The
syntax resembled that of Perl but was simpler, more limited and less consistent.
Lerdorf did not intend the early PHP to become a new programming
language, but it grew organically, with Lerdorf noting in retrospect: "I
don’t know how to stop it, there was never any intent to write a
programming language […] I have absolutely no idea how to write a
programming language, I just kept adding the next logical step on the
way."A development team began to form and, after months of work and
beta testing, officially released PHP/FI 2 in November 1997.
The fact that PHP lacked an original
overall design but instead developed organically has led to inconsistent
naming of functions and inconsistent ordering of their parameters.In some cases, the function names were chosen to match the lower-level libraries which PHP was "wrapping", while in some very early versions of PHP the length of the function names was used internally as a
hash function, so names were chosen to improve the distribution of hash values.
PHP 3 and 4
Zeev Suraski and
Andi Gutmans rewrote the
parser in 1997 and formed the base of PHP 3, changing the language's name to the
recursive acronym PHP: Hypertext Preprocessor.Afterwards, public testing of PHP 3 began, and the official launch came in June 1998. Suraski and Gutmans then started a new
rewrite of PHP's core, producing the
Zend Engine in 1999. They also founded
Zend Technologies in
Ramat Gan, Israel.
On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released.As of August 2008 this branch reached version 4.4.9. PHP 4 is no longer
under development nor will any security updates be released.
PHP 5
On July 14, 2006, PHP 5 was released, powered by the new Zend Engine II.PHP 5 included new features such as improved support for
object-oriented programming,
the PHP Data Objects (PDO) extension (which defines a lightweight and
consistent interface for accessing databases), and numerous performance
enhancements. In 2008 PHP 5 became the only stable version under development.
Late static binding had been missing from PHP and was added in version 5.3.
Many high-profile open-source projects ceased to support PHP 4 in new
code as of February 5, 2008, because of the GoPHP5 initiative,
provided by a consortium of PHP developers promoting the transition from PHP 4 to PHP 5.
Over time, PHP interpreters became available on most existing
32-bit and
64-bit operating systems, either by building them from the PHP source code, or by using pre-built binaries.For the PHP versions 5.3 and 5.4, the only available
Microsoft Windows binary distributions were 32-bit
x86 builds,requiring Windows 32-bit compatibility mode while using
Internet Information Services (IIS) on a 64-bit Windows platform. PHP version 5.5 made the 64-bit
x86-64 builds available for Microsoft Windows.
PHP 6 and Unicode
PHP received mixed reviews due to lacking native
Unicode support at the core language level.
[33][34] In 2005, a project headed by Andrei Zmievski was initiated to bring native Unicode support throughout PHP, by embedding the
International Components for Unicode (ICU) library, and representing text strings as
UTF-16 internally.
[35]
Since this would cause major changes both to the internals of the
language and to user code, it was planned to release this as version 6.0
of the language, along with other major features then in development.
[36]
However, a shortage of developers who understood the necessary
changes, and performance problems arising from conversion to and from
UTF-16, which is rarely used in a web context, led to delays in the
project.
[37]
As a result, a PHP 5.3 release was created in 2009, with many
non-Unicode features back-ported from PHP 6, notably namespaces. In
March 2010, the project in its current form was officially abandoned,
and a PHP 5.4 release was prepared containing most remaining non-Unicode
features from PHP 6, such as traits and closure re-binding.
[38] Initial hopes were that a new plan would be formed for Unicode integration, but as of 2014 none have been adopted.
PHP 7
During
2014 and 2015, a new major PHP version was developed, which was
numbered PHP 7. The numbering of this version involved some debate.
[39]
While the PHP 6 Unicode experiment had never been released, several
articles and book titles referenced the PHP 6 name, which might have
caused confusion if a new release were to reuse the name.
[40] After a vote, the name PHP 7 was chosen.
[41]
The foundation of PHP 7 is a PHP
branch that was originally dubbed
PHP next generation (
phpng). It was authored by Dmitry Stogov, Xinchen Hui and Nikita Popov,
[42] and aimed to optimize PHP performance by refactoring the Zend Engine while retaining near-complete language compatibility.
[43] As of 14 July 2014,
WordPress-based
benchmarks, which served as the main benchmark suite for the phpng
project, showed an almost 100% increase in performance. Changes from
phpng are also expected to make it easier to improve performance in the
future, as more compact data structures and other changes are seen as
better suited for a successful migration to a
just-in-time (JIT) compiler.
[44] Because of the significant changes, the reworked Zend Engine is called
Zend Engine 3, succeeding Zend Engine 2 used in PHP 5.
[45]
Because of major internal changes in phpng, it must receive a new
major version number of PHP, rather than a minor PHP 5 release, according to PHP's release process.
[46]
Major versions of PHP are allowed to break backward-compatibility of
code and therefore PHP 7 presented an opportunity for other improvements
beyond phpng that require backward-compatibility breaks. In particular,
it involved the following changes:
- Many fatal- or recoverable-level legacy PHP error mechanisms were replaced with modern object-oriented exceptions[47]
- The syntax for variable dereferencing was reworked to be internally
more consistent and complete, allowing the use of the operators ->, [], (), {}, and :: with arbitrary meaningful left-hand-side expressions[48]
- Support for legacy PHP 4-style constructor methods was deprecated[49]
- The behavior of the foreach statement was changed to be more predictable[50]
- Constructors for the few classes built-in to PHP which returned null
upon failure were changed to throw an exception instead, for
consistency[51]
- Several unmaintained or deprecated server application programming interfaces (SAPIs) and extensions were removed from the PHP core, most notably the legacy mysql extension[52]
- The behavior of the list() operator was changed to remove support for strings[53]
- Support for legacy ASP-style PHP code delimiters (<% and %>, <script language=php> and </script>) was removed[54]
- An oversight allowing a switch statement to have multiple default clauses was fixed[55]
- Support for hexadecimal number support in some implicit conversions from strings to number types was removed[56]
- The left-shift and right-shift operators were changed to behave more consistently across platforms[57]
- Conversions between integers and floating point numbers were tightened and implemented more consistently across platforms[57][58]
PHP 7 also included new language features. Most notably, it introduces return type declarations for functions,
[59]
which complement the existing parameter type declarations, and support
for the scalar types (integer, float, string, and boolean) in parameter
and return type declarations.
[60]
B.dalam Bahasa Indonesia
Awal sejarah
Pengembangan PHP dimulai pada 1995 ketika Rasmus Lerdorf menulis beberapa Common Gateway Interface program (CGI) di C, yang ia digunakan untuk menjaga nya homepage pribadi . Dia diperpanjang mereka untuk bekerja dengan bentuk web dan untuk berkomunikasi dengan database , dan disebut implementasi ini "Personal Home Page / Forms Interpreter" atau PHP / FI.
PHP / FI bisa membantu untuk membangun, sederhana dinamis aplikasi web . Untuk mempercepat bug
pelaporan dan untuk meningkatkan kode, Lerdorf awalnya mengumumkan
rilis PHP / FI sebagai "Personal Home Page Tools (PHP Tools) versi 1.0"
pada Usenet kelompok diskusi comp.infosystems.www.authoring.cgi pada tanggal 8 Juni, 1995. [13] [14] rilis ini sudah memiliki fungsi dasar yang PHP memiliki sebagai 2013 . Ini termasuk variabel Perl-seperti , bentuk penanganan, dan kemampuan untuk menanamkan HTML. The sintaks mirip yang dari Perl tapi sederhana, lebih terbatas dan kurang konsisten. [5]
Lerdorf tidak berniat PHP awal untuk menjadi bahasa pemrograman baru,
tapi itu tumbuh secara organik, dengan Lerdorf mencatat dalam
retrospeksi: "Saya tidak tahu bagaimana menghentikannya, tidak pernah
ada niat untuk menulis bahasa pemrograman [...] I sama sekali tidak tahu
bagaimana menulis sebuah bahasa pemrograman, saya hanya terus
menambahkan langkah logis berikutnya dalam perjalanan. " [15] sebuah tim pengembangan mulai terbentuk dan, setelah berbulan-bulan bekerja dan beta testing, resmi dirilis PHP / FI 2 di november 1997.
Fakta bahwa PHP tidak memiliki desain keseluruhan asli melainkan
dikembangkan secara organik telah menyebabkan penamaan tidak konsisten
dari fungsi dan pemesanan konsisten parameter mereka. [16] Dalam beberapa kasus, nama-nama fungsi yang dipilih sesuai dengan perpustakaan tingkat rendah yang PHP adalah " pembungkus ", [17] sedangkan di beberapa versi awal dari PHP panjang nama fungsi digunakan secara internal sebagai fungsi hash , sehingga nama-nama yang dipilih untuk meningkatkan distribusi nilai hash. [18]
PHP 3 dan 4
Zeev Suraski dan Andi Gutmans menulis ulang parser pada tahun 1997 dan membentuk dasar dari PHP 3, mengubah nama bahasa terhadap rekursif singkatan PHP:. Hypertext Preprocessor [5] [19]
Setelah itu, uji publik dari PHP 3 dimulai, dan peluncuran resmi datang
pada bulan Juni 1998. Suraski dan Gutmans kemudian mulai baru menulis ulang dari inti PHP, memproduksi Zend Mesin pada tahun 1999. [20] Mereka juga mendirikan Zend Technologies di Ramat Gan , Israel. [5]
Pada tanggal 22 Mei 2000, PHP 4, didukung oleh Zend Engine 1.0, dirilis. [5] Pada Agustus 2008 cabang ini mencapai versi 4.4.9. PHP 4 tidak lagi dalam pengembangan dan tidak akan update keamanan akan dirilis. [21] [22]
PHP 5
Pada tanggal 14 Juli 2006, PHP 5 dirilis, didukung oleh Zend baru mesin II. [5] PHP 5 termasuk fitur baru seperti peningkatan dukungan untuk pemrograman berorientasi objek
, Objek PHP Data (PDO) ekstensi (yang mendefinisikan ringan dan
antarmuka yang konsisten untuk mengakses database), dan berbagai
perangkat tambahan kinerja. [23] pada tahun 2008 PHP 5 menjadi satu-satunya versi stabil dalam pengembangan. Akhir statis mengikat telah hilang dari PHP dan telah ditambahkan di versi 5.3. [24] [25]
Banyak profil tinggi proyek open-source berhenti mendukung PHP 4 kode
baru sebagai tanggal 5 Februari 2008, karena inisiatif GoPHP5, [26] yang disediakan oleh konsorsium pengembang PHP mempromosikan transisi dari PHP 4 ke PHP 5. [ 27] [28]
Seiring waktu, juru PHP menjadi tersedia pada kebanyakan ada 32-bit dan 64-bit sistem operasi, baik dengan membangun mereka dari kode sumber PHP, atau dengan menggunakan binari pre-built. [29] Untuk versi PHP 5.3 dan 5.4, yang hanya tersedia Microsoft Windows distribusi biner yang 32-bit x86 membangun, [30] [31] membutuhkan Mode Windows kompatibilitas 32-bit saat menggunakan Internet Information Services (IIS) pada platform Windows 64-bit. PHP versi 5.5 membuat 64-bit x86-64 membangun tersedia untuk Microsoft Windows. [32]
PHP 6 dan Unicode
PHP menerima kritikan karena kurang asli Unicode dukungan di tingkat bahasa inti. [33] [34]
Pada tahun 2005, sebuah proyek yang dipimpin oleh Andrei Zmievski
dimulai untuk membawa dukungan Unicode asli seluruh PHP, oleh embedding Komponen Internasional untuk Unicode (ICU ) perpustakaan, dan mewakili string teks sebagai UTF-16 internal. [35]
karena ini akan menyebabkan perubahan besar baik ke internal bahasa dan
kode pengguna, direncanakan untuk rilis ini sebagai versi 6.0 bahasa,
bersama dengan lainnya fitur utama kemudian dalam pembangunan. [36]
Namun, kekurangan pengembang yang memahami perubahan yang diperlukan,
dan masalah kinerja yang timbul dari konversi ke dan dari UTF-16, yang
jarang digunakan dalam konteks web, menyebabkan keterlambatan proyek. [37]
Akibatnya, PHP 5.3 rilis diciptakan pada tahun 2009, dengan banyak
non-Unicode memiliki back-porting dari PHP 6, terutama ruang nama.
Pada bulan Maret 2010, proyek dalam bentuk yang sekarang secara resmi
ditinggalkan, dan rilis PHP 5,4 disiapkan mengandung paling tersisa
non-Unicode fitur dari PHP 6, seperti sifat dan penutupan kembali
mengikat. [38] harapan awal adalah bahwa baru rencana akan dibentuk untuk integrasi Unicode, tetapi sebagai 2014 tidak telah diadopsi.
PHP 7
Selama tahun 2014 dan 2015, versi PHP utama baru dikembangkan, yang
berjumlah PHP 7. Penomoran versi ini melibatkan beberapa perdebatan. [39]
Sementara PHP 6 Unicode percobaan belum pernah dirilis, beberapa
artikel dan judul buku referensi PHP 6 nama, yang mungkin menyebabkan
kebingungan jika rilis baru adalah untuk menggunakan kembali nama. [40] Setelah pemungutan suara, nama PHP 7 dipilih. [41]
Landasan PHP 7 adalah PHP cabang yang awalnya dijuluki PHP generasi berikutnya (phpng). Hal itu ditulis oleh Dmitry Stogov, Xinchen Hui dan Nikita Popov, [42]
dan bertujuan untuk mengoptimalkan kinerja PHP oleh refactoring Zend
Engine sementara tetap mempertahankan kompatibilitas bahasa
dekat-lengkap. [43] Pada 14 Juli 2014 , WordPress
berbasis benchmark, yang menjabat sebagai benchmark suite utama untuk
proyek phpng, menunjukkan peningkatan hampir 100% dalam kinerja.
Perubahan dari phpng juga diharapkan untuk membuatnya lebih mudah untuk
meningkatkan kinerja di masa depan, seperti struktur data lebih kompak
dan perubahan lainnya dipandang sebagai lebih cocok untuk migrasi sukses
untuk just-in-time (JIT) compiler. [44] Karena perubahan signifikan, ulang Zend Engine disebut Zend Engine 3, berhasil Zend Engine 2 yang digunakan dalam PHP 5. [45]
Karena perubahan internal besar dalam phpng, itu harus menerima baru besar versi jumlah PHP, daripada minor PHP 5 rilis, menurut proses rilis PHP. [46]
versi utama dari PHP diperbolehkan untuk istirahat
mundur-kompatibilitas kode dan Oleh karena itu PHP 7 disajikan
kesempatan untuk perbaikan lain di luar phpng yang membutuhkan
mundur-kompatibilitas istirahat. Secara khusus, melibatkan perubahan berikut:
- Banyak mekanisme error fatal- atau dipulihkan tingkat warisan PHP digantikan dengan objek-modern berorientasi pengecualian [47]
-
Sintaks untuk variabel dereferencing adalah ulang secara internal lebih
konsisten dan lengkap, yang memungkinkan penggunaan operator ->, [], (), {}, dan :: dengan bermakna ekspresi kiri-sisi yang sewenang-wenang [48]
- Dukungan untuk warisan PHP metode konstruktor 4 gaya yang ditinggalkan [49]
- Perilaku pernyataan foreach diubah menjadi lebih diprediksi [50]
-
Konstruktor untuk beberapa kelas built-in untuk PHP yang kembali nol
pada kegagalan diubah untuk melemparkan pengecualian bukan, untuk
konsistensi [51]
- Beberapa terawat atau usang antarmuka pemrograman aplikasi server (SAPIs) dan ekstensi telah dihapus dari inti PHP, terutama ekstensi warisan mysql [52]
- Perilaku operator daftar () diubah untuk menghapus dukungan untuk string [53]
- Dukungan untuk warisan ASP-gaya pembatas kode PHP (<% dan%>, <script language = php> dan </ script>) telah dihapus [54]
- Pengawasan memungkinkan pernyataan switch untuk memiliki beberapa klausul standar tetap [55]
- Dukungan untuk dukungan sejumlah heksadesimal dalam beberapa konversi implisit dari string untuk jenis nomor dihapus [56]
- The kiri-shift dan kanan pergeseran operator berubah berperilaku lebih konsisten di seluruh platform [57]
- Konversi antara bilangan bulat dan angka floating point diperketat dan dilaksanakan secara lebih konsisten di seluruh platform [57] [58]
PHP 7 juga termasuk fitur bahasa baru. Terutama, memperkenalkan tipe kembali deklarasi untuk fungsi, [59]
yang melengkapi deklarasi jenis parameter yang ada, dan dukungan untuk
jenis skalar (bilangan bulat, float, string, dan boolean) dalam
parameter dan kembali deklarasi tipe. [60]
Awal sejarah
Pengembangan PHP dimulai pada 1995 ketika Rasmus Lerdorf menulis beberapa Common Gateway Interface program (CGI) di C, [10] [11] [12] yang ia digunakan untuk menjaga nya homepage pribadi . Dia diperpanjang mereka untuk bekerja dengan bentuk web dan untuk berkomunikasi dengan database , dan disebut implementasi ini "Personal Home Page / Forms Interpreter" atau PHP / FI.
PHP / FI bisa membantu untuk membangun, sederhana dinamis aplikasi web . Untuk mempercepat bug
pelaporan dan untuk meningkatkan kode, Lerdorf awalnya mengumumkan
rilis PHP / FI sebagai "Personal Home Page Tools (PHP Tools) versi 1.0"
pada Usenet kelompok diskusi comp.infosystems.www.authoring.cgi pada tanggal 8 Juni, 1995. [13] [14] rilis ini sudah memiliki fungsi dasar yang PHP memiliki sebagai 2013 . Ini termasuk variabel Perl-seperti , bentuk penanganan, dan kemampuan untuk menanamkan HTML. The sintaks mirip yang dari Perl tapi sederhana, lebih terbatas dan kurang konsisten. [5]
Lerdorf tidak berniat PHP awal untuk menjadi bahasa pemrograman baru,
tapi itu tumbuh secara organik, dengan Lerdorf mencatat dalam
retrospeksi: "Saya tidak tahu bagaimana menghentikannya, tidak pernah
ada niat untuk menulis bahasa pemrograman [...] I sama sekali tidak tahu
bagaimana menulis sebuah bahasa pemrograman, saya hanya terus
menambahkan langkah logis berikutnya dalam perjalanan. " [15] sebuah tim pengembangan mulai terbentuk dan, setelah berbulan-bulan bekerja dan beta testing, resmi dirilis PHP / FI 2 di november 1997.
Fakta bahwa PHP tidak memiliki desain keseluruhan asli melainkan
dikembangkan secara organik telah menyebabkan penamaan tidak konsisten
dari fungsi dan pemesanan konsisten parameter mereka. [16] Dalam beberapa kasus, nama-nama fungsi yang dipilih sesuai dengan perpustakaan tingkat rendah yang PHP adalah " pembungkus ", [17] sedangkan di beberapa versi awal dari PHP panjang nama fungsi digunakan secara internal sebagai fungsi hash , sehingga nama-nama yang dipilih untuk meningkatkan distribusi nilai hash. [18]
PHP 3 dan 4
Zeev Suraski dan Andi Gutmans menulis ulang parser pada tahun 1997 dan membentuk dasar dari PHP 3, mengubah nama bahasa terhadap rekursif singkatan PHP:. Hypertext Preprocessor [5] [19]
Setelah itu, uji publik dari PHP 3 dimulai, dan peluncuran resmi datang
pada bulan Juni 1998. Suraski dan Gutmans kemudian mulai baru menulis ulang dari inti PHP, memproduksi Zend Mesin pada tahun 1999. [20] Mereka juga mendirikan Zend Technologies di Ramat Gan , Israel. [5]
Pada tanggal 22 Mei 2000, PHP 4, didukung oleh Zend Engine 1.0, dirilis. [5] Pada Agustus 2008 cabang ini mencapai versi 4.4.9. PHP 4 tidak lagi dalam pengembangan dan tidak akan update keamanan akan dirilis. [21] [22]
PHP 5
Pada tanggal 14 Juli 2006, PHP 5 dirilis, didukung oleh Zend baru mesin II. [5] PHP 5 termasuk fitur baru seperti peningkatan dukungan untuk pemrograman berorientasi objek
, Objek PHP Data (PDO) ekstensi (yang mendefinisikan ringan dan
antarmuka yang konsisten untuk mengakses database), dan berbagai
perangkat tambahan kinerja. [23] pada tahun 2008 PHP 5 menjadi satu-satunya versi stabil dalam pengembangan. Akhir statis mengikat telah hilang dari PHP dan telah ditambahkan di versi 5.3. [24] [25]
Banyak profil tinggi proyek open-source berhenti mendukung PHP 4 kode
baru sebagai tanggal 5 Februari 2008, karena inisiatif GoPHP5, [26] yang disediakan oleh konsorsium pengembang PHP mempromosikan transisi dari PHP 4 ke PHP 5. [ 27] [28]
Seiring waktu, juru PHP menjadi tersedia pada kebanyakan ada 32-bit dan 64-bit sistem operasi, baik dengan membangun mereka dari kode sumber PHP, atau dengan menggunakan binari pre-built. [29] Untuk versi PHP 5.3 dan 5.4, yang hanya tersedia Microsoft Windows distribusi biner yang 32-bit x86 membangun, [30] [31] membutuhkan Mode Windows kompatibilitas 32-bit saat menggunakan Internet Information Services (IIS) pada platform Windows 64-bit. PHP versi 5.5 membuat 64-bit x86-64 membangun tersedia untuk Microsoft Windows. [32]
PHP 6 dan Unicode
PHP menerima kritikan karena kurang asli Unicode dukungan di tingkat bahasa inti. [33] [34]
Pada tahun 2005, sebuah proyek yang dipimpin oleh Andrei Zmievski
dimulai untuk membawa dukungan Unicode asli seluruh PHP, oleh embedding Komponen Internasional untuk Unicode (ICU ) perpustakaan, dan mewakili string teks sebagai UTF-16 internal. [35]
karena ini akan menyebabkan perubahan besar baik ke internal bahasa dan
kode pengguna, direncanakan untuk rilis ini sebagai versi 6.0 bahasa,
bersama dengan lainnya fitur utama kemudian dalam pembangunan. [36]
Namun, kekurangan pengembang yang memahami perubahan yang diperlukan,
dan masalah kinerja yang timbul dari konversi ke dan dari UTF-16, yang
jarang digunakan dalam konteks web, menyebabkan keterlambatan proyek. [37]
Akibatnya, PHP 5.3 rilis diciptakan pada tahun 2009, dengan banyak
non-Unicode memiliki back-porting dari PHP 6, terutama ruang nama.
Pada bulan Maret 2010, proyek dalam bentuk yang sekarang secara resmi
ditinggalkan, dan rilis PHP 5,4 disiapkan mengandung paling tersisa
non-Unicode fitur dari PHP 6, seperti sifat dan penutupan kembali
mengikat. [38] harapan awal adalah bahwa baru rencana akan dibentuk untuk integrasi Unicode, tetapi sebagai 2014 tidak telah diadopsi.
PHP 7
Selama tahun 2014 dan 2015, versi PHP utama baru dikembangkan, yang
berjumlah PHP 7. Penomoran versi ini melibatkan beberapa perdebatan. [39]
Sementara PHP 6 Unicode percobaan belum pernah dirilis, beberapa
artikel dan judul buku referensi PHP 6 nama, yang mungkin menyebabkan
kebingungan jika rilis baru adalah untuk menggunakan kembali nama. [40] Setelah pemungutan suara, nama PHP 7 dipilih. [41]
Landasan PHP 7 adalah PHP cabang yang awalnya dijuluki PHP generasi berikutnya (phpng). Hal itu ditulis oleh Dmitry Stogov, Xinchen Hui dan Nikita Popov, [42]
dan bertujuan untuk mengoptimalkan kinerja PHP oleh refactoring Zend
Engine sementara tetap mempertahankan kompatibilitas bahasa
dekat-lengkap. [43] Pada 14 Juli 2014 , WordPress
berbasis benchmark, yang menjabat sebagai benchmark suite utama untuk
proyek phpng, menunjukkan peningkatan hampir 100% dalam kinerja.
Perubahan dari phpng juga diharapkan untuk membuatnya lebih mudah untuk
meningkatkan kinerja di masa depan, seperti struktur data lebih kompak
dan perubahan lainnya dipandang sebagai lebih cocok untuk migrasi sukses
untuk just-in-time (JIT) compiler. [44] Karena perubahan signifikan, ulang Zend Engine disebut Zend Engine 3, berhasil Zend Engine 2 yang digunakan dalam PHP 5. [45]
Karena perubahan internal besar dalam phpng, itu harus menerima baru besar versi jumlah PHP, daripada minor PHP 5 rilis, menurut proses rilis PHP. [46]
versi utama dari PHP diperbolehkan untuk istirahat
mundur-kompatibilitas kode dan Oleh karena itu PHP 7 disajikan
kesempatan untuk perbaikan lain di luar phpng yang membutuhkan
mundur-kompatibilitas istirahat. Secara khusus, melibatkan perubahan berikut:
- Banyak mekanisme error fatal- atau dipulihkan tingkat warisan PHP digantikan dengan objek-modern berorientasi pengecualian [47]
-
Sintaks untuk variabel dereferencing adalah ulang secara internal lebih
konsisten dan lengkap, yang memungkinkan penggunaan operator ->, [], (), {}, dan :: dengan bermakna ekspresi kiri-sisi yang sewenang-wenang [48]
- Dukungan untuk warisan PHP metode konstruktor 4 gaya yang ditinggalkan [49]
- Perilaku pernyataan foreach diubah menjadi lebih diprediksi [50]
-
Konstruktor untuk beberapa kelas built-in untuk PHP yang kembali nol
pada kegagalan diubah untuk melemparkan pengecualian bukan, untuk
konsistensi [51]
- Beberapa terawat atau usang antarmuka pemrograman aplikasi server (SAPIs) dan ekstensi telah dihapus dari inti PHP, terutama ekstensi warisan mysql [52]
- Perilaku operator daftar () diubah untuk menghapus dukungan untuk string [53]
- Dukungan untuk warisan ASP-gaya pembatas kode PHP (<% dan%>, <script language = php> dan </ script>) telah dihapus [54]
- Pengawasan memungkinkan pernyataan switch untuk memiliki beberapa klausul standar tetap [55]
- Dukungan untuk dukungan sejumlah heksadesimal dalam beberapa konversi implisit dari string untuk jenis nomor dihapus [56]
- The kiri-shift dan kanan pergeseran operator berubah berperilaku lebih konsisten di seluruh platform [57]
- Konversi antara bilangan bulat dan angka floating point diperketat dan dilaksanakan secara lebih konsisten di seluruh platform [57] [58]
PHP 7 juga termasuk fitur bahasa baru. Terutama, memperkenalkan tipe kembali deklarasi untuk fungsi, [59]
yang melengkapi deklarasi jenis parameter yang ada, dan dukungan untuk
jenis skalar (bilangan bulat, float, string, dan boolean) dalam
parameter dan kembali deklarasi tipe. [60]