2.5.4 PHP тілі мүмкіндіктері
PHP (ағыл. PHP: Hyper Prepocessor – «PHP: гипермәтін процессоры») – HTML – беттерді веб-серверде генерациялау үшін және деректер қорымен жұмыс істеу үшін құрылған программалау тілі. РНР жұмыс істеу схемасы төмендегідей:
2.6- cурет. РНР тілінің жұмыс істеу схемасы
Сервер файлды браузерге бермес бұрын оны препросцессор-интерпретатор қарайды. Бұл айтылған іске асу үшін белгілі бір кеңейтілуі болу керек: .phtml немесе .php3 бірақ бұл мәндерді өзгертуге болады. Прақтарды браузерге жібермес бұрын, серверде РНР-код жұмыс жасайды және браузерге нәтиже сервердегі мәліметтерге мүлде ұқсамайтын HTML-парақтар түрінде беріледі [22].
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 және басқа көптеген [23].
РНР-ге көптеген қазіргі заманғы серверлерді қолдау қарастырылған, мысалы, А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-ті жіберіп, көп тарала қойған жоқ [24].
Қазіргі кезде РНР-ді жүздеген құраушылар қолданады. 20 миллион сайт РНР-мен жұмыс істейтінін айтамыз, ал бұл сан Интернет домендерінің бестен бір бөлігінен асады.
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-мәтінге іштей орындалуы және т.б. Жаңа туған тіл қарапайым және шектелген синтаксисімен ерекшеленеді[24].
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-дің көпшілігін қолдауға мүмкіндік берді. Негізінен, бұл жағдай сәттіліктің алғашқы кілті болды. Бірақ тағы бір шартты айта кеткен жөн, ол – жаңа, қуаты жоғарырақ және объектті-бағытталған программалауды қолдайтын толық синтаксисі [22].
Толығымен жаңа программалау тілі жаңа атау алды. Құраушылар РНР/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) ядросының жаңаруы жатады. XML өлшеуіш тілінің қолдауы ендірілген. Java-да қолданылатын модельдерге ұқсас обьектті-бағытталған программалау функциялары толық өзгертілген. Айта кетсек, ашық, жабық және қорғалған мүшелер мен әдістер, интерфейстер мен обьекттерді клондау ендірілген. Дегенмен, жаңартулар алдыңғы нұсқалармен кодты сәйкестікті сақтау үшін жасалған. Қазіргі кезде РНР6 нұсқаларының dev-нұсқасының болуына қарамастан, ең тұрақты және кең қолданылатын 5.х.х нұсқалары болып табылады [24].
РНР 6. РНР-дің алтыншы нұсқасы 2006 жылдың қазан айынан бастап құрылуда. Онда көптеген жаңартулар ендірілген, мысалы, ядродан тұрақты POSIX өрнектері және «ұзын» суперглобальды массивтер алынып тасталған, php.ini конфигурациялық файлынан safe_mode6 php_magic_quotes және register_globals директивалары жойылған. Сонымен қатар Юникодты қолдауға көп көңіл бөлінуде
РНР синтаксисі. РНР синтаксисі Си тілінің синтаксисіне ұқсас. Ассоциативті массивтер және foreach циклы сияқты кейбір элементтер Perl-ден алынған. «Hello, world!» қарапайым программасы РНР-де келесідей болады:
echo 'Hello world!';
?>
РНР шектеуіштер ішінде орналасқан кодты орындайды. Шектеуіштер тыс ақпараттың барлығы өзгеріссіз шығарылады. Негізінен, ол HTML-құжатты РНР-кодты орнату үшін қолданылады, мысалы:
PHP-ді тестілеу
ИНДИРА
италяндық жиһаз салоны |
Жаңа италяндық жиһаз салоны Индира!!!Сіздерге біздің ашылуымыз туралы асыға
хабарлаймыз.Біздің салоннан тіпті ең талғампаз тұтынушы да өз қалауындағы жиһазды
таба алады.Компанияда басқа ешқандай бір фирмада кездеспейтін айрықша сервис
қызметі жұмыс істейді.
Алматы, Аль-Фараби 75
8 (727) 375-57-75
Картадан қарау
|
|
|
Салон жайлы
Сіздердің назарларыңызға жоғарғы талғамдағы италяндық жиһаздар: қонақ белмелері,
жатын бөлмесі,асхана,жұмсақ жиһаз,іскерлік бөлмесі,балалар бөлмесі,ас бөлмелерін
және де жиһаз аксессуарларын ұсынамыз!"Индира" италиандық жиһаз салоны сіздердің
көңілдеріңізден шығады еген үміттеміз.Жиһаздарды тапсрыс арқыл алуға болады.
Біздің салон Сіздерге Италиадан шығарылған басшылар мен қызмектерлерге
арналған офистік жиһаздар ұсынады. Олар Сіздердің офистеріңізде және жұмыс
орындарыңызда жұмыс істеуге қолайлы жағдай туғызады.Бөлме жиһаздарына қатысты
стилдерді сөз еткенде стильге емес, стилизацияға, яғни жиһаз дизайнінде белгілі
бір стильдің элементтерінің қолданатындығы ескерілген жөн.Біздің салоннан тіпті
ең талғампаз тұтынушы да өз қалауындағы жиһазды таба алады.Егер сізді біздің
компания және "Индира" жиһаз салонында ұсынылған тауарлар қызықтырған болса,
сіздің бізге хат жазуыңызға болады, біз міндетті түрде кез келген сізді
қызықтырған сұрақтарға жауап бере аламыз, сонымен қатар сіздердің
ұсыныстарыңызды аса қуанышпен қарастырамыз!
Кұрметтпен
"Индира" компаниясы.
|
Салон жайлы |
Мәзір |
Байланыс |
Сұрақ қою |
|
Тез таңдау |
|
|
|
Таңдау |
Сіз жаңа
тұтұнушысызба? |
Онда
тіркеліңіз |
|
|
|
Достарыңызбен бөлісу: