PHP: Нұсқалар арасындағы айырмашылық

Уикипедия — ашық энциклопедиясынан алынған мәлімет
Навигацияға өту Іздеуге өту
Content deleted Content added
Өңдеу түйіні жоқ
Өңдеу түйіні жоқ
218-жол: 218-жол:
;<tt>$_SESSION</tt> (уст. <tt>$HTTP_SESSION_VARS</tt>)
;<tt>$_SESSION</tt> (уст. <tt>$HTTP_SESSION_VARS</tt>)
: Осы сессияларда болады.
: Осы сессияларда болады.





=== Объективтi-хабар программалау===
=== Объективтi-хабар программалау===
280-жол: 277-жол:
?>
?>
</source>
</source>

== Интерпретатордың ерекшелiктерi ==

PHP - скрипттер реттерде әдетте [[интерпретатор]]лардын қаралудан өтедi<ref name="php_comp_int"/>, қамтамасыз ететiн [[кроссплатформенность]] игерiлген қосымшалары:
# [[лексикалық талдау]] [[бастапқы кодтың | Бастапқы коды]] және [[лексемалардың (информатика ) | лексемасы]] генерация,
# алған лексемалар [[синтаксистiк талдау]],
# [[байт]]ы генерация,
# байт орындау - ([[атқарылатын файлдың | атқарылатын файлы]] жасаусыз) интерпретаторды код.

Қосымшалардың жылдамдығының үлкеюлерi үшiн [[программалық қамтамасыз етудi программалық| қамтамасыз ету]] қолдану арнайы болуы мүмкiн, [[үдеткiштердi PHPның | үдеткiшi]] деп аталатын. Олардың жұмысының қағидасы бiр күнi шығарылған байтта болады - [[дисктiң қатты | диск]] и/илиға коды, сайып келгенде, қосымшаның жұмысының процессiнен кезеңдер жағдайда жұмыстың түбегейлi үдеуiне бағытталатын 1—3 шығарылады.

