PHP мүмкіндіктері
Бір сөзбен айтқанда, CGI- бағдарламалары істей алатын мүмкішіліктердің барлығын PHP-де істеуге болады. Сонымен қатар, мәліметтер базасын пайдаланып web-қосымша жасау үшін PHP көптеген мәліметтер базасын қолдайды.
Web-қосымша программаларын құрушыларға web-беттер – ол мәтін мен суреттерге ғана емес екенін айтудың қажеті жоқ. Жақсы сайт пайдаланушымен қандайда бір деңгейдегі интерактивтілікті қолдау керек: ақпаратты іздеу өнімді сату, конференциялар және т.б. негізінен бұл мүмкіншіліктердің барлығы Perl- да жазылған CGI-скрипттермен орындалған. Бірақ CGI- скрипттердің масштабталу мүмкіндігі өте төмен. Әрбір CGI шақыру ядродан жаңа процесстің тууын талап етеді, ал ол процессор уақытын жоғарылатады және оперативті жадыны жұмсайды. PHP басқа нұсқаны ұсынады – ол Web-cервер бөлігі ретінде жұмыс істейді, осындац мүмкіндігімен ол Microsoft-тің ASP-не ұқсас.
PHP синтаксисі Си немесе Perl синтаксисіне өте ұқсас. Бағдарламалаумен таныс адамдар программаларды PHP тілінде жазуға өте тез үйренуге мүмкіндіктері бар. Бұл тілде деректерді типтеудің арнайы бағыты жоқ және жады бөлу мен босатудың керегі жоқ.
PHP тілінде жазылған программалар жеңі оқылады.Жазылған PHP- кодты Perl- программаларына қарағандаоқу және түсіну оңай.
Біріншіден, PHP интерпритацияланатын болғандықтан жылдамдығы бойынша компиляцияланатын Си тілімен сәйкес бола алмайды. Дегенмен, кіші программаларды жазған кезде,жадыға жүктеу кезінде және Си тілінде жазылған CGI-программаларды шақырғанда үстеме шығындар іске қосылады.
Екіншіден, дайын модульдер қоры үлкен емес, мысалы, Perl-дегі CRAN сияқты емес. Бұл жағдайды шешу үшін тек уақыт керек. PHP 4-те қараушылар арнайы PERL репозитариін қарастырған, ол CRAN-ға ұқсас.
PHP қысқаша тарихы - РНР/FI. 1994 жылы дат программисті (қазір Канадада тұратын) расмус Лердорф (Rasmus Lerdorf) Perl/CGI-да оның онлайн-резюмесінің қараушылар санын санау және шығару үшін, HTML-құжаттардың шаблондарын өңдейтін скрипттер жиынын жазды. Лердорф ол жиынды Personal Home Page (Жеке Үй беті) деп атады. Кейіннен скрипттер интерпритаторы Perl-дың функционалығы және жылдамдығы жеткіліксіз болғандықтан Лердорф Си тіліндегі жаңа РНР/FI шаблондар интерпритаторын құрды. РНР/FI - ағыл. Personal home Page/Forms Interpreter – «Жеке Үй беті/Форма интерпритаторы». Perl стильіндегі айнымалылар түрі ($айнымалы_аты мәнді шығару үшін), формалардың автоматты өңделуі және HTML-мәтінге іштей орындалуы және т.б. Жаңа туған тіл қарапайым және шектелген синтаксисімен ерекшеленеді.
1997 жылы ұзақ бета-тестілеуден кейін өңдеуіштің Си тілінде жазылған екінші нұсқасы шықты – РНР/FI 2.0. Оны әлемнің барлық интернет-домендердің 1% (жуық мөлшермен 50 мың) қолданды.
РНР3. Бүгінгі күні біз білетін РНР-ге ұқсас ең алғашқы нұсқасы РНР3.0 болатын. 1997 жылы екі израильдік программистер Энди Гутмас (Andi Gutmans) және Зив Сураски (Zeev Suraski) кодты басынан бастап жазды: құраушылар РНР/FI 2.0-ді электронды коммерция бағдарламаларын құруға жарамсыз деп шешті. РНР 3.0 нұсқасымен бірігіп жұмыс істеу үшін РНР/FI 2.0 құраушыларын біріктіріп, РНР 3.0-ті РНР/FI-дің ресми мұрагері деп жариялауды шешті, ал РНР/FI-ді құру толығымен тоқтатылды.
РНР3.0-тің күшті жақтарының бірі ядроны кеңейту мүмкіндігі болды. Кейіннен кеңейтулерді жазу интерфейсі РНР-ға өз модульдерін жазатын көптеген құраушыларды әкелді. Бұл жағдай РНР-ге үлкен көлемдегі деректер қорымен, протоколдарымен, API-дің көпшілігін қолдауға мүмкіндік берді. Негізінен, бұл жағдай сәттіліктің алғашқы кілті болды. Бірақ тағы бір шартты айта кеткен жөн, ол – жаңа, қуаты жоғарырақ және объектті-бағытталған программалауды қолдайтын толық синтаксисі.
Толығымен жаңа бағдарламалау тілі жаңа атау алды. Құраушылар РНР/FI абревиатурасындағы жеке қолданым жайлы қосымшаны қолдауданг бас тартты. Тіл жай ғана РНР (ағыл. РНР: Hypertext Preprocessor- «РНР: Гипермәтін процессоры») деп аталады.
1998 жылдың соңында ондаған мың пайдаланушылармен қолданыс тапты. Жүздеген мың веб-сайттар өздерінің РНР-ді қолданаиынын айтты. Сол кезде РНР 3.0 интернеттің 10% веб-серверлеріне орнатылған болатын.
РНР 3.0 ресми түрде 1998 жылдың маусым айында, 9 ай бұқаралық тестілеуден кейін жарық көрді.
РНР 4. 1998 жылы РНР 3.0 ресми түрде шыққаннан кейін, Энди Гутманс және Зив Сураски РНР ядросын қайта құрастыра бастады. Оны қарастыру себебі қиын қосымша программалардың өнімділігін артыру және РНР кодының базисінің модульдігін жақсарту болды, РНР 3.0-тің кеңейтілуі деректер қорының жиынымен сәтті жұмыс істеуге және көп көлемде әртүрлі API мен протоколдарды қолдауға мүмкіндік берді, бірақ РНР 3.0-тің модульдерді қолдау сапасы төмен болды және тиімсіз жұмыс істеді.
Zend Engine (құрушылардың атынан, Зива және Энди, сонымен қатар Zend Technologies-ті құрушылар) деп аталған жаңа қозғауыш қойылған есептерді жақсы шешіп отырды және 1999 жылдың ортасында жарық көрді. Осы қозғауышқа негізделген және өзімен бірге қосымша функциялар жиынын алып келген РНР4.0 ресми түрде 2000 жылдың мамыр айында шықты (РНР 3.0 шыққаннан екі жыл өткеннен соң).
РНР 5. РНР-дің бесінші нұсқасы құраушылармен 2004 жылы 13 тамызда шығарылды. Өзгертулерге интерпритатордың тиімділігін арттырытын Zend (Zend Engine 2) ядросының жаңаруы жатады. ЧЬД өлшеуіш тілінің қолдауы ендірілген. Java-да қолданылатын модельдерге ұқсас обьектті-бағытталған программалау функциялары толық өзгертілген. Айта кетсек, ашық, жабық және қорғалған мүшелер мен әдістер, интерфейстер мен обьекттерді клондау ендірілген. Дегенмен, жаңартулар алдыңғы нұсқалармен кодты сәйкестікті сақтау үшін жасалған. Қазіргі кезде РНР6 нұсқаларының dev-нұсқасының болуына қарамастан, ең тұрақтыжәне кең қолданылатын 5.х.х нұсқалары болып табылады.
РНР 6. РНР-дің алтыншы нұсқасы 2006 жылдың қазан айынан бастап құрылуда. Онда көптеген жаңартулар ендірілген, мысалы, ядродан тұрақты POSIX өрнектері және «ұзын» суперглобальды массивтер алынып тасталған, php.ini конфигурациялық файлынан safe_mode6 php_magic_quotes және register_globals директивалары жойылған. Сонымен қатар Юникодты қолдауға көп көңіл бөлінуде
РНР синтаксисі - Си тілінің синтаксисіне ұқсас. Ассоциативті массивтер және foreach циклы сияқты кейбір элементтер Perl-ден алынған. «Hello, world!» қарапайым программасы РНР-де келесідей болады:
echo 'Hello world!';
?>
РНР шектеуіштер ішінде орналасқан кодты орындайды. Шектеуіштер тыс ақпараттың барлығы өзгеріссіз шығарылады. Негізінен, ол HTML-құжатты РНР-кодты орнату үшін қолданылады, мысалы:
PHP-ді тестілеу
Достарыңызбен бөлісу: |