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

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




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

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

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

Класстың даналары <tt>new</tt>, өрiстерге қарап сөйлеу және объекттiң әдiстерiне сөзi Ключевоесi арқылы жасалады '''<tt>-></tt>''' операторды қолданып өндiрiп алады.
Әдiстер сыныптың мүшелерiне рұқсат үшiн олардың iшiнен айнымалы <tt>$this</tt> қолданылады.
<source lang='php'>
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
</source>
Объекттер сiлтеме бойынша PHPның бесiншi болжамынан бастай берiледi:
<source lang='php'>
class a
{
public $color = 'red';
}

$a = new a();
echo $a -> color; // red
$b = $a;
$b -> color = 'blue';
echo $a -> color; // blue
</source>
{{anchor|Nekudotayim}}
'''«Paamayim Nekudotayim»''' немесе жай ғана « екi есе шығын қос нүкте». Бағдарламашы [[лексеманы (информатика ) | лексема]] бұл қолдана тұрақтыларға қарай алады, статикалық немесе класстардың артық тиелген қасиеттер немесе әдiстерiне.
Класс, бағдарламашы элементтерге үндеуде осыған сырттай бұл класс атты пайдалануы керек.
«Paamayim Nekudotayim» екi есе шығын қос нүктенiң белгiсi үшiн оғаш сөз тiркесiмен сырттай қарағанда андағайлай алады. Andi және Zeev болжамның Zend Engineнiң 0.5 (қай PHP3ке кiрдi), жасаулары алайда, уақытында таңдады<ref> Сияқты, бұл бинарлық форма [[C++]] тiлден алып пайдаланды көру кеңiстiгiнiң жөн-жобасы '', конструкция олардан, ''квалификациялы атпен '' тұрақтылар осы жағдайда.</ref> тап солдың белгiсi. «Paamayim Nekudotayim» шындығында демек «екi есе шығын қос нүкте» ивритте. Бұл белгiлер PHPның өңдеуi уақыт бойы бiр деге бұлжымады.<ref>[http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php http://php.net/manual/en]</ref>
<source lang='php'>
<?php
class MyClass {
const CONST_VALUE = ' Тұрақтының мәнi';
}
// Қолдануы:: сыныпты тану тыс
echo MyClass::CONST_VALUE;
?>
</source>



[[Санат:Бағдарламалық жасақтама]]
[[Санат:Бағдарламалық жасақтама]]

23:01, 2012 ж. маусымның 24 кезіндегі нұсқа

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;
?>

Үлгі: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