Маңызды ерекшелiк болып табылады онда өңдеушiге не ЄдЄуға қажетi жоқты және Жад [[босаудың қоқыс | жинастыру]]. PHP ядро жадты автоматты басқару үшiн құралды жүзеге асырады; барлық ерекшеленген жад жүйеге скрипттi жұмыс аяғынан кейiн қайтарылады.<ref>{{cite web|url=http://ua.php.net/manual/en/internals2.memory.management.php|title=PHP: Basic memory management — Manual|date=13 ноября 2009|lang=ru|accessdate=2009-11-17|archiveurl=http://www.webcitation.org/616Xk37JK|archivedate=2011-08-21}}</ref>

=== Кеңейтулер ===

Интерпретатор [[ядроның | Zend Engineсi]] тұрады қосылатын [[модулдардың (программалау ) | модулы]] өзiменмен [[кiтапхананың (программалау ) | кiтапханасы]] динамикалық ұсынатын "кеңейтулерден" тұрады. Кеңейтулер тiлдiң негiздi мүмкiндiктерiн [[деректер қоры | деректер қоры басқару жүйесi]] жұмыс үшiн мүмкiндiк бере толықтыруға мүмкiндiк бередi, [[сокеттермен (программалық интерфейс) | сокет]], [[графикамен компьютер | графикасы]] динамикалық, [[PDF]] қалыптың кiтапханалармен, құжаттарымен [[криптография | крифтографиялық]] соған ұқсас. Кез келген құлықтысы кеңейтудi өз меншiктi жасауға және ол қоса алады. Жасалған бөтен серiктестiктер және энтузиасттармен, дегенмен үйреншiктi жабдықтауына тек қана өз жақсы кепiлдеме берген бiрнеше он шақтылары кiредi де, үйреншiктi де кеңейтулердi көптiк бар болады. Кеңейтулердi жиын [[PECL]] репозиторииға түсiнiктi.

=== Күйге келтiрудiң параметрлерi ===

PHP интерпретатор [[кескiндi файл]] арнайы алады — <tt>php.ini</tt>, өзгерiсi интерпретатордың мiнез-құлығына ықпал ететiн күйге келтiрулердi болатын жиын.<ref>{{cite web|url=http://ua.php.net/manual/en/ini.php|title=PHP: php.ini directives — Manual|date=6 ноября 2009|lang=en|accessdate=2009-11-13|archiveurl=http://www.webcitation.org/616Xkcrhr|archivedate=2011-08-21}}</ref> Функциялардың қолдану қатарлары бөлiп тастау мүмкiндiгi, жүктелетiн файлдардың скрипт қолданылатын жедел жадты, орындау уақыты, көлемiне шектеуiн өзгертiп, қателердiң журналированиесi, сессиялары бар жұмысты және пошталық сервистермен күйге келтiрiп, қосымша кеңейтулер қосуға болады, сонымен бiрге көп басқа. Бұл параметрлер скрипттiң орындаулары уақытында командамен өзгертiле алады<tt>ini_set</tt>.<ref>{{cite web|url=http://ua.php.net/manual/en/ini.list.php|title=PHP: List of php.ini directives — Manual|date=6 ноября 2009|lang=en|accessdate=2009-11-13|archiveurl=http://www.webcitation.org/616XlBAvP|archivedate=2011-08-21}}</ref>

=== Интерпретатордың тәртiптерi ===

PHPның интерпретаторының бiрнеше қолдану әдiстерi бар болады:
# Модул ретiнде [[веб-сервер]] арқылыларда [[ISAPI]] немесе [[SAPI]]<ref>[http://www.php.net/manual/en/security.apache.php PHP: Installed as an Apache module — Manual]</ref> (мысалы, модул [[Apache]] үшiн<tt>mod_php</tt>). Сервер веб-нi толтырылған модулмен iске қосылады және phpларға қарап сөйлеуде - ол скриптке сервердiң веб-сi [[процесстiң (информатика ) | процессi]] [[ортаның | Операциялық орта]] орындалады. Арқасында келесi себептердiң PHPның қолдануының әдiсi бұл кең таралғандар:
#* ол [[талқылауды программаны | дұрыстау]] үшiн өте ыңғайлы, PHPның қатесi өйткенi (осы тәртiп егер күйге келтiрулердегi қосылған) пердеде iске аспай қалады, қате [[CGI]] тәртiпте сонда генерацияға алып келедi [[HTTP#500 күйiнiң кодтарының тiзiмiия |HTTP-коды 500]] және қосымша мәлiметтi сервердiң веб-сiне iздеуге керек;
#*PHPның кейбiр күйге келтiрулерi өзгерту мүмкiндiгi кiдiрiссiз файл арқылы болады [[.htaccess]], веб-сервердiң қайта тиеулерсiз;
#* тәртiпте HTTP пайдалану мүмкiндiгi CGI жоқ - аутентификациямен.<ref>[http://dev.1c-bitrix.ru/community/blogs/howto/568.php 1С-Битрикс — mod_php vs CGI vs FastCGI]</ref><ref>{{cite web|url=http://docs.php.net/manual/ru/features.http-auth.php|title=PHP: HTTP-Аутентификация в PHP — Manual|date=21 июня 2009|accessdate=2009-11-13|archiveurl=http://www.webcitation.org/616XlmYiV|archivedate=2011-08-21}}</ref>
#* жұмыстың биiгiрек жылдамдығымен ие болады.
# [[CGI]] ретiнде. Осы жағдайда, веб-сервер скрипттi шақыруда шақырады<tt>/usr/bin/php-cgi /path/to/script.php</tt>. Сонымен бiрге жаңа процесс және скрипт жасалады ортада орындалады<tt>php-cgi</tt>, қай, күйге келтiрулерге байланысты, сервердiң веб-сiнiң процесстiң ортасынан күштi айырмашылығы бола алады. Қазiргi варианттан астам [[FastCGI]] болып табылады. PHP препроцессор қарамастан бәрiбiр әрбiр сұрау салуда қайта жiбередi<ref>[http://www.fastcgi.com/drupal/node/5?q=node/10 PHP | FastCGI]</ref><ref>[http://dklab.ru/chicken/nablas/49.html PHPның жүктеуiн оптимизациялаймыз - код 22 есе, немесе FastCGI PHPны жылдамдатпайтын]</ref>, осы вариантты артықшылық қауiпсiздiктiң биiгiрек дәрежесi алдыңғының алдында болып табылады, сондықтан PHPның қалайы өз құқықтары бар жеке қосымша сияқты жұмыс iстейдi.
# [[командалық жолдың | командалық жолының интерфейсi]] қолданушымен шақырылатын [[командалық жолдың скриптiн | командалық жолдың интерфейсi]] ретiнде [[атқарылатын файлмен | атқарылатын файл]] болатын; скрипт шақырған қолданушының ортасында орындалады. Осы жағдайда жасаулар үшiн қолдану PHPлар [[GUI]] клиент болуы мүмкiн - қосымшалар<ref>{{cite web|url=http://docs.php.net/manual/ru/features.commandline.php|title=PHP: Командалық жолдағы қолдануы PHPлары — Manual|date=21 июня 2009|lang=ru|accessdate=2009-11-13|archiveurl=http://www.webcitation.org/616XmPeqJ|archivedate=2011-08-21}}</ref> және [[басқару жүйелерi | басқару жүйесi]] әкiмшiлiк есептердiң шешiмдерi [[UNIX]], [[Linux]], [[Microsoft Windows]], [[Mac OS X]] и [[AmigaOS]]. Ол такомалардың сапасында алайда, таратуды бiрiншiлiктiң пальмасын бере алмады [[Perl]], [[Python]] и [[Visual Basic Scripting Edition|VBScript]]

=== Пасхалық жұмыртқалар ===

PHP [[пасхалық жұмыртқалардың (виртуалды ) | пасхалық жұмыртқасы]] (әзiлдер ) бiрнеше алады. Арнайы GETтардың берiлуi - кез келген phpлерге параметрлерi - скриптке әр түрлi суреттердiң қорытындысына алып келедi.

Мысалы:

кез келген_сценари.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

браузердiң адрестi жолына бұл мән интерпретатордың болжамына байланысты әр түрлi суреттер көруге боладуға енгiзе:
# фотосурет ''Thies Arntzen'' (болжамдар 4.1.2, 4.2.2)
# фотосурет [[Такса|таксы]] (билеушісі ''Stig Bakken'') (болжамдар 4.3.2, 4.3.3, 4.3.8 — 4.3.10)
# фотосурет қара [[терьер]] (билеушісі ''Zeev Suraski'') (болжамдар 4.3.11, 4.4.0 — 4.4.4, 5.1.0, 5.1.2)
# фотосурет [[үй қояны]] (болжамдар 4.3.1, 5.0.0, 5.0.3)
#PHP бұрмалалған логотип (болжамдар 5.1.3 — 5.2.13)<ref name="0php_eeggs">{{cite web|url=http://www.0php.com/php_easter_egg.php|title=PHP Easter Egg|lang=en|accessdate=2009-11-16|archiveurl=http://www.webcitation.org/616b44t2j|archivedate=2011-08-21}}</ref>
# PHPның жазуы бар ойыншық көк пiлдiң фотосуретi (бастау болжамдар 5.3.0)<ref name="0php_eeggs"/>
Келесi екi мәндер PHP және ZENDтiң үйреншiктi логотиптарын көруге мүмкiндiк бередi, сәйкесiнше:<ref name="0php_eeggs"/>

кез келген_сценари.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
кез келген_сценари.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

Бұл мәндер PHPға тiкелей - скрипт функциялар арқылы да алуға болады<tt>php_logo_guid</tt> и <tt>zend_logo_guid</tt> Zendтың логотибы үшiн.

Сонымен бiрге PHP (4,5) барлық авторларын тiзiмнiң бейнесi үшiн арнайы мәнде болады:<ref name="0php_eeggs"/>

кез келген_сценари.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

=== Талғаулы iске асырулар ===
PHPның тiлi және ниеттерi мәлiмдiлiкке байланысты негiзделген [[қосымшалардың веб-сi | қосымша веб-]] оның жылдамдығын үлкейтсiн, тiлге [[компилятор]]лар бiрнеше талғаулы , жақын PHPларына жасалған. Серiктестiк [[2010 жыл]] ақпанда осылай [[Facebook]] ашты<ref>[http://developers.facebook.com/news.php?blog=1&story=358 HipHop for PHP: Move Fast]</ref><ref>[http://www.opennet.ru/opennews/art.shtml?num=25268 Facebook серiктестiк транслятордың жоғары өнiмдi PHPлерiн кодты ашты]</ref> PHP өз компиляторы— [[HipHop (информатика)|HipHop]] (HPHP, Hyper-PHP) [[C++]] жинайтын код, [[gcc]] көмегiмен машина кодына келесi компиляциямен.

Кестесiнде талғаулы iске асырулардың қазiргi бүгiнгi моменттерiне тiзiмi елестеткен.

{| class="standard"
|+
! |Атауы
! |Лицензия
! |Компиляцияны нәтиже
|-
| [[HipHop (информатика)|HipHop]]
| [[PHP License]]
| [[C++]], [[машина коды]]
|-
| [[Roadsend PHP]]
| [[GPL]]/[[LGPL]]
| [[Си (программалау тiлi)|C]], [[машина коды]]
|-
| [[Phalanger]]
| Ms SS-PL<ref>[http://www.codeplex.com/license?ProjectName=Phalanger лицензии тексты ]{{ref-en}}</ref> ([[Shared source]])
| [[MSIL|Microsoft IL]]
|-
| [http://www.caucho.com/ Quercus] ([[веб-сервер]] құрамда Resin)
| [[GPL]] немесе коммерциялығы <!-- ref>PHP OpenSourceларға болжамдарды түсiндiрiп бередi. Компиляция тек қана коммерциялық professionдерге қосылған - болжамды</ref тексерiлмеген-->
| [[JVM]]
|-
| [http://www.phpcompiler.org/ PHC]
| [[BSDL]]
| [[Си (программалау тiлi)|C]], [[машина коды]]
|-
| [http://pipp.org/ Pipp]<ref>Жоба эксперименталдi кезеңде болады</ref>
| [[Artistic License]] и [[GNU GPL]]
| [[Parrot]]
|}

Кейбiр компиляторлардың салыстырмалы талдауы қол жететiн сайтта [[:en:PHPClasses repository|phpclasses.org]]: [http://www.phpclasses.org/blog/post/117-PHP-compiler-performance.html PHP compiler performance].
<!--- === Phalanger===
{{main|Phalanger}}

[[Phalanger]] — PHP/CLIнiң кодқа код PHP [[MSIL|Microsoft IL]] құрастыруға мүмкiндiк беретiн компилятор және кеңейтулерi. Консолды өндеуге болуы мүмкiн, [[WinForms]], қосымша [[Silverlight]]. -->





13:42, 2012 ж. маусымның 25 кезіндегі нұсқа

PHP
бағдарламалау парадигмасы imperative, object-oriented
Пайда болды 1995
Дамытушы/дизайнері Rasmus Lerdorf
Бағдарламалық жасақтама дамытушысы The PHP Group
Бағдарламалық жасақтама рилизі5.2.6/ Үлгі:Release date
Соңғы тұрақсыз рилизі 5.3.0-dev and 6.0-dev
Теру жүйесі Dynamic, weak
Имплементациялары Roadsend PHP, Phalanger, Quercus, Project Zero
Бұған ықпал етті C, Perl, Java, C++, C#, Python
Ықпалы Php4delphi
Операциялық жүйесі Cross-platform
Бағдарламалық жасақтама лицензиясы PHP License
Веб-сайты http://php.net/

PHP (ағылш. PHP: Hypertext Preprocessor — «PHP: еренмәтінді алдын-ала үдірістегіш») — Веб-серверде HTML беттерін құру және дерекқормен жұмыс істеуге арналған скрипті бағдарламалау тілі. Қазіргі күндерде хостинг қызметін ұсынатындардың көпшілігімен қолданады. LAMP веб-торап жасауға арналған стандартты жинақталымына енеді. Тілдің оңайлығы, орындалу жылдамдығы, функциялық байлығы және PHP негізіндеге әуелгі кодтардың кеңге таралуының арқасында PHP тілі Торда программалау саласында ең белгілі тілдердің бірі боп есептелінеді (JSP мен ASP-де қолданылатын тілдермен қатар). Бұл тілдің айрықшылығы ядро мен соған қосылатын модульдарында. Соңғылары дерекқор, сокет, динамикалық графика, криптографиялық кітапханалар, PDF форматты құжаттармен және т.б. жұмыс істеуге арналған. Бұндай модульды қалаған адам дамытып қоса алады. Модульдардың саны бір неше жүз болғанымен, стандарттық жабдықтауға тек жақсы нәтиже көрсеткен бір неше оны ғана кіреді. PHP интерпретаторы веб-серверге не арнайы сол сервер үшін жасалған модуль арқылы (мысалы, Apache әлде IIS), не CGI-қосымшасы ретінде қосылады.

Бұған қоса, UNIX, Linux, Windows және Max OS X амалдық жүйелерінде әкімшілік тапсырыстарын атқаруға пайдаланылуы мүмкін. Бірақ PHP тілі бұл салада кең өріс алмаған, бұған қарағанда Perl, Python және VBScript тілдері айтарлықтай нәтиже көрсетіп отыр.

Тілдің синтаксисі Си тәріздес. Ассоциаттивтік массивтар мен foreach циклі секілді кейбір элементтері Perl тілінен алынған.

Қазіргі заманда PHP жүздеген мың дамытушылармен пайдалануда. Интернет желісі сайттарының 5-тен бірі осы тілде жазылған.

PHP дамытушылар тобы тідің ядросы, қосымшаларымен жұмыс істейтін, соған қатар PEAR не тілдің құжаттамасы сияқты байланысты жобалармен айналысатын көптеген адамдардан тұрады.


Қолдану облысы

PHP веб программалау төңiрегiнде - арқасында өз оңайлығы, орындауды жылдамдық, бай функционалдық (JSP қатар, Perl және ASP.NET қолданылатын тiлдермен) бiр Скрипт тiлi әйгiлi, кроссплатформенности және PHPның лицензиясы негiзде бастапқы кодтардың таратуына.

веб-сайт құрастырудың төңiрегiдегiн мәлiмдiлiк қосымшалардың веб-нiң өңдеуi үшiн кiрiстiрiлген құралдардың үлкен жиынының бар болуымен анықталады.[1]. Негiзгi негiзгi олардың iшiнен:

PHP дәл қазiр жүз-жүздеп мың өңдеушiлерге қолданылады. PHPның 2011 жылының сәуiрiндегi TIOBEнiң жүйелердiң iздестiру дерек негiзделетiн корпорацияларын рейтингке сәйкес программалаудың тiлдердi ара-арасындаларын 5 орында болды.[2] PHP қолданушы ең iрi сайттарға Facebook , Вконтакте, Wikipedia жатады, тағы басқалар.

LAMP қа кiредi - жасау үшiн программалық қамтамасыз етудi таралған жиын хостинг және (Linux, Apache, MySQL, PHP) веб-сайттар.

GUI ді жасау - қосымшалары

PHP және шамалы осы сапада жайғандығымен, ол GUI жасау үшiн - қосымшалар қолдануға болады.

Қосымшалардың кроссплатформенныхы жасаулар үшiн виджеттің тиiстi әйгiлi кiтапханалары үшiн PHP-GTK пакеттер PHP-Qt және өзiмен ұсынатын орауыштар қызмет көрсетедi.

Формалардың редакторының скриншотыWinBinder

Windows API қолданумен программалау қызықтырады екi екiнiң бiрi бар болатыны сол үшiн. Бiрiншiден бұл open source пакеттерi WinBinder [3].Оның ядросы C (программалау тiлi ) C жазылған болады. кеңейту php — php_winbinder.dll.WinBinderдiң құрамына (скриншотты қара) формалардың қолданумен WinBinderлердiң өзiне жазылған көз мөлшерiмен редакторы сонымен бiрге қосылған. Бiрақ, мән, WinBinderлер бойынша болып табылады WinAPI орауыш тұрып қалы және олардан қолданумен программалау - төмен деңгейлi жеткiлiктi.

Екiншi екiнiң бiрi RAD (программалау ) болып табылады Devel Studio[4], ең алдымен, бағдарлалғаны жаңа бастап жүрген бағдарламашыларға.[5]

Сонымен бiрге үшiн PHPның iске асыруы бар болады .NET/Mono мынадай атаумен Phalanger. Phalangerға кодының PHPсы компиляциялар нәтижемен кез келген бола алады.NET - қосымша, болса серверлiк немесе десктопное.

Дереккөздер

  1. PHP: Айырмашылық ерекшелiктер — Manual  (орыс.) (21 июня 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 13 қараша 2009.
  2. Дереккөз қатесі: Жарамсыз <ref> тегі; no text was provided for refs named tiobe
  3. WinBinder home page
  4. Сайт Devel Studio
  5. Visual PHP для Windows, шолу DevelStudio хабрахабре

Тарихы

Толық мақаласы: тарих PHP

Расмус Лердорф бағдарламашы 1994жылs даниялық құжаттардың HTMLның үлгi өңделетiн оның онлайнының келушiлердiң қорытынды және есепке алуы үшiн скрипт Perl/CGIсiне жиынды жасады.Лердорф Personal Home Pageнiң (Дербес үй бетi) жиынын атады.Функционалдықтар және Perlдың тездiгi жақында - интерпретатор скрипт - талауға басылды, және Лердорфты C (программалау тiлi ) си тiлдi қолданып жасады, үлгiлердiң жаңа интерпретаторы PHP/FI (ағылш. Personal Home Page / Forms Interpreter — «Дербес үй бетi/ Интерпретатор формалар»).

Қасында 1997 жылы PHP/FI 2.0-шi Си жазылған өңдеушiнiң екiншi болжамы бета-тестеу ұзақтан кейiн шықты. Ол Домен аты барлық әлемдердi 1% шақты (50 мың шақты) қолданды.[1]

PHP 3.0-шi болжам программалау тiлiнiң қазiргi әлпет және стиль анықтаған түбегейлi өңдеуге ұшырады.1997 жылы Израиль екi бағдарламашы скихта,Энди ГутмансЗеев Сураски және интерпретатордың кодтарын толық қайта жазды. PHP 3.0 1998 жылы маусымда ресми босатқан.[1]

PHP 3.0-шi ең күштi тараптардың бiрi қосымша модулдардың ядроның кеңейтуi шамасы келдi.Кеңейтулердi жазуды интерфейс кейiннен деректер қоры көптiгi бар жұмыс iстеу мүмкiндiгi PHP берген өз модулдарының үстiнде қосымшаларының программалауын интерфейс үлкен санды хаттамасы қолдауға жұмыс iстейтiн бөтен өңдеушiлердiң жиыны PHPға тартты. Өңдеушiлердiң үлкен саны тiлдiң самғауына және оның мәлiмдiлiгiнiң шапшаң өсуiне келтiрдi. Php акроним осы болжамнан орынына PHP: hypertext Preprocessor сияқты басын ашып айтады «Personal Home Page» әлдеқашанғы.

1998 жылы Қысқа, PHP 3.0, Гутманс және Сураски Зеяларды энди iс жүзiнде iлесе ресми шығулар PHPның ядросының өңдеулерiн бастады. Есептерде күрделi қосымшалардың өнiмдiлiгiнiң үлкеюi және PHPның кодының негiзiнiң модулдiгiнiң жақсартуы кiрдi. Zend Engine аталған жаңа қозғағыш қойылған есептермен ойдағыдай қарап анықтады және 1999 жылы ортада тұңғыш рет елестеткен. PHP 4.0 қозғағыш бұл және қосымша функциялардың жиыны әкелген өзiңiзбен бiрге негiзделген 2000 жылы мамырда ресми шықты. Өнiмдiлiктер жақсартуға қосымша ретiнде, PHP 4.0 жаңалықтар, сессиялардың сондай қолдауларын тағы бiрнеше Ключевоелер алды, қорытынды, мәлiметтiң ендiрiлетiн қолданушысының қауiпсiз әдiстерден астам өңдеулерi және бiрнеше жаңа тiл конструкциялары буферлеу.

PHPның бесiншi болжамы 2004 жылы 13 шiлде өңдеушiлермен босатқан. Өзгерiстер интерпретатор тиiмдiлiктi айтарлықтай үлкейткен (Zend Engine 2 ) Zendтiң ядросының жаңартуы қосады. XML белгiнiң тiлiнiң қолдауы енгiзiлген. Ұқсас Java қолданылатын үлгiмен болатын объективтi-хабар программалау функцияның қайта өңделгендерi толық. Жеке алғанда деструктор енгiзiлген, (программалау ) басқалығы, ақырғы мүшелер және әдiстер, интерфейс және объекттердiң көбейтуi. Сонымен бiрге келесi болжамдарда аттардың кеңiстiгi енгiзiлдi, тұйықталу және бiр қатар өткелде PHP 5.0ге пайда болған сандай және сапалы салыстырылатын маңызды өзгерiстер жеткiлiктi. PHP алтыншы болжам өндедi[2] 2006 жылының қазаны. Iстелдi [3][4] мысалы, POSIX жүйелi айтылуларды ядроның шығаруы және "ұзын" глобалдi массив жаңалықтардың жиыны,нұсқауларды алып тастау safe_mode, magic_quotes_gpc и register_globals кескiндi файлдан php.ini. Негiзгi жаңалықтардың бiрi юникод қолдау болуы керек.[5].PHP6ның өңдеуiн наурыз 2010 жылда дегенмен келешексiз мойындалды[6] юникод қолдауы бар күрделiлiктер артынан. PHP6ның бастапқы коды тармақ ауыстырған, өңдеудi негiзгi сызықпен 5.4-шi болжам болды.

Синтаксис

Үлгі:Вики оқулық PHP синтаксис тiлдiң синтаксисiне ұқсас. Кейбiр элементтер, сондай ойдағы массив және foreach циклi, Perlдан шеттен алып пайдаланған.

Бағдарламаның жұмыстары үшiн бағдарлама Кез келген ауылы модулдар және өйткенi PHP тiкелей оператордан бастай алуға қолданылатын қандай болмасын айнымалы суреттеуге керек болмайды.

Hello world бағдарлама ең оңай PHPға төмендегiше көрiнедi:

<?php
  echo 'Hello, world!'; 
?>

PHP шектеушiлердiң iшi болатын код сондай орындайды <?php ?>. Шектеушiлер болатынның бәрi тыс, өзгерiссiз iске аспай қалады. Мысалы, бұл негiзiнде PHPның орнатуы үшiн қолданылады - HTMLға коды - осылай құжат:

<html>
 <head>
  <title>Тестеймiз PHP</title>
 </head>
 <body>
  <?php echo 'Hello, world!'; ?>
 </body>
</html>

Шектеушiлерден тысқары <?php ?>, қолдану қосымша варианттарға рұқсат етiледi, сондай <? ?> және <script language="php"> </script>.Бұдан басқа, болжамдарға дейiн 6.0 Active Server Pagesi қолдану шектеушiлер (конструкция <? ?> и <% %> php.ini кескiндi файлында өшiре алады) <% %> рұқсат етiледi.


$, айнымалы түрiнiң айнымалының аты нышаннан жариялауға бастайды керек. Айнымалының аты, функциялар және класстар регистрге сезгiш. Сонымен бiрге тұрақтылар регистрге сезгiш. Айнымалысы Тiзбектiк түр қаралудан өтедi, heredoc және - (<<< оператордың арқасында жасалған жолдар) жолдар.

PHP жаңа жолға өтудi қарайды бұл еркiн қалыппен тағы басқа тiлдерi HTML сияқты кемшiлiк, дәл осылай. Нұсқаулар "нүктелi үтiрi"(;), көмегiмен бөлiнедi, қоспағанда кейбiр жағдайлар, if/else конструкцияны тануы және циклдерден кейiн.

PHP түсiнiктердiң үш түрiн қолдайды: (шектелген /* */)) тiлдiң стильсiнде, (жаңа бастап жүрген // және жол жүретiн ақырына дейiн) C++ UNIXтiң Командалық қабығы және (жол # ақырына дейiн).

Мәлiметтердiң түрлерi

PHP Динамикалық типтелу түрдiң нұсқауы хабарлауда айнымалы, сонымен бiрге хабарлаудың өзiне айнымалы талап етпейтiн программалау тiлi болып табылады. Дегенмен, скалярлық түрлердiң арасындағы өрнектеулер PHP қосымша күштерсiз көбiнесе анық емес iске асады кең мүмкiндiктердi iлiгедi және анық түрлердiң өзгеруi үшiн.

Мәлiметтердiң скалярлық түрлерiне жатады:

Скалярлық емес түрлерге жатады:

Жалған түрлерге[7] жатады:

PHPға (integer ) бүтiн сандарының диапазоны платформасы (әдетте тәуелдi болады, 32-биттiк таңбалы бүтiн сандардың бұл диапазоны, демек, -2 147 483 648 ден 2 147 483 647 ге дейiн).Сандар ондық тапсырма беруге болады, сегiздiк алтылық және есептеу жүйелерi.(double ) нақты сандардың диапазоны, сонымен бiрге, платформадан тәуелдi болады (диапазонның 32-биттiк архитектурасы үшiн сандармен ±1.7×10−308 нан ±1.7×10+308 ға дейiн операция жасауға мүмкiндiк бередi)

PHP логикалық түр өңдеушiлерге, қабiлеттi тек қана екi мәнi TRUE («ақиқат ») және FALSE («жалған ») қабылдауға iлiгедi.0 NULL және бос массивты жолдағы 0 бос жол, нөл сан логикалық түрге өрнектеуде тең FALSE болып есептеледi. Барлық өңге мәндер TRUE автоматты өзгертедi.

NULL-шы арнайы түр үшiн айнымалы белгiлi бiр мәнсiз арналған. Осы типты жалғыз мән NULL тұрақты болып табылады. NULL-шы түр инициализацияламалған айнымалы, айнымалы белгiлi NULL тұрақтыларымен қабылдайды, сонымен бiрге unset() конструкцияның арқасында алып тастаған айнымалы.

Сыртқы қорларға сiлтемелер (resource ) қор түрлердi алады. Деректер қоры сыртқы объекттер, сондай файлдармен басқаруға мүмкiндiк беретiн динамикалық суреттер, қорытынды кестелер дескриптор болады тағы сол сияқтылар айнымалысы осы типтар.

массив (array ) санмен көрсетiлген және тiзбектiк Ключилердi қолдайды және гетерогендi болып табылады. Массивтар кез келген түрлердiң мәнi, басқа массивтарды қоса бола алады. Элементтер және олардың кiлттерiнiң ретi сақталынады. Мүлдем емес php түзу деп аталсын - массивтар массивпен, негiзiнен бұл, тезiрек жинағы, PHPның Ойдағы массивы# ретке салған. foreach орынына есептеуiшпен күтпеген жайт мiнез-құлық for циклда қолдануда болуы мүмкiн. Мысалы, үйреншiктi кiтапханадан функцияларының сандық индекстерi бар массивының iрiктеуiнiң жанында осылай, Ключи ол да да iрiктейдi.

PHPға функцияға нұсқағыш тұйықталумен немесе callback жалған түрмен елестете алады. Мысалы, 5.3-шi түсiнiктi болжамнан тұйықталу және кодта контексттен мәнi анық тартуға болатын функцияның анықтауы жай қарапайым сияқты көрiнедi:

 function($args..$argsN) use($ctxVar,$ctxVar1) { definition ; }

callback түр елестете алады:

  • жолмен (функцияның атауы ретiнде түсiндiрiп бередi);
  • нөлдiк және бiрiншi элемент қайда массивымен -жол (сыныптағы статикалық функцияның атауы ретiнде түсiндiрiп бередi) ;
  • нөлдiк элемент қайда массивымен - объект, бiрiншi -жол (әдiс ретiнде объектте түсiндiрiп бередi).

Тексерулер үшiн мәнi шақырылатын болып табылады қолдану керек болis_callable($var)

Айнымалыға және функцияларға үндеу

Айнымалыға үндеу ар жағында айнымалының аты шығатын $ нышаны арқылы iске асады. Осы конструкция динамикалық айнымалы және функциялардың жасауы үшiн сонымен бiрге қолдана алады.[8] мысалы:

$a = 'I am a';        // Айнымалы $a ларға мәннiң жазуы
echo $a;              // Айнымалы $а лармен қорытынды

$b = 'a';
echo $$b;             // (айнымалы $b лардың алдында қосымша $ лар) айнымалы $а лармен қорытынды

echo ${'a'};      // Айнымалы $а лармен қорытынды

function_name();      // Function_name функцияны шақыру
$c = 'function_name';
$c();                 // Function_name функцияны шақыру,

$d = 'Class_name';
$obj = new Class_name; // Class_nameның сыныбының объектiнiң жасауы
$obj = new $d();      // Class_nameның сыныбының объектiнiң жасауы

$obj->b;     // B объекттiң өрiске қарап сөйлеуi
$obj->c();   // Объекттiң c() әдiсiнiң шақыруы

$obj->$b;    // A объекттiң өрiске қарап сөйлеуi, өйткенi  $b = 'a'
$obj->$c();  // Әдiстiң шақыруы function_name() объект, өйткенi $c = 'function_name'

PHP да echo және print функциялармен болып табылмайды[9] (бiр жағынанprint қайтарылатын мәндi алады), синтаксистiк бiрлiктермен болып табылады. Жақша олардың қолдануында түсiруге болады.

Массивтар Суперглобальные

PHPға (ағылш. Superglobal arrays) массивтарымен Суперглобальндермен глобалдi көру кеңiстiгiн global нұсқауын қолдану болатын алдын ала анықталған массивтар деп аталады. Көбiнесе бұл (параметрлерi - POST,, кукиәдiсi жiберудiң жанында сұрау салу, формалардың өрiсi тағы сол сияқтылар) қолданушының сұрау салуының кiру мәлiметтерi болу массивы.

Барлық глобалдi массивтар $GLOBALS және $_REQUEST басқа, (алтыншы болжамда олардың ерекшелiгiн жоспарланады) PHPның түсiнiктi шейiн бесiншi болжам ұзын аттары бар әлдеқашанғы аналогтер алады.Сайып келгенде, $_GET['year'] және $HTTP_GET_VARS['year'] үндеулер көру кеңiстiгi қоспағанда ұқсас: массивтар ұзын аттармен глобалдi болып табылмайды.

$GLOBALS
Массив (соның iшiнде қолданбалы ) барлық глобалдi айнымалы.
$_SERVER (әлдеқашанғы аналог— $HTTP_SERVER_VARS)
Басқару жүйесi серверге алып берген айнымалы орталар болады.
$_ENV (уст. $HTTP_ENV_VARS)
Айнымалы орталар ағымдағы (ағылш. Environment variables). Олардың жиыны скрипт орындалатын платформа үшiн ерекше.
$_GET (уст. $HTTP_GET_VARS)
GETтың параметрлерiнде болады - сұрау салу URIге сұрақ белгiсiнен кейiн тапсырған«?».
$_POST (уст. $HTTP_POST_VARS)
HTMLның өрiс мәндерiнiң ойдағы массивы - POSTтың әдiсi жiберудiң жанында форма. Элементтердiң индекстерi HTMLның басқаруының элементтерiнiң nameның атрибутын мәндерiне сәйкес келедi - форма.
$_FILES (уст. $HTTP_POST_FILES)
POSTтың әдiсiмен жiберiлген файлдар туралы мәлiметтерiмен ойдағы массив. Әрбiр элемент индекс, формада "name" атрибутын ұқсас мәнге алады, және, өз кезегiнде, сонымен бiрге келесi элементтерi бар массив болып табылады:
  • ['name'] — қолданушының компьютерiндегi бастапқы файл аты
  • ['type']MIME қолданушының көрcетiлген уәкiлiмен - файлдың түрi. PHP ол тексермейдi, және сондықтан көрcетiлген түр шындыққа сәйкес келетiн ешқандай да кепiлдiктер жоқ.
  • ['size'] — байттардағы файлдың өлшемi.
  • ['tmp_name'] — уақытша папкада файлға толық жол. Файл move_uploaded_file. функциясымен одан ауыстыруға керек. PHPның уақытша папкасынан толтырылған файлдары өз алдына алып тастайды.
  • ['error'] — қателiктiң коды. Егер файлды сәттi жүктелсе, онда бұл элемент 0-шi тең бол болады (UPLOAD_ERR_OK).
$_COOKIE (ескерген атауы $HTTP_COOKIE_VARS)
Мәндердiң қолданушысының тапсырған уәкiлдерiмен ойдағы массивкуки.
$_REQUEST
Элементтер массив болады $_GET, $_POST, $_COOKIE. Си болжамдар PHP 4.1 қосады $_FILES.
$_SESSION (уст. $HTTP_SESSION_VARS)
Осы сессияларда болады.

Объективтi-хабар программалау

PHP толық қолдауы тiлдiң бесiншi болжамында енгiзiлетiн объективтi-хабар кең мүмкiндiктер қолдайды.

PHPға класс class сөзi Ключевоесi арқылы жариялайды. Кластың әдiс және өрiстерi протецтед (private) бүркеме қорғал қалған (public, үндемеу бойыншаға) белгiлi бола алады.PHP [басқалықты (программалау )| басқалық] |ООП-шының барлық үш негiзгi тетiктерiн қолдайды, полиморфизм мұрагер болу және (аналық класс extends кластың атынан кейiн сөзi Ключевоесi арқылы көрсетiледi). интерфейс (implements көмегiмен сәйкес тұрғызылады) сүйейдi. Финализатор ақырғы хабарлау рұқсат етiледi, абстракт методы және класстар. Класстар Көптiк мұрагер болу (программалау ) мұрагер болу сүйемейдi, дегенмен класс бiрнеше интерфейстер iске асыра алады.Аналық сыныптың әдiстерге қарап сөйлеуi үшiн маңызды сөздi қолданыладыparent.

PHPға сыныптар арнайы әдiстердiң қатарларын алады (ағылш. Magic methods), жаңа бастап жүрген екi астын сызу символысы. Ерекше атап өтуге болады конструктор (__construct(), 5.0 конструкторға дейiн болжамдардағы әдiс, аттас сыныппен қызмет көрсетедi) және деструктор (__destruct()), сонымен бiрге оқудың әдiстерi(__get()) және жазулар (__set()), жинаулар (__sleep()) және жазулар (__wake()), көбейтулер (__clone()) тағы басқалар. Бұл әдiстер болып табылады солқылдақ аспап жеткiлiктi: объекттiң мiнез-құлығының маңызды өзгерiсi қол жеткiзу мүмкiн олар қайта анықтай қол жеткiзу мүмкiн.

Класстың даналары new, өрiстерге қарап сөйлеу және объекттiң әдiстерiне сөзi Ключевоесi арқылы жасалады -> операторды қолданып өндiрiп алады. Әдiстер сыныптың мүшелерiне рұқсат үшiн олардың iшiнен айнымалы $this қолданылады.

class C1 extends C2 implements I1, I2
{
  private $a;
  protected $b;

  function __construct($a, $b)
  {
    parent::__construct($a, $b);
    $this->a = $a;
    $this->b = $b;
  }

  public function plus()
  {
    return $this->a + $this->b;
  }
/* ...............  */
}

$d = new C1(1, 2);
echo $d->plus(); // 3

Объекттер сiлтеме бойынша PHPның бесiншi болжамынан бастай берiледi:

class a 
{
  public $color = 'red';
}

$a = new a();
echo $a -> color; // red
$b = $a;
$b -> color = 'blue';
echo $a -> color; // blue

«Paamayim Nekudotayim» немесе жай ғана « екi есе шығын қос нүкте». Бағдарламашы лексема бұл қолдана тұрақтыларға қарай алады, статикалық немесе класстардың артық тиелген қасиеттер немесе әдiстерiне. Класс, бағдарламашы элементтерге үндеуде осыған сырттай бұл класс атты пайдалануы керек. «Paamayim Nekudotayim» екi есе шығын қос нүктенiң белгiсi үшiн оғаш сөз тiркесiмен сырттай қарағанда андағайлай алады. Andi және Zeev болжамның Zend Engineнiң 0.5 (қай PHP3ке кiрдi), жасаулары алайда, уақытында таңдады[10] тап солдың белгiсi. «Paamayim Nekudotayim» шындығында демек «екi есе шығын қос нүкте» ивритте. Бұл белгiлер PHPның өңдеуi уақыт бойы бiр деге бұлжымады.[11]

<?php
class MyClass {
  const CONST_VALUE = ' Тұрақтының мәнi';
}
// Қолдануы:: сыныпты тану тыс
echo MyClass::CONST_VALUE;
?>

Интерпретатордың ерекшелiктерi

PHP - скрипттер реттерде әдетте интерпретаторлардын қаралудан өтедi[12], қамтамасыз ететiн кроссплатформенность игерiлген қосымшалары:

  1. лексикалық талдау Бастапқы коды және лексемасы генерация,
  2. алған лексемалар синтаксистiк талдау,
  3. байты генерация,
  4. байт орындау - ( атқарылатын файлы жасаусыз) интерпретаторды код.

Қосымшалардың жылдамдығының үлкеюлерi үшiн қамтамасыз ету қолдану арнайы болуы мүмкiн, үдеткiшi деп аталатын. Олардың жұмысының қағидасы бiр күнi шығарылған байтта болады - диск и/илиға коды, сайып келгенде, қосымшаның жұмысының процессiнен кезеңдер жағдайда жұмыстың түбегейлi үдеуiне бағытталатын 1—3 шығарылады.

Маңызды ерекшелiк болып табылады онда өңдеушiге не ЄдЄуға қажетi жоқты және Жад жинастыру. PHP ядро жадты автоматты басқару үшiн құралды жүзеге асырады; барлық ерекшеленген жад жүйеге скрипттi жұмыс аяғынан кейiн қайтарылады.[13]

Кеңейтулер

Интерпретатор Zend Engineсi тұрады қосылатын модулы өзiменмен кiтапханасы динамикалық ұсынатын "кеңейтулерден" тұрады. Кеңейтулер тiлдiң негiздi мүмкiндiктерiн деректер қоры басқару жүйесi жұмыс үшiн мүмкiндiк бере толықтыруға мүмкiндiк бередi, сокет, графикасы динамикалық, PDF қалыптың кiтапханалармен, құжаттарымен крифтографиялық соған ұқсас. Кез келген құлықтысы кеңейтудi өз меншiктi жасауға және ол қоса алады. Жасалған бөтен серiктестiктер және энтузиасттармен, дегенмен үйреншiктi жабдықтауына тек қана өз жақсы кепiлдеме берген бiрнеше он шақтылары кiредi де, үйреншiктi де кеңейтулердi көптiк бар болады. Кеңейтулердi жиын PECL репозиторииға түсiнiктi.

Күйге келтiрудiң параметрлерi

PHP интерпретатор кескiндi файл арнайы алады — php.ini, өзгерiсi интерпретатордың мiнез-құлығына ықпал ететiн күйге келтiрулердi болатын жиын.[14] Функциялардың қолдану қатарлары бөлiп тастау мүмкiндiгi, жүктелетiн файлдардың скрипт қолданылатын жедел жадты, орындау уақыты, көлемiне шектеуiн өзгертiп, қателердiң журналированиесi, сессиялары бар жұмысты және пошталық сервистермен күйге келтiрiп, қосымша кеңейтулер қосуға болады, сонымен бiрге көп басқа. Бұл параметрлер скрипттiң орындаулары уақытында командамен өзгертiле аладыini_set.[15]

Интерпретатордың тәртiптерi

PHPның интерпретаторының бiрнеше қолдану әдiстерi бар болады:

  1. Модул ретiнде веб-сервер арқылыларда ISAPI немесе SAPI[16] (мысалы, модул Apache үшiнmod_php). Сервер веб-нi толтырылған модулмен iске қосылады және phpларға қарап сөйлеуде - ол скриптке сервердiң веб-сi процессi Операциялық орта орындалады. Арқасында келесi себептердiң PHPның қолдануының әдiсi бұл кең таралғандар:
    • ол дұрыстау үшiн өте ыңғайлы, PHPның қатесi өйткенi (осы тәртiп егер күйге келтiрулердегi қосылған) пердеде iске аспай қалады, қате CGI тәртiпте сонда генерацияға алып келедi HTTP-коды 500 және қосымша мәлiметтi сервердiң веб-сiне iздеуге керек;
    • PHPның кейбiр күйге келтiрулерi өзгерту мүмкiндiгi кiдiрiссiз файл арқылы болады .htaccess, веб-сервердiң қайта тиеулерсiз;
    • тәртiпте HTTP пайдалану мүмкiндiгi CGI жоқ - аутентификациямен.[17][18]
    • жұмыстың биiгiрек жылдамдығымен ие болады.
  2. CGI ретiнде. Осы жағдайда, веб-сервер скрипттi шақыруда шақырады/usr/bin/php-cgi /path/to/script.php. Сонымен бiрге жаңа процесс және скрипт жасалады ортада орындаладыphp-cgi, қай, күйге келтiрулерге байланысты, сервердiң веб-сiнiң процесстiң ортасынан күштi айырмашылығы бола алады. Қазiргi варианттан астам FastCGI болып табылады. PHP препроцессор қарамастан бәрiбiр әрбiр сұрау салуда қайта жiбередi[19][20], осы вариантты артықшылық қауiпсiздiктiң биiгiрек дәрежесi алдыңғының алдында болып табылады, сондықтан PHPның қалайы өз құқықтары бар жеке қосымша сияқты жұмыс iстейдi.
  3. командалық жолының интерфейсi қолданушымен шақырылатын командалық жолдың интерфейсi ретiнде атқарылатын файл болатын; скрипт шақырған қолданушының ортасында орындалады. Осы жағдайда жасаулар үшiн қолдану PHPлар GUI клиент болуы мүмкiн - қосымшалар[21] және басқару жүйесi әкiмшiлiк есептердiң шешiмдерi UNIX, Linux, Microsoft Windows, Mac OS X и AmigaOS. Ол такомалардың сапасында алайда, таратуды бiрiншiлiктiң пальмасын бере алмады Perl, Python и VBScript

Пасхалық жұмыртқалар

PHP пасхалық жұмыртқасы (әзiлдер ) бiрнеше алады. Арнайы GETтардың берiлуi - кез келген phpлерге параметрлерi - скриптке әр түрлi суреттердiң қорытындысына алып келедi.

Мысалы:

кез келген_сценари.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

браузердiң адрестi жолына бұл мән интерпретатордың болжамына байланысты әр түрлi суреттер көруге боладуға енгiзе:

  1. фотосурет Thies Arntzen (болжамдар 4.1.2, 4.2.2)
  2. фотосурет таксы (билеушісі Stig Bakken) (болжамдар 4.3.2, 4.3.3, 4.3.8 — 4.3.10)
  3. фотосурет қара терьер (билеушісі Zeev Suraski) (болжамдар 4.3.11, 4.4.0 — 4.4.4, 5.1.0, 5.1.2)
  4. фотосурет үй қояны (болжамдар 4.3.1, 5.0.0, 5.0.3)
  5. PHP бұрмалалған логотип (болжамдар 5.1.3 — 5.2.13)[22]
  6. PHPның жазуы бар ойыншық көк пiлдiң фотосуретi (бастау болжамдар 5.3.0)[22]

Келесi екi мәндер PHP және ZENDтiң үйреншiктi логотиптарын көруге мүмкiндiк бередi, сәйкесiнше:[22]

кез келген_сценари.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
кез келген_сценари.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42

Бұл мәндер PHPға тiкелей - скрипт функциялар арқылы да алуға боладыphp_logo_guid и zend_logo_guid Zendтың логотибы үшiн.

Сонымен бiрге PHP (4,5) барлық авторларын тiзiмнiң бейнесi үшiн арнайы мәнде болады:[22]

кез келген_сценари.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Талғаулы iске асырулар

PHPның тiлi және ниеттерi мәлiмдiлiкке байланысты негiзделген қосымша веб- оның жылдамдығын үлкейтсiн, тiлге компиляторлар бiрнеше талғаулы , жақын PHPларына жасалған. Серiктестiк 2010 жыл ақпанда осылай Facebook ашты[23][24] PHP өз компиляторы— HipHop (HPHP, Hyper-PHP) C++ жинайтын код, gcc көмегiмен машина кодына келесi компиляциямен.

Кестесiнде талғаулы iске асырулардың қазiргi бүгiнгi моменттерiне тiзiмi елестеткен.

Атауы Лицензия Компиляцияны нәтиже
HipHop PHP License C++, машина коды
Roadsend PHP GPL/LGPL C, машина коды
Phalanger Ms SS-PL[25] (Shared source) Microsoft IL
Quercus (веб-сервер құрамда Resin) GPL немесе коммерциялығы JVM
PHC BSDL C, машина коды
Pipp[26] Artistic License и GNU GPL Parrot

Кейбiр компиляторлардың салыстырмалы талдауы қол жететiн сайтта phpclasses.org: PHP compiler performance.

Үлгі:Link GA

  1. a b Дереккөз қатесі: Жарамсыз <ref> тегі; no text was provided for refs named off_history
  2. Юникодтың қолдауы бар қайтадан жазылған функцияларының саны
  3. Файл news.txt из дистрибутив PHP 6
  4. Бойынша iстелiнген және iстелiнбеген жұмыстардың ағымдағы тiзiмi PHP 6
  5. 2005 жылдың желтоқсанында жоспарлаған өзгерiстердiң толық тiзiмi
  6. Қалай өлдi PHP6
  7. PHP: Pseudo-types and variables used in this documentation - Manual
  8. PHP: Variable variables — Manual
  9. PHP: echo — Manual
  10. Сияқты, бұл бинарлық форма C++ тiлден алып пайдаланды көру кеңiстiгiнiң жөн-жобасы , конструкция олардан, квалификациялы атпен тұрақтылар осы жағдайда.
  11. http://php.net/manual/en
  12. Дереккөз қатесі: Жарамсыз <ref> тегі; no text was provided for refs named php_comp_int
  13. PHP: Basic memory management — Manual  (орыс.) (13 ноября 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 17 қараша 2009.
  14. PHP: php.ini directives — Manual  (ағыл.) (6 ноября 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 13 қараша 2009.
  15. PHP: List of php.ini directives — Manual  (ағыл.) (6 ноября 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 13 қараша 2009.
  16. PHP: Installed as an Apache module — Manual
  17. 1С-Битрикс — mod_php vs CGI vs FastCGI
  18. PHP: HTTP-Аутентификация в PHP — Manual (21 июня 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 13 қараша 2009.
  19. PHP | FastCGI
  20. PHPның жүктеуiн оптимизациялаймыз - код 22 есе, немесе FastCGI PHPны жылдамдатпайтын
  21. PHP: Командалық жолдағы қолдануы PHPлары — Manual  (орыс.) (21 июня 2009). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 13 қараша 2009.
  22. a b c d PHP Easter Egg  (ағыл.). Басты дереккөзінен мұрағатталған 21 тамыз 2011. Тексерілді, 16 қараша 2009.
  23. HipHop for PHP: Move Fast
  24. Facebook серiктестiк транслятордың жоғары өнiмдi PHPлерiн кодты ашты
  25. лицензии тексты  (ағыл.)
  26. Жоба эксперименталдi кезеңде болады