2.3 PHP тілі
PHP (ағыл. PHP: Hyper Prepocessor – «PHP: гипермәтін процессоры») – HTML – беттерді веб-серверде генерациялау үшін және деректер қорымен жұмыс істеу үшін құрылған бағдарламалау тілі. РНР жұмыс істеу схемасы төмендегідей:
2.2-сурет - РНР тілінің жұмыс істеу сұлбасы
Сервер файлды браузерге бермес бұрын оны препросцессор-интерпретатор қарайды. Бұл айтылған іске асу үшін белгілі бір кеңейтілуі болу керек: .phtml немесе .php3 бірақ бұл мәндерді өзгертуге болады. Прақтарды браузерге жібермес бұрын, серверде РНР-код жұмыс жасайды және браузерге нәтиже сервердегі мәліметтерге мүлде ұқсамайтын HTML-парақтар түрінде беріледі.
PHP мүмкіндіктері
РНР қолдану саласы сервер жағында жұмыс істейтін скрипттер жазуға бағытталған, сонымен, РНР кез келген басқа CGI программасы орындай алатын нәрсені орындайды, мысалы, берілген формаларды өңдеу, динамикалық беттерді жасау немесе cookies қабылдау және жіберу. РНР басқа да көптеген тапсырмалар орындай алады.
РНР қолданылатын 3 негізгі сала бар:
Сервер жағында орындауға арналған скриптер жасау. РНР ең көп осылай қолданылады.Сізге керегі тек парсер РНР (CGI программасы немесе серверлік модуль ретінде), Webсервер және броузер. Броузерде PHP-скриптерінің орындалғанын көру үшін сізге жұмыс істейтін Webсервер және орнатылған PHP ғана керек.
Командалық жолда скритер жасау. Сіз Webсервер мен броузерге тәуелсіз РНР-скрипт жасай аласыз. Баркерегі – парсер РНР. Мұндай тәсіл әрдайым орындалуы тиіс скриптер үшін өте ыңғайлы, мысалы, Windows платформаларында cron көмегімен немесе тапсырмалар жоспарлаушының (Task Scheduler) көмегімен. Бұд скриптер қарапайым мәтін өңдеуде де қолданылуы мүмкін.
Клиент жағында орындалатын GUI қосымшасын жасау. Мүмкін РНР мұндай қосымшалар жасауға арналған ең дұрыс тіл емес шығар, бірақ егер сіз РНР-ді өте жақсы білсеңіз әрі оның кейбір мүмкіндіктерін өзіңіздің клиент-қосымшаларыңызда қолданғыңыз келсе, сіз PHP-GTK-ті пайдалана аласыз. Осылайша сіз кроссплатформалық қосымшалар да асай аласыз. PHP-GTK РНР-ның кеңейтілімі болып табылады және РНР дистрибутивімен бірге жеткізіледі.
РНР көптеген операциялық жүйелерге қол жетімді, оның ішінде Linux, Unix-тің модификациялары бар (HP-UX, Solaris және OpenBSD сияқты), Microsoft Windows, Mac OS X, RISC OS және басқа көптеген [6].
РНР-ве көптеген қазіргі заманғы серверлерді қолдау қарастырылған, мысалы, Аpache, Microsoft Internet Information Server, Personal Web Server, серверов Netscape және iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd және басқа. Көптеген серверлер үшін РНР модуль ретінде жеткізіледі, CGI стандартын қолдайтын басқалары үшін CGI процессоры ретінде функция атқаруы мүмкін. Сонымен, РНР таңдай отырып сіз операциялық жүйені мен Webсервер таңдау еркіндігіне иесіз. РНР HTML-ді көрсетіп қана қоймайды. РНР мүмкіндіктеріне суреттерді, PDF файлдарды және тіпті Flash роликтерін (libswf мен Ming қолданып) жасау кіреді. РНР сонымен қатар кез келген мәтіндің мәліметтерді бере алады, мысалы, XHTML және басқа XML файлдар. РНР мұндай файлдардың жасалуын және сіздің серверіңіздің файлдық жүйесінде сақталуын автоматты түрде жүргізеді, солай сервер жағында орналасқан динамикалық кэш ұйымдастырады.
РНР-де абстракті деңгейде DBX қолдау бар, сондықтан сіз DBX қолданатын кез келген мәліметтер базасымен жұмыс жасай аласыз. Сонымен қатар, РНР ODBC (Open Database Connection standard) қолдайды, солай сіз осы бүкіләлемдік стандартпен жұмыс істейтін базалармен жұмыс істей аласыз.
РНР басқа да сервистармен ара-қатынасты мынандай протоколдар арқылы жүргізеді: LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (Windows платформасында) және басқа. Сонымен қатар сіз желілік «сокеттармен» тікелей жұмыс істеуге мүмкіндік аласыз. РНР күрделі мәліметтер струтураларымен алмасу стандарты WDDX қолдайды. Әртүрлі тілдердің өзара әсерін назар аудара отырып, Java объектілерін қолауын және олардың болашақта РНР объектілері ретінде қолдану мүмкіндігі айтамыз. Алыстағы объектілерге қол жеткізу үшін CORBA кеңейтілімін қолдана аласыз.
РНР-де мәтіндік мәліметті өңдеу құралдары бар, қарапайым Perl немесе POSIX Extended бастап, XML документтері парсеріне шейін. XML парсингі үшін SAX және DOM стандартары қоданылады. XML құжаттарын өзгерту үшін XSLT кеңейтілімін қолдана аласыз. РНР-ді электронды коммерция саласында қолдана отырып, сіз Cybercash, CyberMUT, VeriSign Payflow Pro және CCVS төлем жасау функцияларына көңіл аударасыз. Басқа да көптеген кеңейтілімдерді қолдау, мысалы, іздеу машинасы функциясы mnoGoSearch, Gateway, IRC функциясы, сығылған файлдармен (gzip, bz2) жұмыс, календарлық есептеу функциясы, аудару фунциясы.
РНР тілінің Perl немесе С тілінде жазылған CGI-скрипттерінен айырмашылығы CGI- бағдарламаларында HTML- кодтарды өзіміз жазамыз, ал, PHPді пайдалана өз бағдарламамызды дайын HTML-парақ скриптіне кірістіреміз.
PHP тілі JavaScript/Jscript тілдеріне қарағанда сервер скриптерінің тілі деп аталады. Бұл дегеніміз, PHP-скриптері серверде орындалады, ал клиентке оның нәтижесі жіберіледі.
Желіге арналған бағдарламалау обылысында PHP - әйгілі скрипттік тілдердің бірі (JSP, Perl ASP.NET) ол өзінің қарапйымдыолығына, орындалу жылдамдылығына жоғарғы функционалдылығына және PHP лицензиясының негізінде таратылатын бастапқы кодтарына байланысты PHP ядроның болуымен, қосылатын модульдердің болуымен, «кеңейтілулердің» болуымен ерекшеленеді, олар деректер қорымен, сокеттермен, динамикалық графиктермен, криптографиялық кітапханалармен, PDF түріндегі құжаттар жіне т.с.с жұмыс істеуге арналған. Кез-келген адам өзңінің жеке кеңейтуін құрып, қоса алады. Жүздеген кеңейтулер бар, біпақ стандартты жиынға тек оншақты кең таралған кеңейтулер кіреді. PHP интерпретаторы веб-серверге не сол серверге арнайы құрылған модуль арқылы (мысалы, Apache немесе IIS), не CGI – қосымша программа ретінде қосылады. Оған басқа UNIX, GNU/Linux, Microsoft Windiows, MacrOS X және AmigaOS операциялық жүйелерінде әкімшілік есептерді шешу үшін қолданыла аладыү Бірақ бұл қасиетімен ол бірінші орынға Perl, Python және VBScript-ті жіберіп, көп тарала қойған жоқ.
Қазіргі кезде РНР-ді жүздеген құраушылар қолданады. 20 миллион сайт РНР-мен жұмыс істейтінін айтамыз, ал бұл сан Интернет домендерінің бестен бір бөлігінен асады.
Достарыңызбен бөлісу: |