PHP
PHP(PHP:HypertextPreprocessor) là một loại lai trong máy tính chấp hành 嗰Kịch bản gốc ngôn ngữ,Chủ yếu dùng để xử lýĐộng thái trang web,Cũng bao hàmMệnh lệnh liệtChấp hành 嗰 giới mặt ( command line interface ), hoặc là sinh raĐồ hình người sử dụng giới mặt( GUI ) 嗰 thể thức.[1]
PHP đỉnh sớm làRasmus LerdorfLai 1995 năm ki phát minh 嗰, đến sưởng ki PHP嗰 tiêu chuẩn 䜒PHP Group đáp mở ra nguyên thủy mã xã đàn giữ gìn. PHP dùng PHP License làm cho phép hiệp nghị, bất quá cái hiệp nghị hạn lao dùng PHP tên, quái đến đáp mở ra nguyên thủy mã 嗰 cho phép hiệp nghịGPLKhông hợp.[2]
PHP嗰 ứng dụng phạm vi hầu đại, đặc biệt lai trang web thể thức 嗰 khai phá. Giống nhau tới giảng PHP đều lai trang web 嗰 hầu phục khí chấp hành, thông qua chấp hành PHP thể thức mã trước tí người dùng muốn lưu lãm 嗰 trang web làm khởi. PHP hảo lai man nhiều 嗰 hầu phục khí đáp tác nghiệp hệ thống chấp hành, lại thêm chi PHP bạch dùng phụng tiền mặt. Căn cứ 2007 năm 4 nguyệt 嗰 thống kê tư liệu, PHP có giảo đến 2000 nhiều vạn 嗰 trang web đáp 100 vạn bộ hầu phục khí[3].
Khai phá lịch sử
[Biên tập]![](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/Lerdorf.jpg/100px-Lerdorf.jpg)
![](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Andi_Gutmans_1.jpg/100px-Andi_Gutmans_1.jpg)
![](https://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Zeev_Suraski.jpg/100px-Zeev_Suraski.jpg)
PHPNgẩng đầu lên là Personal Home Page cái tỉnh giảng[4],Là Rasmus Lerdorf vì giữ gìn cá nhân trang web, dùng Ngôn ngữ C khai phá cái một hứaCGICông cụ thể thức tập, đại cái nguyên lai dùng 嗰PerlThể thức. Đỉnh sớm hứa công cụ thể thức chở tới biểu hiện Rasmus Lerdorf嗰 cá nhân lý lịch, còn có thống kê trang web 嗰 lưu lượng[5].Sau vãn ki cừ tí hứa thể thức đáp một hứa biểu đơn dịch thẳng khí chỉnh hợp nhau, tên PHP/FI. PHP/FI đáp cơ sở dữ liệu hảo liên tiếp, sinh thành dùng ít sức 嗰 động thái trang web thể thức. Rasmus Lerdorf lai 1995 năm 6 nguyệt 8 hào tí PHP/FI thả ra, hy vọng thông qua xã đàn mau đinh khai phá thể thức đáp tìm kiếm 嗰 đãng mà[6].Lúc ấy cái phiên bản là PHP 2, có sưởng 嗰PHP嗰 phạm tử hào, giống cùng loạiPerl嗰 biến số mệnh danh phương thức, biểu đơn xử lý công năng, còn có khảm tiến HTML chấp hành 嗰 năng lực. Thể thức ngữ pháp cũng trạng Perl嗰 phạm, có man nhiều hạn chế, bất quá còn đơn giản, còn có co dãn.[5]
1997 năm ki, lai Technion IIT công ty 嗰 hai cáiIsraelThể thức thiết kế sư: Zeev Suraski đáp Andi Gutmans, tí PHP嗰 phân tích khí truyền hào, thành PHP 3嗰 cơ sở, ha PHP cũng lai cái thời điểm sửa khởi 䜒PHP: Hypertext Preprocessor.[5].Thông qua một hai 嗰 nguyệt đầu 嗰 thí nghiệm, khai phá đoàn đội lai 1997 năm 11 nguyệt chở ra PHP/FI 2, tùy chân liền bắt đầu PHP 3嗰 mở ra thí nghiệm, đến sau vãn lai 1998 năm 6 nguyệt chính thức thả ra PHP 3. Zeev Suraski đáp Andi Gutmans lai PHP 3 thả ra sau khai sửa PHP嗰 trung tâm, cái lai 1999 năm thả ra 嗰 phân tích khí tênZend Engine[7],Cừ y cũng laiIsrael嗰Ramat Gan thành lập Zend Technologies tới quản PHP嗰 khai phá.[5]
2000 năm 5 nguyệt số 22, lấy Zend Engine 1.0 làm cơ sở 嗰PHP 4 chính thức đẩy ra, 2004 năm 7 nguyệt 13 hào đẩy ra PHP 5, PHP 5 là dùng đời thứ hai 嗰Zend Engine[5].PHP 5 có vô số tân 嗰 đặc sắc, cùng cường hóa 嗰Đồ vật hướng phát triểnCông năng, dẫn vào PDO ( PHP Data Objects, một cái tồn lấyCơ sở dữ liệu嗰 kéo dài hàm thức kho ), còn có vô số hiệu năng 嗰 tăng mạnh[8].Sưởng PHP 4 không hề đổi mới hào, vì cổ vũ người dùng chuyển đi PHP 5.[9][10]
2008 năm PHP 5 thành PHP duy nhất giữ gìn giữa 嗰 ổn định phiên bản. Chuyển ngày 嗰PHP 5.3 sẽ thêm tiếnLate static bindingĐáp khác một hứa công năng 嗰 cường hóa[11][12].
PHP 6嗰 khai phá cũng lai 塝 tiến hành giữa, chủ yếu 嗰 cải tiến có di trừregister_globals
[13],magic quotes
CùngSafe mode
嗰 công năng.[9][14]
Phiên bản lịch trình
[Biên tập]Đại biểu ý nghĩa | |
---|---|
Màu đỏ | Cũ bản; phía chính phủ đình chỉ chi viện |
Màu vàng | Cũ bản; phía chính phủ giữ gìn giữa |
Màu xanh lục | Sưởng 嗰 phiên bản |
Màu lam | Chuyển ngày phiên bản |
Chủ yếu phiên bản | Thứ yếu phiên bản | Đẩy ra ngày | Thuyết minh |
---|---|---|---|
1.0 | 1.0.0 | 1995 năm 6 nguyệt 8 hào | Chính thức tên vì "Personal Home Page Tools (PHP Tools)", đệ nhất bè dùng "PHP" cái tên.[5] |
2.0 | 2.0.0 | 1996 năm 4 nguyệt 16 hào | PHP 1.0 cái cải tiến bản, tốc độ còn nhanh, thể tích còn tế, sinh ra động thái trang web còn dùng ít sức.[5] |
3.0 | 3.0.0 | 1998 năm 6 nguyệt 6 hào | Khai phá phương thức đổi thành nhiều người làm đội tham dự. Zeev Suraski cùng Andi Gutmans vì cái bản, phân tích động cơ truyền quá.[5] |
4.0 | 4.0.0 | 2000 năm 5 nguyệt số 22 | Đổi thành dùng Zend động cơ đương phân tích khí, có hai giai đoạn phân tích / nhãn phân tích hệ thống chờ tiên tiến 嗰 công năng.[15] |
4.1.0 | 2001 năm 12 nguyệt 10 hào | Thêm tiến "Siêu toàn vực biến số" ( superglobals ) công năng, bao hàm$_GET ,$_POST ,$_SESSION Chờ[15]
| |
4.2.0 | 2002 năm 4 nguyệt số 22 | Dự thiết hủy bỏ register_globals công năng. Từ võng lộ tiếp thu 嗰 tư liệu phất giả thiết thành toàn vực biến số, gia tăng thể thức 嗰 an toàn tính[15]. | |
4.3.0 | 2002 năm 12 nguyệt 27 hào | Thêm tiến mệnh lệnh liệt chấp hành đương, tên CLI.[15] | |
4.4.0 | 2005 năm7 nguyệt 11 hào | Added man pages forphpize andphp-config scripts.[15]
| |
4.4.8 | 2008 năm1 nguyệt 3 hào | Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.[16] | |
4.4.9 | 2008 năm8 nguyệt 7 hào | More security enhancements and bug fixes. The last release of the PHP 4.4 series.[17][18] | |
5.0 | 5.0.0 | 2004 năm7 nguyệt 13 hào | Zend Engine II with a new object model.[19] |
5.1.0 | 2005 năm11 nguyệt 24 hào | Performance improvements with introduction of compiler variables in re-engineered PHP Engine.[19] | |
5.2.0 | 2006 năm11 nguyệt 2 hào | Enabled the filter extension by default.[19] | |
5.2.8 | 2008 năm12 nguyệt 8 hào[20] | emergent bug fix[20] | |
5.2.9 | 2009 năm2 nguyệt 26 hào[21] | Giải quyết 5.2.* vượt qua 50 nhiều hành 嗰 sai lầm đáp nhiều 嗰 an toàn vấn đề, ổn định tính tăng cường.[21] | |
5.2.10 | 2009 năm6 nguyệt 18 ngày[22] | Cái bản tí vô này số 嗰bug đáp an toàn lỗ hổng tu chỉnh, múi giờ cơ sở dữ liệu thăng cấp hào.[22] | |
5.3.0 | 2009 năm6 nguyệt 30 ngày[23] | Duy trìMệnh danh không gian;Dùng XMLReader đáp XMLWriter tăng cường XML duy trì; duy trì SOAP,[24]Lùi lại trạng thái tĩnh trói định, nhảy chuyển nhãn ( hữu hạn 嗰goto),Bế bao,Native PHP archives | |
6.0 | 6.0.0 | ??? | Duy trì Unicode; di trừ ereg mở rộng, 'register_globals', 'magic_quotes' cùng 'safe_mode';Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() |
Ứng dụng
[Biên tập]PHP là một 嗰 ứng dụng phạm vi hầu quảng 嗰 ngôn ngữ, đặc biệt lai võng lộ trình thức khai phá phương diện. Giống nhau tới giảng PHP đều lai hầu phục khí đoan chấp hành, thông qua chấp hành PHP嗰 thể thức mã làm thành trang web tí trình duyệt đọc, còn dùng tốt tới khai phá mệnh lệnh liệt kịch bản gốc thể thức đáp người sử dụng đoan 嗰GUI ứng dụng thể thức. PHP hảo lai vô số phất cùng loại hầu phục khí, tác nghiệp hệ thống, ngôi cao chấp hành, cũng hảo đáp vô sốCơ sở dữ liệu hệ thốngLàm đội dùng. Dùng PHP phụng giải tiền mặt, phía chính phủ tổ chức PHP Group cung cấp toàn 嗰 thể thức nguyên thủy mã, người sử dụng hảo sửa, biên dịch, mở rộng hào dùng.[26]
An toàn
[Biên tập]TheoNational Vulnerability Database嗰 số liệu biểu hiện, đáp PHP có cáo 嗰 cơ sở dữ liệu công kích tỉ lệ là: 20% 2004, 28% 2005, 43% 2006, 36% 2007, and 35% 2008[27].Trong đó vô số 嗰 lỗ hổng đều hảo thông qua viễn trình thao tác hoàn thành, như:HackerDùng tốt internet liên tiếp công kích server, đạt tới ăn trộm hoặc hủy giả hư số liệu, gửi điRác rưởi bưu kiệnHoặc là tiến hànhCự tuyệt phục vụ công kích.
Ngữ pháp
[Biên tập]PHP嗰 ngữ pháp chiếuPerl,C ngôn ngữDạng, còn hảo khảm tiếnHTML,Hạ đế là một 嗰 dùng ít sức 嗰Hello WorldThể thức:
<?php
echo'Hello World!';
?>
PHP phân tích động cơ đơn thanh phân tích<?phpĐến?>Chi gian 嗰 thể thức mã, 嘸 lai<?phpĐến?>嗰 nội dung sẽ trực tiếp đưa ra đi, cho nên giảng dùng tốt hạ đế 嗰 phương thức tí PHP嗰 thể thức mã khảm tiến HTML:
<?php
//-PHP thể thức mã
?>
html nội dung
<?php
//-PHP thể thức mã
?>
Nhưng lai phán đoán câu nói 嗰HTML số hiệu chớ sẽ trực tiếp đưa ra đi:
<?php
if(false){
?>
HTML Code
<?php
}
?>
PHP dùng tốt ba loại chú giải 嗰 hình thức: C đáp C++ dùng 嗰 “/*...*/” còn có “//”, còn có Perl嗰 “#”.
Loại hình
[Biên tập]PHP chủ yếu có hạ đế bốn dạngĐại lượng vô hướngLoại hình:
- Chỉnh hình( integer )
- Phù điểm hình( float )
- Bố ngươi hình( boolean )
- Tự phù xuyến( string )
Hai dạngHợp lại loại hình:
Hai dạng đặc thù loại hình
Biến số
[Biên tập]PHP hướng,Lượng biến đổiDùng “$” thêm biến số 嗰 tên tỏ vẻ. Biến số 嗰 tên dùng lớn nhỏ viết là phất dạng 嗰.
Dùng tốt 嗰 biến số tên là dùng chữ cái hoặc là điểm mấu chốt mở đầu, sau 臗 quản mấy 嗰 chữ cái, con số hoặc là điểm mấu chốt đều 嘸 cáo, PHP cũng duy trì dùng nhiều byte văn tự đương lượng biến đổi danh, a đó là giảng chữ Hán cũng dùng tốt.[29]
Đồ vật hướng phát triển
[Biên tập]PHP từ PHP 3 khởi liền có cơ bản 嗰 đồ vật hướng phát triển ( Object oriented ) đặc tính, mãi cho đến PHP 5 tí đồ vật hướng phát triển bộ phận truyền viết hào lúc sau, PHP嗰 đồ vật hướng phát triển công năng ha tính man hoàn thiện. Sưởng hảo giảng PHP là một cái có hoàn chỉnh đồ vật hướng phát triển công năng 嗰 ngôn ngữ.
PHP tương quan tài nguyên
[Biên tập]Hàm thức kho
[Biên tập]Nội kiến đa dạng hóa 嗰 hàm số là PHP chủ yếu 嗰 đặc điểm chi nhất, hứa mở ra thể thức mã 嗰 hàm số cung cấp các dạng 嗰 công năng, tỷ như hồ sơ xử lý,FTP,Tự xuyến xử lý từ từ. Hứa hàm số 嗰 sử dụng phương pháp đápC ngôn ngữKhông sai biệt lắm ( tỷ nhưprintf), cái cũng là PHP tân khi 嗰 một 嗰 nguyên nhân.
Trừ bỏ nội kiến 嗰 hàm số ở ngoài, PHP cũng cung cấp vô số kéo dài hàm thức kho ( extension ), cùng các dạngCơ sở dữ liệuLiên tiếp hàm số,Tư liệu áp súcHàm số, đồ hình xử lý từ từ. Một hứa kéo dài hàm thức kho yêu cầu từPECL( PHP Extension Community Library ) đạp chở.
Nguyên thủy mã mã hóa đáp gia tốc
[Biên tập]PHP nguyên thủy mã là hảo trực tiếp đọc lấy 嗰, liền 囥 hầu phục khí chấp hành cũng dạng. Tuy rằng làm PHP có co dãn hào, tương đối cũng sẽ tạo thành an toàn nguy cơ đáp tính năng giảm xuống 嗰 vấn đề.
Xuyên thấu qua PHP mã hóa khí, hảo tí PHP cái nguyên thủy mã bảo hộ lao 嘸 chỗ đọc lấy ( đối thương nghiệp mềm thể tới giảng đặc biệt yêu cầu ), cũng hảo đề thăng chấp hành 嗰 hiệu năng. Có man nhiều công ty hoặc đoàn thể khai phá PHP嗰 mã hóa khí, tí PHP thể thức biên dịch thànhVị nguyên tổ mã( byte code ), lại thông qua hầu phục khí trang bị đối ứng 嗰 thể thức tới chấp hành PHP嗰 kịch bản gốc.
Trừ bỏ dùng mã hóa khí gia tốc ở ngoài, PHP còn dùng tốt động thái 嗰 mau lấy cơ chế nhắc tới thăng tốc độ, gia tốc công cụ có thương nghiệp bản 嗰, tỷ như Zend Platform, cũng có mở ra nguyên thủy mã 嗰 gia tốc mềm thể nhưeAccelerator,APC,
Bản mẫu động cơ
[Biên tập]Bản mẫu động cơ làm PHP ứng dụng thể thức hảo tí logic giới mặt đáp sử dụng giới mặt hai 嗰 tách ra, làm thể thức khai phá tiến hành còn dùng ít sức, trước mắt người man vừa ý 嗰 bản mẫu động cơ là PHP phía chính phủ khai phá 嗰Smarty.Bất quá bản mẫu động cơ 嗰 hiệu năng có tranh luận, bởi vì PHP bản thân đó là một cái bản mẫu động cơ, dùng bản mẫu động cơ ngược lại biến thành “Chuyển phát minh lôi bàn” (reinventing the wheel). Bản mẫu động cơ đỉnh hảo 嗰 đó là không hiểu PHP thể thức mã 嗰 người cũng dùng tốt giới mặt tới khai phá, bởi vì bản mẫu động cơ 嗰 ngôn ngữ so PHP còn đơn giản.
Tương lai phát triển
[Biên tập]PHP 6
[Biên tập]- Duy trì Unicode
- Di trừ ereg mở rộng, 'register_globals', 'magic_quotes' đáp 'safe_mode';Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better
- var trở thành public嗰 biệt danh, lai loại var thanh minh biến thành public.
- register_long_array chở hào, PHP5 cam chịu là quan lao 嗰, PHP6 dứt khoát tí y chở cập hào.
- Khác cải tiến
Tham khảo tư liệu
[Biên tập]- ↑Introduction.PHP Manual.Phỏng vấn ngày chân 2006-11-15.
- ↑GPL-Incompatible, Free Software Licenses.Various Licenses and Comments about Them.Free Software Foundation.Nguyên thủy hồ sơLặc 2008-12-16 lưu trữ. Phỏng vấn ngày chân 2008-02-22.
- ↑Usage Stats for April 2007.Phỏng vấn ngày chân 2008-07-07.
- ↑php.net/history
- ↑5.05.15.25.35.45.55.65.7History of PHP and related projects.The PHP Group. Phỏng vấn ngày chân 2008-02-25.
- ↑Template:Cite newsgroup
- ↑Zend Engine version 2.0: Feature Overview and Design.Zend Technologies Ltd..Nguyên thủy hồ sơLặc 2006-07-19 lưu trữ. Phỏng vấn ngày chân 2006-09-17.
- ↑Trachtenberg, Adam (2004-07-15).Why PHP 5 Rocks!.O'Reilly.Nguyên thủy hồ sơLặc 2016-03-31 lưu trữ. Phỏng vấn ngày chân 2008-02-22.
- ↑9.09.1php.net 2007 news archive.The PHP Group (2007-07-13). Phỏng vấn ngày chân 2008-02-22.
- ↑Kerner, Sean Michael (2008-02-01).PHP 4 is Dead—Long Live PHP 5.InternetNews. Phỏng vấn ngày chân 2008-03-16.
- ↑Late Static Binding in PHP.Digital Sandwich (2006-02-23). Phỏng vấn ngày chân 2008-03-25.
- ↑Static Keyword.The PHP Group. Phỏng vấn ngày chân 2008-03-25.
- ↑Using Register Globals.PHP. Phỏng vấn ngày chân 2008-04-04.
- ↑Prepare for PHP 6.CorePHP (2005-11-23).Nguyên thủy hồ sơLặc 2008-03-01 lưu trữ. Phỏng vấn ngày chân 2008-03-24.
- ↑15.015.115.215.315.4[http:// php.net/ChangeLog-4.phpPHP: PHP 4 ChangeLog]. The PHP Group (2008-01-03). Phỏng vấn ngày chân 2008-02-22.
- ↑ PHP: PHP 4.4.8 Release Announcement
- ↑PHP: Downloads
- ↑PHP: PHP 4.4.9 Release Announcement
- ↑19.019.119.2PHP: PHP 5 ChangeLog.The PHP Group (2007-11-08). Phỏng vấn ngày chân 2008-02-22.
- ↑20.020.1PHP: News Archive - 2008
- ↑21.021.1PHP: News Archive - 2009
- ↑22.022.1[1]
- ↑[2]
- ↑Archive copy.Nguyên thủy hồ sơLặc 2009-01-03 lưu trữ. Phỏng vấn ngày chân 2010-04-03.
- ↑Personal homepage of Jeroen van der Meer
- ↑Embedding PHP in HTML.O'Reilly (2001-05-03).Nguyên thủy hồ sơLặc 2008-02-19 lưu trữ. Phỏng vấn ngày chân 2008-02-25.
- ↑PHP-related vulnerabilities on the National Vulnerability Database(2008-03-01).Nguyên thủy hồ sơLặc 2009-06-28 lưu trữ. Phỏng vấn ngày chân 2010-04-03.
- ↑Types Introduction,The PHP Group
- ↑ Language variables,The PHP Group
- ↑Personal homepage of Jeroen van der Meer
Phần ngoài liên tiếp
[Biên tập]- PHP trang đầu
- PHP wiki
- PHP-GTK trang đầu
- PHP CodeIgniter
- PHP tương quan tự do mềm thể
- PHP số hiệu áp súcHồ sơ,Tồn lặcInternet hồ sơ quánGiữa. ( 2009 năm 11 nguyệt 5 hào )
Template: Trình tự thiết kế ngôn ngữ
![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png)