Эдийн
засаг-Үндэсний дээд сургууль
НББ-2
Бие
даалт
Сэдэв:Php
хэл
Шалгасан
багш:\……………………\ Б.Мөнхдэлгэр
Гүйтгэсэн:\................................\ Б.Энхзул
2014 он
УБ хот
PHP
хэлний тухай PHP бол
динамик вэб хуудсыг бүтээхэд зориулагдсан вэб програмчлалын хэл юм.Энэ хэлийг
1995 онд Rasmus Lerdof бүтээсэн бөгөөд цаашдын
хөгжүүлэлтийг ThePHP Group хариуцан ажиллууцаж ажилладаг байна PHP хэл нь PHP
license гэдэгнэрийн дор гардаг үнэгүй програм хангамж хэдий ч GNU General Public License(GPL) лицензтэй таардаггүй ба PHP-г
хэрэглэхэд тодорхой хязгаарлалтууд байдаг.PHP нь Script маягийн хэл ба ялангуяа
HTML кодчилолд суурилж вэбхөгжүүлэлтэнд хэрэглэгддэг хэл юм. PHP-ийн ихэвчлэн нь вэб сервер дээрсуурилагдан ажилладаг бөгөөд
сервер дээр хөрвүүлэгдсэний дараа РНР кодоосHTML хуудас бүтээгдэн бидэнд
харагддаг. РНР-ийн гайхамшигт чанар бол бүхий лвэб серверүүд ба бараг бүх л
үйлдлий систем, платформ дээр ажилладаг. Дэлхийдээр РНР-г ашиглан хийгдсэн 20
сая вэб сайт, РНР-г дэмждэг нэг сая вэб серверажиллаж байна.PHP хэл үүссэн түүхээс PHP гэдэг нь Personal Home Page
гэсэн үгийн товчлол бөгөөд анх1994 онд Common Gateway Interface binaries
бүтээхийн тулд С хэлдээр Rasmus Lerdorf бичсэнээр түүх нь эхэлдэг. Тэрээр анх Perl хэлний
script-д багахан өөрчлөлт оруулан өөрийн PersonalHomeРage бүтээсэн
байна. Энэхүү багажыг анх нь түүний вэбхуудсанд хичнээн хүн зочилж байгааг
тоолон мэдээлэх зорилгоорхэрэглэжээ. Тэрээр эдгээр бинар кодуудаа PHP/FI бүтээх
Form Interpreter хэмээннэрлэж, илүү олон боломжуудаар хангаж өгөх болсон ба
Өгөгдлийн сантайхарьцах, динамик вэбийг бүтээх боломжтой болсон байна. Ингээд 1995
оны 6сарын 8-д Lerdorf РНР-ийн release хувилбарыг олон нийтэд дэлгэн
тависанаарРНР-ийн хөгжил нь эрчээ авчээ. Энэ release хувилбар нь РНР 2 нэртэй
байсан ба өнөөгийн РНР-ийг үндсэн функцуудийг агуулж
байжээ. Түүнд Perl-тэй адил төстэйхувьсагчууд, form handling ба HTML-тэй
хамтран хэрэглэгдэх боломж байв.Бичиглэл(syntax) нь Perl-тэй талууд нэлээд
байсан ч түүнийг бодволхязгаарлагдмал, энгийн, илүү болхи байсан юм.
Израйлын Technion IIT компаний
хөгжүүлэгчид болох Zeev Suraski,Andi Gutmarsхоѐр РНР-г сул талуудыг засаж
янзлан 1997 онд РНР3 -ийг гаргасан ба нэрээ өөрчлөн PHP: Hypertext
Preprocessor болов. Хөгжүүлэлтийн баг нь албан ѐсоор PHP/FI 2-ийн
бетатуршилтын хувилбарыг 1997 оны 11 сарын 2-нд гаргажээ. Дараа ньРНР 3-ийн
нийтийн тест эхэлсэн бөгөөд жинхэнэ хувилбар нь 1998оны 6-р сард гарсан.Suraski,
Gutman нар РНР-ийн
цөмийг шинээр бүтээнZend Engine-ийг 1999 онд
бүтээсэн бөгөөдИзрайлын Ramat Gan хотод Zend Technologies-г байгуулсан ажээ.
2000
он 5-р сарын 22-нд РНР 4, Zend Engine 1.0 хамт гарсанаарРНР нэлээдгүй
хүчирхэгжсэн ба 2004 оны 6 сарын 13-нд мөн РНР5, Zend Engine 2 хамтдаа гарчээ.
РНР 5 дээр Объект ХандалтатПрограмчлалын Технологийг оруулсанаараа нэлээд
онцлогтойболж чаджээ. Хамгийн сүүлчийн сайжруулалтыг РНР-ийн хуучин хувилбар
болох РНР 4 дээрээ хийсэн бөгөөд 2008 онд РНР 4.4.9хувилбарыг гаргасан юм.
Үүнээс цааш РНР 4 дээр хамгаалалттай холбоотойсайжруулалт хийгдэхгүй гэнэ.2008
онд гаргасан РНР 5 хувилбар нь зөвхөн хөгжүүлэгдэж байгаа гүйцэд биштогтвортой
хувилбар(Stable version) юм.
PHP хэлний
давуу тал нь
Олон төрлийн өгөгдлийн баазтай
холбогдож өгөгдөл мэдээлэлтэй харьцажчаддагаараа онцлогтой. Жишээлбэл, MySQL,
Oracle, Access, SQL, PostgreSQL,mSQL, SyBASE гэх мэт.
PHP хэрхэн ажиллах вэ?
Вэб сервер дээр PHP сервер ажиллах бөгөөд уг сервер PHP кодыгажиллуулан
хэрэглэгчид HTML хуудсыг илгээдэг.Эхлээд өөрийн wamp суулгасандиск
дотор (хэрвээ С диск дээр суулгасан бол) C:\wamp\ www хавтсанд .php
(видеодээр тодорхой үзүүлсэн байгаа) файл үүсгэнэ. Тэр файлаа өөрийн код бичих
editor програм дээр нээж кодоо бичнэ. PHP кодыг ерөнхийдөө HTML таг дотор
бичижөгдөг. Гэхдээ HTML тагийн хаана нь ч бичиж өгч болно. PHP кодыг бичихэд
ганц лдүрмийг мөрддөг. Энэ нь PHP кодыг эхэлж буйг илтгэсэн гэсэн тэмдэглэгээ тавьжөгнө.
Энэ хоѐрын дунд та php кодоо бичиж өгнө гэсэн үг юм. Мөн С төрлийн
хэлнийнийтлэг дүрэмтэй адил илэрхийлэл болгоны төгсгөлд ;(цэг таслал) тавьж
өгнө. Энэнь нэг үйлдэл нэг команд дуусч байгаа гэсэн үг юм.
PHP дээр хэрхэн код бичих вэ?
PHP хэлэнд бидний мэдэх C++мөн
бусад төрлийн хэл дээр ашиглагддагбүхий л операторуудыг ашигладаг. Үүнд:
1. Арифметик оператор
+,-, /, *, %
2.Нэмэгдүүлэн хорогдуулах (ганц
операндын) оператор ++,--
3.Залгах оператор .PHP хэлэнд
тэмдэгт мөрүүдийг хооронд залгах хэрэгцээ их гардаг. Print“hello” . “world”;
гэж цэгээр залгаж бичнэ.
4.Утга олгох оператор =, +=,-=, /=, *=, %=8, .=
5.Харьцуулах оператор ==, !=, ===, =
6.Логик оператор ||, or, Xor,
&&, And, !
PHP хэл дээр бидний хамгийн түгээмэл
хэрэглэдэг, цаашдаа байнга хэрэглэхкоманд бол echo юм. Энэ нь хэвлэх үйлдлийг
гүйцэтгэдэг.echo “ЭНЭ” . “БОЛ” . “ХЭВЛЭХ ҮЙЛДЭЛ”;
Үүнийг session-ы тусламжтай
програмчилдаг.
![Description: https://html1-f.scribdassets.com/432owtips1i5paz/images/6-2df56681d3.jpg](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg)
РНР ийн давуу талууд гэвэл олон
програмчлалын хэлvvдтэй хамтран ажиллахболомжтой , маш олон төрлийн Database
буюу мэдээллийн сантай харицанажиллаж чаддаг / ж.н : MySQL, Opacle, SQL,
PostgreSQL, mSQL, SyBase, Access.../, олон төрлийн протоколуудтай харицан
ажиллах боломжтой IMAP, SNMP,
NNTP, POP, HTTP гэх мэт маш сайн сервер талын програмчлалын хэл юм.
Мөнхэрэглэгчид сурахад хялбар байдаг. РНР нь формтай ажиллах, cookie,
файлтайажиллах, зураг тэкстэн файлыг vvсгэх, мэйл илгээх, E-shop байгуулах,
серверийгудирдах гэх мэт маш олон vйлдлийг хийж гvйцэтгэж чадна.
PHP хэрхэн суулгах
вэ?
1.
php-4.1.1-installer.exe файлыг ажиллуулна
.2. Нээгдэх Welcome цонхны Next товчлуур дээр
дарна.
3. Нээгдэх License Agreement
цонхны I Agree товчлуур дээр дарна.
4. Нээгдэх Installation цонхны
Advanced сонголтыг
идэвхжүүлнэ.![Description: https://html2-f.scribdassets.com/432owtips1i5paz/images/7-d256d7ab44.jpg](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
![Description: https://html2-f.scribdassets.com/432owtips1i5paz/images/7-d256d7ab44.jpg](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
![Description: https://html2-f.scribdassets.com/432owtips1i5paz/images/7-d256d7ab44.jpg](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
![Description: https://html2-f.scribdassets.com/432owtips1i5paz/images/7-d256d7ab44.jpg](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
![Description: [image015.png]](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png)
5.
Next товчлуур дээр дарна.
6.
Нээгдэх Choose Destination Location цонхонд PHP серверийг байрлуулах
замыгсонгох ба сонгохгүй тохиолдолд C: \ PHP замыг автоматаар
сонгодог.
![Description: [image017.png]](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png)
7.
Нээгдэх Server Type цонхонд Вэб серверүүдийн төрлийг сонгох бөгөөд Xitamiгэсэн
сонголтыг идэвхжүүлнэ
.8.
Next товчлуурдээр дарна.
9.
Нээгэдх File Extensions цонхонд php, php3 сонголтыг идэвхжүүлнэ.
10.
Нээгэдх Start Installation цонхны Next товчлуурдээр дарна.
11.
OK товчлуур дээр дарна.
![Description: [image019.png]](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png)
Database
серверээ суулгах
1.
MySQL
хавтаснаас SETUP.EXE файлыг ажиллуулна
2. Нээгдэх цонхнуудад
ямар нэгэн өөрчлөл хийлгүйгээр Next товчлуурдээр дарна.
3.
Програмын файлуудыг хуулах үйл явцыг дуустал хүлээнэ.
![Description: [image021.png]](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg)
4.
Нээгдэх Setup Complete цонхны Finish товчлуур дээр дарна.
Database серверээ ажиллуулах C:\mysql\ bin замаар хандаж winmysqladmin.exe
файлыг ажиллуулна. Энэ үедWinMySQLadmin 1.3 гэсэн цонх нээгдээд хаагдах бөгөөд
програм санах ойдачаалагдаж, програмын дүрс дэлгэцийн баруун доод буланд байлах
System trayдээр харагдана.
![Description: [image023.png]](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg)
PHP нь илүү хүмүүс хэр ашигтай олж
зэрэг хөгжсөөр жижиг нээлттэй эхийн төсөл гарч эхэлсэн юм. Rasmus Lerdorf арга
буцаж 1994 онд PHP-ийн анхны хувилбарыг мэдрэхийн.
- PHP ": Hypertext Preprocessor PHP" нь
рекурсив товчлол юм.
- PHP HTML-д суулгагдсан байдаг бөгөөд энэ нь сервер
талын скрипт хэл юм. Энэ нь динамик агуулга, мэдээллийн сан, сесс хянах
удирдах тэр ч байтугай бүхэл бүтэн цахим худалдааны сайт барих ашиглаж
байна.
- Энэ нь MySQL, PostgreSQL, Oracle, Sybase, informax,
болон Microsoft SQL Server зэрэг алдартай мэдээллийн сан, олон тооны
нэгдсэн байна.
- Unix-ийн тал дээр нь Apache-н модуль хэлбэрээр эмхэтгэн
ялангуяа PHP, түүний гүйцэтгэл тааламжтайгаар zippy юм. MySQL сервер нь
нэг удаа эхэлсэн, рекорд тогтоох үед асар их үр дүн багц ч маш нарийн
асуулга ажиллуулдаг.
- PHP зэрэг POP3, IMAP болон LDAP зэрэг томоохон протокол
нь олон тооны дэмждэг. PHP4 н шатлалт бий болгож анх удаа боломж гаргах,
Java болон тархсан объект архитектур (COM болон Корба) дэмжлэгийг нэмсэн.
- PHP уучлах юм: PHP хэлний аль болох бусдыг уучилдаг
байх ёстой оролддог.
- PHP синтакс C-нэгэн адил юм.
PHP
нийтлэг хэрэглээ:
- PHP нь, нээлттэй, бий болгох уншиж, бичиж, тэднийг хаах
боломжтой систем дээр файлын систем нь, өөрөөр хэлбэл чиг үүргийг
хариуцдаг.
- PHP нь хэрэглэгчийн өгөгдлийг буцааж, и-мэйл хүүхдийн
чинь хувцас та өгөгдлийг илгээж болно файл өгөгдлийг хадгалах, файлууд нь
мэдээлэл цуглуулах, өөрөөр хэлбэл, хэлбэрийг ажиллах болно.
- Та нэмэх, устгах, PHP хүүхдийн чинь хувцас таны
өгөгдлийн сан дотор элементүүдийг өөрчлөх.
- Хандалтын жигнэмэг хувьсагчууд болон тогтоосон күүки.
- PHP ашиглан та өөрийн вэб сайт-ын зарим нэг хуудас
хандахын тулд хэрэглэгчдийг хязгаарлаж болно.
- Энэ нь өгөгдлийг хувиргахад болно.
PHP-ийн
шинж чанар
Таван чухал шинж чанар нь PHP-ийн
практик шинж боломжтой болгодог:
- Энгийн
- Үр ашиг
- Аюулгүй байдал
- Уян хатан байдал
- Мэдлэг
PHP нь олон төрлийн өгөгдлийн сан
удирдах системүүдийг дэмждэг (MySQL PostgreSQL Oracle Sybase ODBC FilePro
Interbase) мөн түүний ачаалах хурд функцуудын баялаг сан үнэгүй ашиглах (GPL
лицензтэй) программчлалын синтаксийг сурахад хялбар хугацаа бага шаарддаг
үйлдлийн систем үл хамаарах зэрэг олон давуу талуудтай
1.
Ñýðâåð òàëûí — Ávõ ÐÍÐ êîäóóä ñýðâåð äýýð áàéðëàõ áºãººä ñýðâåð äýýð ºãºãäºë íü
ãvéöýòãýãäýíý.
2. Ïëàòôîðì õàìààðàëãvé — ÐÍÐ êîäûã Unix, Windows NT, Macintosh áîëîí áóñàä véëäëèéí ñèñòåìòýé ñýðâåð äýýð àæèëëóóëæ áîëíî.
3. HTML õîëèëäñîí — ÐÍÐ êîäûã HTML êîäûí äîòîð õîëüæ áîëíî.
4. Âýá õýë — Âýá õýë íü ïðîãðàìûí õýëýýñ ÿëãààòàé. Âýáèéí õýëýýð áè÷ñýí ïðîãðàì íü áðàóçýðûí òóñëàëöààòàéãààð àæèëëàäàã áîë ïðîãðàìûí õýëýýð áè÷ñýí ïðîãðàì ººðºº áèåý äààæ àæèëëàäàã.
2. Ïëàòôîðì õàìààðàëãvé — ÐÍÐ êîäûã Unix, Windows NT, Macintosh áîëîí áóñàä véëäëèéí ñèñòåìòýé ñýðâåð äýýð àæèëëóóëæ áîëíî.
3. HTML õîëèëäñîí — ÐÍÐ êîäûã HTML êîäûí äîòîð õîëüæ áîëíî.
4. Âýá õýë — Âýá õýë íü ïðîãðàìûí õýëýýñ ÿëãààòàé. Âýáèéí õýëýýð áè÷ñýí ïðîãðàì íü áðàóçýðûí òóñëàëöààòàéãààð àæèëëàäàã áîë ïðîãðàìûí õýëýýð áè÷ñýí ïðîãðàì ººðºº áèåý äààæ àæèëëàäàã.
Òýãýõýýð
ÐÍÐ áóñàä âýá õýëýýñ þóãààðàà äàâóóòàé âý? ßàãààä áèä íàð öàãàà ãàðçäàæ ýíý
õýëèéí òóõàé óíøèæ áàéíà?
Âýá áàðèõàä òàíä áàéãàà áóñàä
ñîíãîëòóóäààñ äóðäâàë HTML, CGI, ASP, JSP áà CFML.
1. HTML — Hyper Text Markup Language
2. CGI — Common Gateway Interface
3. ASP — Active Server Pages
4. JSP — Java Server Pages
5. CFML — Cold Fusion Markup Language
1. HTML — Hyper Text Markup Language
2. CGI — Common Gateway Interface
3. ASP — Active Server Pages
4. JSP — Java Server Pages
5. CFML — Cold Fusion Markup Language
ßàãààä ÐÍÐ? ßàãààä ãýõýýð áóñäààñàà
õóðäàí, íàéäâàðòàé àæèëëàäàã, ñóðàõàä õÿëáàð, îëîí véëäýë ãvéöýòãýäýã,
¸ðºíõèé人 “ñóïåð”. Òýãýõýýð áóñàä õýëíèé òóõàé òàéëáàðëàõãvé áîë õàíãàëòãvé
ñîíñîãäîæ áàéíà.
CGI êîä áè÷èõèéí òóëä âýáìàñòåð Perl,
Python ýñâýë C çýðýã õýë ìýääýã áàéõ øààðäëàãàòàé. Äýýðõ õýëvvä áîë âýá õýë
áèø, ïðîãðàìûí õýë. Ïðîãðàìûí õýë ñóðàõàä öàã, õºäºëìºð, ìºí㺠èõ ãàðçäàíà.
¨ð人 ë âýá ïðîãðàì áè÷èõèéí òóëä ávòýí ïðîãðàìûí õýë ñóðàõ áîë èëvv véëäýë.
Õýðâýý âýáýýñ ïðîãðàì÷ëàë ðóó øèëæèõ çîðèëãîòîé áàéãàà íºõöºëä áîë îíäîî õýðýã.
HTML õýë áîë âýáèéã ávòýýõ õýë áîëîõîîñ ÿìàð íýã véëäýë ãvéöýòãýõ ÷àäâàðãvé. Èéìýýñ çºâõºí STATIC õóóäàñ õèéõýä õýðýãëýíý.
ASP êîä áè÷èõèéí òóëä âýáìàñòåð Visual Basic ïðîãðàìûí õýëèéí VB Script õýë ýçýìøñýí áàéõ øààðäëàãàòàé.
HTML õýë áîë âýáèéã ávòýýõ õýë áîëîõîîñ ÿìàð íýã véëäýë ãvéöýòãýõ ÷àäâàðãvé. Èéìýýñ çºâõºí STATIC õóóäàñ õèéõýä õýðýãëýíý.
ASP êîä áè÷èõèéí òóëä âýáìàñòåð Visual Basic ïðîãðàìûí õýëèéí VB Script õýë ýçýìøñýí áàéõ øààðäëàãàòàé.
JSP áè÷èõýä JAVA ïðîãðàìûí õýë ìýääýã
áàéõ õýðýãòýé
CFML Cold Fusion áîë ÐÍÐ -ä äºõºæ èðíý. Ñóðàõàä õÿëáàð, HTML õîëèëäñîí âýá õýë.
CFML Cold Fusion áîë ÐÍÐ -ä äºõºæ èðíý. Ñóðàõàä õÿëáàð, HTML õîëèëäñîí âýá õýë.
Òýãýõýýð
çàðèì õví JavaScript-í òàëààð áîäîæ áàéæ ìàãàäãvé. JavaScript õýë áîë ñýðâåð
òàëûí áóñ, õýðýãëýã÷èéí òàëûí âýá õýë. Èéìýýñ áèäýíä õýðýãòýé ãýæ áîäîõãvé
áàéíà. ßàãààä ãýõýýð áèä íàð ãîë íü ñýðâåð òàëûí âýá ïðîãðàì áè÷èõ òàëààð õîéøäîî
õýëýëöýõ áîëíî.
ÐÍÐ
-ûí æèíõýíý èä øèä íü äàòàáýéñòýé õîëáîãäîæ äàòà áóþó ìýäýýëýëòýé õàðüöàõ.
Áóñàä ñýðâåð òàëûí âýá õýëvväýýñ îëîí
òºðëèéí äàòàáýéñòýé õîëáîãäîæ ÷àääàãààðàà îíöëîã.
Äîîð õýäõýíèéã äóðäâàë:
MySQL
Oracle
Access
SQL
PostgreSQL
mSQL
SyBASE
…
MySQL
Oracle
Access
SQL
PostgreSQL
mSQL
SyBASE
…
Áóñàä
æèøýýíýýñ äóðäâàë ASP õóóäñóóä Microsoft Access-òýé õàðüöäàã áa 2-óóëàíãèéõ íü
àðä Microsoft áàéæ áàéõàä ÐÍÐ áàðàã ávõ òºðëèéí äàòàáýéñ ïðîãðàìòàé õîëáîãäîæ
÷àääàãààðàà äàâóó.
________________________________________
Maø ÷óõàë:
________________________________________
Maø ÷óõàë:
Ýíýõvv ÐÍÐ âýá ïðîãðàìûí õýëíèé
òàíèëöóóëãà õóóäàñ íü ÐÍÐ äºíãºæ ñóðæ ýõýëæ áóé ñîíèðõîã÷îîð ávòýýãäñýí áºãººä
÷àíàðûí øààðäëàãà õàíãàõãvé, áóðóó òàøàà òàéëáàðëàñàí òîõèîëäîë ãàðãàñàí áàéõûã
vãvéñãýõãvé. Èéìýýñ òà ávõýí ýíäýýñ ìýäñýí ñóðñàí çvéëýý ìýðãýæëèéí
ïðîãðàììèñòóóäààñ àñóóæ äàâõàð ëàâøðóóëàí ìýäýæ àâàõ ýñâýë òóõàéí ïðîãðàìûã
ávòýýã÷äèéí àëáàí ¸ñíû âýá õóóäñààð çîð÷èí äàâõàð øàëãàæ áàéõûã àíõààðóóëúÿ!
Variable
Variable ( õóâüñàã÷ ) áîë ïðîãðàì÷ëàëûí íýãýí ÷óõàë îéëãîëò. Áàðàã ávõ òºðëèéí ïðîãðàìûí õýëýíä õóâüñàã÷ áàéäàã ãýõýä áóðóóäàõãvé. Òýãýõýýð variable ãýäýã áîë òvð ñàíàõ oéä ÿìàð íýã óòãûã ( value ) õàäãàëæ, äýñ äàðààòàé òîîöîîëîí áîäîõ àæèëëàãààíä õýðýãëýãäýãääýã. Îíäîîãîîð òàéëáàðëàâàë variable ÿìàð íýã ìýäýýëëèéã òvð çóóð õýðýãëýãäýõ õvðòýë íü õàäãàëäàã áºãººä õýðýãëýãäýýä äóóññàíû äàðàà ýñâýë îíäîî ìýäýýëýë îðóóëñàí íºõöºëä õóó÷èí ìýäýýëýë íü ñàðíèæ àëãà áîëíî, íýðíýýñ íü õàðàõàä ( õóâüñàã÷ ) áàéíãà ººð÷ëºãäºæ áàéäàã íü èë áàéíà. Ãýõäýý ººðºº ººð÷ëºã人ä áàéäàã þì áèø. Òóõàéí õýðýãëýã÷èéí îðóóëñàí ìýäýýëýë ( input ) óòãà íü ( value ) áîëäîã òóë ñýòãýëýýð óíàõ õýðýããvé. ¨ðºíõèé人 âýá õýðýãëýã÷ õýðõýí ÐÍÐ âýá õóóäàñò ºãºãäºë îðóóëàõààñ ë õóâüñàã÷èéí óòãà íü õàìààðäàã ãýæ ävãíýæ áîëíî. Variable-ã ñàéí îéëãîõ íü ÐÍÐ õýëä ìàø ÷óõàë.
Variable ( õóâüñàã÷ ) áîë ïðîãðàì÷ëàëûí íýãýí ÷óõàë îéëãîëò. Áàðàã ávõ òºðëèéí ïðîãðàìûí õýëýíä õóâüñàã÷ áàéäàã ãýõýä áóðóóäàõãvé. Òýãýõýýð variable ãýäýã áîë òvð ñàíàõ oéä ÿìàð íýã óòãûã ( value ) õàäãàëæ, äýñ äàðààòàé òîîöîîëîí áîäîõ àæèëëàãààíä õýðýãëýãäýãääýã. Îíäîîãîîð òàéëáàðëàâàë variable ÿìàð íýã ìýäýýëëèéã òvð çóóð õýðýãëýãäýõ õvðòýë íü õàäãàëäàã áºãººä õýðýãëýãäýýä äóóññàíû äàðàà ýñâýë îíäîî ìýäýýëýë îðóóëñàí íºõöºëä õóó÷èí ìýäýýëýë íü ñàðíèæ àëãà áîëíî, íýðíýýñ íü õàðàõàä ( õóâüñàã÷ ) áàéíãà ººð÷ëºãäºæ áàéäàã íü èë áàéíà. Ãýõäýý ººðºº ººð÷ëºã人ä áàéäàã þì áèø. Òóõàéí õýðýãëýã÷èéí îðóóëñàí ìýäýýëýë ( input ) óòãà íü ( value ) áîëäîã òóë ñýòãýëýýð óíàõ õýðýããvé. ¨ðºíõèé人 âýá õýðýãëýã÷ õýðõýí ÐÍÐ âýá õóóäàñò ºãºãäºë îðóóëàõààñ ë õóâüñàã÷èéí óòãà íü õàìààðäàã ãýæ ävãíýæ áîëíî. Variable-ã ñàéí îéëãîõ íü ÐÍÐ õýëä ìàø ÷óõàë.
Variable-ûã
áàñ TÂ, ñýòãvvë, øàð ñîíèí çýðýã áàðàã ávõ òºðëèéí ººð÷ëºãäºæ øèíý÷ëýãäýæ
áàéäàã ìýäýýëëèéí ýõ vvñâýðòýé çvéðëýæ áîëíî. Ó÷èð íü ºíººäðèéí ìýäýý ìàðãààø
äàõèæ ÿâàõãvé, ìàãàäãvé õýäýí öàã, ìèíóò, ñåêóíäûí äîòî𠺺ð÷ëºãäºæ áîëíî.
Õàðèí ìýäýýëýë ÿàæ ÷ ººð÷ëºãäñºí, ÒÂ, ñîíèí ýä íàð õýâýýðýý ë áàéæ áàéíà.
Tvví
øèã õóâüñàã÷èéí óòãà íü ººð÷ëºãäºõººñ õóâüñàã÷èéí íýð íü ººð÷ëºãäºõ àëáàãvé.
Õvíýýð çvéðëvvëáýë äîëèãíóóð, îëîí ívvðòýé, õóäàë÷, óðâàã÷ ººäãvé áàéäëààðàà
óëñ òºð÷èäòýé òóí òºñòýé.
Òýãýõýýð
variable ÿàãààä õýðýãòýé âý? Variable-ûí óòãà íü áèäýíä ìàø õýðýãòýé áàéäàã.
Ýíý óòãûã äàòàáýéñä õàäãàëæ áîëíî, ìîíèòîð äýýð ãàðãàæ áîëíî, ýñâýë òîîöîîëîí
áîäîæ õàðèó ãàðãàõàä õýðýãëýæ áîëíî. Ávvð öààøèëáàë áèä íàð óòãûã È-ìýéëýýð
íàéçäàà ÿâóóëæ áîëíî, âýá õóóäñàíä îðóóëæ áîëíî. Variable-ûí óòãûã áèä íàð äàòà
ãýæ vçñýí ÷ áîëíî. Äàòà óòãà 2 óãòàà íýã þì ë äàà. Ìýäýýëýë, äàòà áà óòãà 3
ávãä àäèëõàí.
Äàòà
= Óòãà = Ìýäýýëýë
Âýá
õóóäàñò áàéãàà ávõ þìûã äàòà ãýæ îéëãîæ áîëíî. Âýá õóóäàñ ººðºº áîë variable
þì. Âýáìàñòåð update õèéíý ãýäýã ìààíü óòãàä ( äàòà, ìýäýýëýë ) çàñâàð,
ººð÷ëºëò, íýìýëò, õàñàëò õèéõ ãýæ ávävvëãýýð îéëãîæ áîëíî.
Òýãýõýýð
äàòà, ìýäýýëëèéã âýá õóóäàñò îðóóëàõ 2 víäñýí àðãà áàéíà. 1-ðò âýáìàñòåð ãàðààð
øèâæ îðóóëàõ, 2-ðò âýá õýðýãëýã÷äèéí ìýäýýëëèéã âýáèéí ìýäýýëëèéí ñàíä (
äàòàáýéñ ) îðóóëæ òvvíýýñ âýáèéí ìýäýýëëèéã ávðävvëýõ. 3-ð àðãà ãýæ vãvé. ªºðºº
vvñýæ áèé áîëäîã äàòà ãýæ áàéõãvé.
Õýðâýý
variable õàà íýãòýý õàäãàëàãäààãvé íºõöºëä âýá õóóäàñ ººð÷ëºãäºõ àãøèíä vãvé
áîëíî. Òèéìýýñ áèäýíä äàòàáýéñ õýðýãòýé áîëäîã.
ÐÍÐ-ä
3 ( +1 ) òºðëèéí variable áàéäàã.
Ýäãýýðèéã äóðäâàë Numbers, Strings áà
Arrays ( Objects ãýæ áàñ íýã áàéäàã ãýõäýý ýíý õóóäàñíû òºâøíººñ äýýãvvð òóë
îðóóëàõãvé )
PHP
скрипт хэлний танилцуулга
РНР бол Hypertext Preprocessor /Personal Home Page/ гэсэн үгийн товчлол юм.
РНР бол Hypertext Preprocessor /Personal Home Page/ гэсэн үгийн товчлол юм.
РНР
бол өргөн тархсан, платформ хамааралгүй, HTML холилдсон сервер талын вэб
програмчлалын хэл юм. Өнөөдөр дэлхий дээр веб сайтуудын бараг 90% нь энэ скрипт
хэл дээр бичигдсэн байна. Энэ тоо таныг уншиж байх энэ хооронд өссөөр л байгаа.
РНР-ийн
давуу талууд
гэвэл сурахад амархан, C хэлтэй бичиглэлийн хувьд төстэй мөн олон төрлийн
функцуудээр хангагдсан (3000 орчим бэлэн функцтэй), уян хатан, хурдан
ажилладаг, олон програмчлалын хэлүүдтэй хамтран ажиллах боломжтой, маш олон
төрлийн Database буюу өгөгдлийн сантай харицан ажиллаж чаддаг ж.н : MySQL,
Oracle, SQL, PostgreSQL, mSQL, SyBase, Access гэх мэт мөн олон төрлийн
протоколуудтай харицан ажиллах боломжтой IMAP, SNMP, NNTP, POP3 , HTTP гэх мэт
маш сайн сервер талын програмчлалын хэл юм.
PHP
сул тал
РНР
нь нээлттэй эх кодтой учир хэн нэгэн РНР-ээс алдаа олох юм бол тэрийгээ
засагдахаас өмнө дутагдалтай талыг нь ашиглаж хакердаж болно.
Хэрэглэгчийн оруулсан мэдээлэл дотроос HTML код, PHP script болон MySQL илэрхийллийг сайн шүүгээгүйгээс болж хакдуулах аюултай байдаг.
Address bar-с өгөгдөл шууд авахыг зогсоох хэрэгтэй. Энэ нь хакерууд address bar-р дамжуулж нэвтрэх, өгөгдлийн санг устгах зэрэг боломжийг олгодог.
Нууцлалыг сайн хийхгүй бол Session-ыг алдвал хакдуулах боломжтой.
PHP-ийн үндсэн тохиргоонд алдааны мэдээллийг харуулдаг учир хакерыг мэдээллээр хангах аюултай байдаг.
Хамгийн гол нь хувьсагч болгоныг ямар нэгэн халдвартай өвчтөн мэтээр үзэж кодоо бивчэл сайн.
Хэрэглэгчийн оруулсан мэдээлэл дотроос HTML код, PHP script болон MySQL илэрхийллийг сайн шүүгээгүйгээс болж хакдуулах аюултай байдаг.
Address bar-с өгөгдөл шууд авахыг зогсоох хэрэгтэй. Энэ нь хакерууд address bar-р дамжуулж нэвтрэх, өгөгдлийн санг устгах зэрэг боломжийг олгодог.
Нууцлалыг сайн хийхгүй бол Session-ыг алдвал хакдуулах боломжтой.
PHP-ийн үндсэн тохиргоонд алдааны мэдээллийг харуулдаг учир хакерыг мэдээллээр хангах аюултай байдаг.
Хамгийн гол нь хувьсагч болгоныг ямар нэгэн халдвартай өвчтөн мэтээр үзэж кодоо бивчэл сайн.
PHP
үндсэн тохиргооны анхны утга нь сул тал нь болж өгдөг. Үүнийг тохируулж
чанаржуулах шаардлагатай.
Хамгаалалт
хэрхэн хийх
Оруулж
буй өгөгдлийг шалгах
Хэзээ
ч хэрэглэгчийн оруулж буй өгөгдөлд итгэж болохгүй. Таны веб сайт руу зочилж буй
хэрэглэгчдийг бүгдийг нь хакер мэтээр санаж кодоо бичих шаардлагатай. Жишээлбэл
энэ код дээр авч үзье.
$month
= $_GET['month'];
$year = $_GET['year'];
exec(“cal $month $year”, $result);
print “<PRE>”;
foreach ($result as $r) { print “$r<BR>”; }
print “</PRE>”;
$year = $_GET['year'];
exec(“cal $month $year”, $result);
print “<PRE>”;
foreach ($result as $r) { print “$r<BR>”; }
print “</PRE>”;
Энэ
кодонд хэрэглэгчийн оруулсан утгыг Unix cal командаар боловсруулж утгыг
хэвлэнэ. Хэрэв хакер үүнийг ашиглаж сар жилийн оронд “;rm -rf *” гэж оруулж
өгвөл таны веб дэх сар болон жилийн мэдээллийг устгана. Үүнээс сэргийлж оруулж
буй өгөгдлийг шалгах шаардлагатай.
$month
= $_GET['month'];
$year = $_GET['year'];
$year = $_GET['year'];
if (!preg_match(“/^[0-9]{1,2}$/”,
$month)) die(“Bad month, please re-enter.”);
if (!preg_match(“/^[0-9]{4}$/”, $year)) die(“Bad year, please re-enter.”);
if (!preg_match(“/^[0-9]{4}$/”, $year)) die(“Bad year, please re-enter.”);
exec(“cal
$month $year”, $result);
print “<PRE>”;
foreach ($result as $r) { print “$r<BR>”; }
print “</PRE>”;
print “<PRE>”;
foreach ($result as $r) { print “$r<BR>”; }
print “</PRE>”;
Хэрэгэлэгчдийн
хандах эрхийг хуудас болгон дээр шалгах
Хэрэв
ямар нэгэн байдлаар энгийн хэрэглэгч админы хэсэгт орвол тохиргооны файлыг
өөрчлөх, дэлгэцэнд гарч буй мэдээлийг өөрчлөх боломжтой болох учир хуудас бүрд
орох болгонд нь session-г нь шалгах хэрэгтэй. Бас админы хандах хэсэгт IP хаягыг
нь шалгаж нэвтрүүлдэг бол бүүр сайн.
Доорх
байдалтай вебийнхээ бүтцийг хйиснээр apache сервер дотроо эдгээр директор руу
хандах эрхийг нь хааж болно.
/home
/httpd
/www.example.com
.htpasswd
/includes
cart.class.php
config.php
/logs
access_log
error_log
/www
index.php
/admin
.htaccess
index.php
/httpd
/www.example.com
.htpasswd
/includes
cart.class.php
config.php
/logs
access_log
error_log
/www
index.php
/admin
.htaccess
index.php
Session
ID Protection
PHP
веб сайтын нэг том асуудал бол Session ID-г хулгайлах явдал юм. Session нь
хэрэглэгч бүрийн хувьд үүсдэг ба хэн нэгэн админы ч юмуу өөр хэрэглэгчийн
Session ID-г мэдвэл тэр хүний мэдээллийг харах засах боломжтой юм. Хэрэв та
session хувьсагчийн нууц үгийг хадгалах бол хоосон нууц үг оруулахыг хэзээ ч
зөвшөөрч болохгүй ба нууц үгийг SHA1() болон md5() зэрэг encrypt-р шифрлэх
ёстой. if ($_SESSION['sha1password'] == sha1($userpass)) {
//
do sensitive things here
}
}
Cross Site Scripting (XSS)
Хэрэглэгчийн
оруулсан өгөгдөл дотор javascript явж байвал xss гэж үзнэ. Веб хуудас дээр
хэрэглэгч HMTL бичиглэл (жишээ нь < болон > орж байгаа эсэх ) мөн HTML
тэмдэгт оруулж байгаа эсэхийг шалгах шаардлагатай.
Хэрэв
хэрэглэгч HTML кодтой өгөгдөл оруулбал дэлгэцэн дээр өөр мэдээлэл гарах зэрэг
алдаа гарч болно. Гэхдээ зарим тохиолдолд хэрэглэгчдийг html өгөгдөл оруулахыг
зөвшөөрөх тохиолдол гарна. Үүнийг зогсоохын тулд оролт дотор <script>
-гэсэн маягийн зүйл байгаа эсэхийг шалгаж болно.
Үүнээс сэргийлэхийн тулд хэрэглэгчийн оруулж
байгаа өгөгдлийг PHP-ийн htmlspecialchars функцээр шалгах хэрэгтэй.
Алдааны
мэдээллийг нуух
PHP
тохиргооны php.ini файлд байх display_errors–ын утыг “0″
болгох ө.х таны кодон дахь ямар нэг алдаа, өгөгдлийн сантай холбогдоход гарах алдаа зэрэг нь хэрэглэгчийн browser дээр гардаг үүнийг харуулахгүй байх. Мөн error_log –ийн утгыг “1″
болгох. Эдгээр тохиргоо нь зөвхөн наад захын л зүйл учраас цааш нь
тохиргоонуудыг сайн хийж өгөх хэрэгтэй.
PHP.ini
файлыг тохируулах
Энэ
файлын анхны утга стандарт хэлбэрээр байдаг учир хамгаалалтыг сайжруулахын тулд
зарим тохируулгыг өөрчлөх шаардлагатай байдаг. Та php хувилбараа шинэчилсэн ч
php.ini файл нь шинчлэгддэгүй учир нэг удаа тохируулгаа сайн хийх хэрэгтэй.
phpinfo() функцийг хаах энэ нь php-ийн талаар маш дэлгэрэнгүй мэдээлэл байдаг
учир хакер энэ мэдээллийг авбал маш хялбар хакедах болно.
Дараах
тохиргоонууд нь php-г илүү хамгаалалтай болгодог:
- register_globals:
Энэ нь анхны утга нь on байдаг ба үүнийг off болгох
- safe_mode: ”on”
болгох. Локал системийн файл руу зөвшөөрөлгүй хандалтыг хаана. Энэ нь on
байвал систем дээрх файлуудыг зөвхөн унших горимд оруулдаг.
- disable_functions:
Энэ тохиргоог зөвхөн php.ini файлд хийж өгнө. Энэ нь PHP-г installation
хийхэд функцуудыг жагсаалтыг идэвхгүй болгодог. Энэ нь зөвшөөрөлгүй
функцыг ажиллуллахыг хориглодог.
4.
PHP
гэдэг нь Personal Home Page гэсэн үгийн товчлол бөгөөд анх 1994 онд Common
Gateway Interface binaries бүтээхийн тулд С хэл дээр Rasmus Lerdorf бичсэнээр
түүх нь эхэлдэг. Тэрээр анх Perl хэлний script-д багахан өөрчлөлт оруулан өөрийн
Personal HomeРage бүтээсэн байна. Энэхүү багажийг анх нь түүний вэб хуудсанд
хичнээн хүн зочилж байгааг тоолон мэдээлэх зорилгоор хэрэглэжээ. Тэрээр эдгээр
бинар кодуудаа PHP/FI бүтээх Form Interpreter хэмээн нэрлэж, илүү олон
боломжуудаар хангаж өгөх болсон ба өгөгдлийн сантай харьцах, динамик вэбийг
бүтээх боломжтой болсон байна. Ингээд 1995 оны 6 сарын 8-д Lerdorf РНР-ийн
release хувилбарыг олон нийтэд дэлгэн тависанаар РНР-ийн хөгжил нь эрчээ авчээ.
Энэ release хувилбар нь РНР 2 нэртэй байсан ба өнөөгийн РНР-гийн үндсэн
функцуудийг агуулж байжээ. Түүнд Perl-тэй адил төстэй хувьсагчууд, form
handling ба HTML-тэй хамтран хэрэглэгдэх боломж байв. Бичиглэл(syntax) нь
Perl-тэй төстэй талууд нэлээд байсан ч түүнийг бодвол хязгаарлагдмал, энгийн,
илүү болхи байсан юм. Израйлын Technion IIT компаний хөгжүүлэгчид болох Zeev Suraski, Andi Gutmars хоёр РНР-гийн сул талуудыг засаж янзлан 1997 онд
РНР 3 -ийг гаргасан ба нэрээ өөрчлөн PHP: Hypertext Preprocessor болов.
Хөгжүүлэлтийн баг нь албан ёсоор PHP/FI 2 -ийн бета туршилтын хувилбарыг 1997
оны 11 сарын 2-нд гаргажээ. Дараа нь РНР 3-ийн нийтийн тест эхэлсэн бөгөөд
жинхэнэ хувилбар нь 1998 оны 6-р сард гарсан. Suraski, Gutman нар РНР-ийн
цөмийг шинээр бүтээн Zend Engine-ийг 1999 онд бүтээсэн бөгөөд Израйлын Ramat Gan
хотод Zend Technologies-г байгуулсан ажээ.
5.
РНР бол платформ хамааралгүй, HTML холилдсон сервер
талын вэб програмчлалын хэл юм. РНР нь CGI & Perl, C хэлүүдтэй их төстэй
гэж хэлж болно. РНР ийн давуу талууд гэвэл олон програмчлалын хэлүүдтэй хамтран
ажиллах боломжтой, маш олон төрлийн Database буюу мэдээллийн сантай / ж.н : MySQL, Opacle, SQL,
PostgreSQL, mSQL, SyBase, Access .../
харилцан ажиллаж чаддаг, олон төрлийн протоколуудтай харицан ажиллах боломжтой IMAP, SNMP, NNTP, POP3 , HTTP гэх мэт маш сайн сервер талын програмчлалын хэл юм. Мөн хэрэглэгчид сурахад хялбар байдаг. РНР нь формтай ажиллах, cookie, файлтай ажиллах, зураг тэкстэн файлыг үүсгэх, и-мэйл илгээх, E-shop байгуулах, серверийг удирдах гэх мэт маш олон үйлдлийг хийж гүйцэтгэж чадна. РНР кодчлол <? ба ?> эсвэл <?php ба ?> гэсэн тэмдэгтийн хооронд бичигдэнэ. РНР кодчлол ашиглан байгуулсан вэб хуудасны өргөтгөл нь .php .php3 .php4 гэх мэт байх хэрэгтэй байдаг. Энгийн HTML өргөтгөлтэй вэб хуудсан дээр ажиллах боломжгүй. РНР-г сервер талын хэл учраас энгийн windows -ийн орчинд ажиллаж чадахгүй юм. Тиймээс нэмэлт сервер Software / APACHE, WAMP сервер гэх мэт / - уудыг өөрийн компьютерт суулгаснаар РНР хуудсуудаа шалгаж туршиж байх боломж бүрдэнэ.
харилцан ажиллаж чаддаг, олон төрлийн протоколуудтай харицан ажиллах боломжтой IMAP, SNMP, NNTP, POP3 , HTTP гэх мэт маш сайн сервер талын програмчлалын хэл юм. Мөн хэрэглэгчид сурахад хялбар байдаг. РНР нь формтай ажиллах, cookie, файлтай ажиллах, зураг тэкстэн файлыг үүсгэх, и-мэйл илгээх, E-shop байгуулах, серверийг удирдах гэх мэт маш олон үйлдлийг хийж гүйцэтгэж чадна. РНР кодчлол <? ба ?> эсвэл <?php ба ?> гэсэн тэмдэгтийн хооронд бичигдэнэ. РНР кодчлол ашиглан байгуулсан вэб хуудасны өргөтгөл нь .php .php3 .php4 гэх мэт байх хэрэгтэй байдаг. Энгийн HTML өргөтгөлтэй вэб хуудсан дээр ажиллах боломжгүй. РНР-г сервер талын хэл учраас энгийн windows -ийн орчинд ажиллаж чадахгүй юм. Тиймээс нэмэлт сервер Software / APACHE, WAMP сервер гэх мэт / - уудыг өөрийн компьютерт суулгаснаар РНР хуудсуудаа шалгаж туршиж байх боломж бүрдэнэ.
PHP-н тухай мэдэх шаардлагатай 12
зүйл
PHP-г та зөвхөн вэб хийхэд
хэрэглэдэг, боломж муутай гэж бодож байна уу. PHP2.0 гарч байх үед боломж
үнэхээр муу байсан байна. Харин PHP5 бол тийм биш гэнэ. Та бүхэнд PHP-н талаар
мэдэх шаардлагатай 12 зүйлийг орчуулан хүргэж байна.
- PHP нь зөвхөн вэб хийхэд зориулагдаагүй. PHP нь вэб модуль, эсвэл CGI скрипт хэлбэрээр сууж
ашиглагддагч PHP CLI болон PHP-GTK2 binding гарч
ирснээр энэ агуулгыг өөрчилсөн. 3,4р хэсгийг харна уу.
- PHP нь жинхэн програмчлалын хэл юм. Энэ нь үнэхээр жинхэн програмчлалын хэл юм. Элдэв
янзын хэлэлцүүлэгт "C мэт жинхэн програмчлалын хэлийг ашигла"
гэж санал боолгож буй бичлэгүүд их байдаг нь буруу үзэл бодол юм. PHP нь
бусад програмчлалын хэлнүүдийн л адил.
- PHP-г ашиглан линуксын терминалын болон DOS-н мөрөн
комманд ажиллуулж болно:
PHP CLI ашиглана бусад Java, C программуудын
адил уг үйлдлийг гүйцэтгэх боломжтой.
- PHP ашиглан зурагтай харилцсан коммандуудыг гүйцэтгэж
зураг зурж болно: PHP-GTK2 binding ашиглан
PHP программуудыг хийж болохнээ.
- PHP ашиглан OpenGL программуудыг хийж болно. Туршлагатай нөхдүүд php-opengl ашиглан OpenGL ашиглан
программуудыг хийж болдог.
- PHP нь нууцлалын алдаа ихтэй програмчлалын хэл биш юм. Ихэнх PHP програмчлалын тохиолдолд туршлагагүйгээс
болоод алдаа гаргасан байдаг. (register_globals гэх мэт)
- PHP нь OOP буюу объект хандалтгүй програмчлалын хэл биш
юм. PHP’s page on PHP5 object oriented programming
хэсгийг уншина уу. Бусдын адил л ашигладагийг та мэдэх болно.
- PHP нь хэв маяггүй програмчлалын хэл биш юм. PHP’s types page
хуудсыг нээж танилцана уу.
- PHP нь үнэгүй нээлттэй эх.
- PHP-г вэб робот бичихэд ашиглаж болно. cURL болон http class ашиглан вэб роботуудыг бичиж
болно.
- PHP нь их эртний програмчлалын хэл биш юм. Үүсээд удаагүй.
- PHP нь хэрэггүй програмчлалын хэл биш.
Энэ нь вэб сайт хийх зориулалттай. Нэрний
утга нь php-personal home page гэсэн товчлол буюу сүүлд hypertext preprocessor
болгож өөрчилжээ. Php-г нэвтрүүлэх болсноор нэг PC-нээс өөр PC рүү, бүр олон
зэрэг хандаж ажиллах боломжтой болсон. Энэ нь өмнөх танилцуулсан программуудын
адил нээлттэй үнэгүй бөгөөд өргөн ашиглагддаг.
![Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv7TTUQbPwD4bUc-aa67zOBh89BucseQOEExpDVluuQeHR4tR93Nlirp-ZdkldpTvY_CT7XERhQl5UjX6RT3M3rWLrGmS95EuOKCd-Gwl8aHde34ZuZe0mNGBt55abyb7oeM4ZumgbEH_1/s400/php.bmp](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)
Windows үйлдлийн системд зориулагдсан сүүлийн хувилбарыг www.php.net хаягаар орон татаж болно.
Php4.0 cуулгах явцад
1. Server type гэдэгт нь apache-г сонгож болно.
Тохиргоо хийх:
1. Php суулгасан хавтас дахь php4ts.dll файлыг C:\Windows\System32 хавтаст хуулна.
2. С:\ директорт php-4.4.0-Win32 хавтас үүсгэнэ.
3. C:\Windows\php.ini файлыг ямар нэг editor дээр нээж
3.1 extension_dir="c:/php-4.4.0-Win32\extensions" мөрийг C:\php-4.4.0-Win32\extensions бичлэгээр солино
3.2 ;extension=php_gd2.dll болон ;extension=php_zip.dll мөрүүдийн өмнөх ;(цэгтэй таслал)-ийг устгана.
![Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv7TTUQbPwD4bUc-aa67zOBh89BucseQOEExpDVluuQeHR4tR93Nlirp-ZdkldpTvY_CT7XERhQl5UjX6RT3M3rWLrGmS95EuOKCd-Gwl8aHde34ZuZe0mNGBt55abyb7oeM4ZumgbEH_1/s400/php.bmp](file:///C:/Users/User/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)
Windows үйлдлийн системд зориулагдсан сүүлийн хувилбарыг www.php.net хаягаар орон татаж болно.
Php4.0 cуулгах явцад
1. Server type гэдэгт нь apache-г сонгож болно.
Тохиргоо хийх:
1. Php суулгасан хавтас дахь php4ts.dll файлыг C:\Windows\System32 хавтаст хуулна.
2. С:\ директорт php-4.4.0-Win32 хавтас үүсгэнэ.
3. C:\Windows\php.ini файлыг ямар нэг editor дээр нээж
3.1 extension_dir="c:/php-4.4.0-Win32\extensions" мөрийг C:\php-4.4.0-Win32\extensions бичлэгээр солино
3.2 ;extension=php_gd2.dll болон ;extension=php_zip.dll мөрүүдийн өмнөх ;(цэгтэй таслал)-ийг устгана.
PHP - нээлттэй эх бүхий өргөн
хэрэглэгддэг ерөнхий зориулалтын скрипт хэл.
Энгийнээр хэлэхэд, PHP, ялангуяа,
вэб-д суурилсан програм (сценари) бичиж вэб сервер дээр ажиллаж байгаа
зориулагдсан программчлалын хэл юм.
PHP нь товчлол юм "Hypertext
процессор (Hypertext Preprocessor)." Syntax C, Java болон Perl дээр татаж
байна. PHP сурах тун энгийн юм. PHP-ийн давуу тал нь хурдан динамикаар
үүсгэгдэх вэб хуудсыг үүсгэхийн тулд вэб дизайнер хангах явдал юм. Байж болох
PHP-ийн давуу тал нь талаар дэлгэрэнгүй сурах энд .
Perl, С хэл шиг хэл нь PHP хэлний
нэг чухал давуу тал нь суулгагдсан тушаалууд нь PHP нь HTML баримт бичиг бий
болгох чадвар юм. Энэ боломжийн талаар илүү ихийг олж мэдэх,-г үзнэ үү энд .
Жишээ нь үйлчлүүлэгч тал дээр
ажиллаж байгаа ямар ч код, PHP нь ялгаж юу, JavaScript, PHP-скриптүүд нь сервер
талд гүйцэтгэж байгаа юм. HTML-файлууд нь PHP-г боловсруулж байгаа болохоор
үйлчлүүлэгчид ч тэд энгийн HTML-файл эсвэл скриптийн гаралтыг авч байгаа
эсэхийг мэдэх, тийм учраас та нар ч гэсэн, таны вэб серверийг тохируулах болно.
PHP Та хоол хүнс, амархан
modifiable, цаашид дэмжлэг авч, цаг хугацаа маш богино хугацаанд өндөр чанартай
вэб-д суурилсан програм үүсгэх боломжийг олгоно.
PHP сурахад хялбар бөгөөд тэр үед
мэргэжлийн програм хэрэгцээг хангах боломжтой юм.
Та PHP-ий тухай сонссон ч, хэлний ч
хэцүү нь танд байж болохгүй сурдаг. Бид хэдхэн цагийн дотор PHP-ийн үндсүүдийг
сурах, та энгийн PHP-скриптийг үүсгэх боломжтой байх болно гэдэгт огтхон ч
эргэлзэхгүй байна.
PHP хэлний байнга сайжирч байна, тэр
нь мэдээж наад зах нь ойрын ирээдүйд хэл вэб -Programming салбарт урт ноёрхлыг
хүрсэн.
Юу
нь PHP болно
PHP-ийн чадвар нь маш их юм. Гол нь
PHP нь скрипт, сервер талд чиглэсэн; тийн, PHP нь бусад хөтөлбөр нь гүйцэтгэж
байгаа бүх гүйцэтгэх боломжтой юм CGI . Жишээ нь, үйл явцын
хэлбэр өгөгдөл нь, динамик хуудас агуулгыг бий илгээх болон хүлээн авах күүки . Харин PHP бусад
олон ажлуудыг хийж чадахгүй байж болох юм.
PHP ашигладаг гурван үндсэн хэсэг нь
байдаг.
- Скриптийг үүсгэх нь сервер талд ажиллуулж байна. PHP нь
ихэвчлэн ийм арга замаар ашиглаж байна. Танд хэрэгтэй мэдээлэл нь юм PHP шинжлэгч (CGI
эсвэл сервер модуль хэлбэрээр), вэб сервер болон хөтөч
юм. Та браузер PHP-скриптүүдийн үр дүнг харж болно Энэ нь та ажлын вэб
сервер суулгаж PHP хэрэгтэй. Дэлгэрэнгүй мэдээлэл хүсвэл, дэд лавлана PHP суулгах .
- Скриптүүдийг үүсгэх дээр ажиллах нь тушаалын мөрөөс
. Та ямар нэгэн сервер эсвэл браузер ч үүнийг ажиллуулахын тулд
PHP-скриптийг үүсгэж болох юм. Танд хэрэгтэй - PHP шинжлэгч .
Скриптүүд нь тогтмол (* NIX тавцангууд эсвэл cron ашиглан, жишээ нь,
гүйцэтгэсэн нь PHP ашиглан Энэ арга нь хамгийн тохиромжтой юм Linux ), эсвэл
тавцангууд дээр ажлын хуваарилагч (Зорилт хуваарилагчийг) ашиглан Windows . Эдгээр
скриптүүд нь энгийн текст боловсруулах ажилд ашиглаж болно. Нэмэлт
мэдээлэл олж болно энд .
- Үйлчлүүлэгч тал дээр ажиллаж байгаа, Програм GUI-г бий
болгох. Магадгүй, PHP нь програмыг бий болгох хамгийн сайн хэл нь биш юм,
харин та нар маш сайн PHP мэдэх бөгөөд таны клиент програмууд нь өөрийн
зарим нэг боломжуудыг ашиглахыг хүсэж байгаа бол, та уг хөтөлбөрийг бичих
PHP-GTK ашиглаж болно. Үүний нэгэн адил, та нар хөндлөн тавцан
програмуудыг үүсгэж болно. PHP-GTK түгээлтийн PHP нь байхгүй байгаа PHP
өргөтгөл юм. Хэрэв та сонирхож байгаа бол, очиж PHP-GTK зориулсан вэб сайт
.
PHP Linux, олон өөрчлөлт (тухайлбал,
HP-UX, Solaris болон OpenBSD гэх мэт) Unix, Microsoft Windows, Mac OS X, RISC
OS болон бусад олон зэрэг ихэнх үйлдлийн системүүдийн хувьд байдаг. (Бүр нь
PHP-ийн хувилбар байдаг OS / 2 нь үл мэдэгдэх боловч аль нь одоогийн нөхцөл
байдалд холбогдох). PHP нь мөн Apache, Microsoft Internet Information Server
Хувийн вэб сервер, Netscape сервер болон iPlanet, Pro сервер Oreilly вэб
хуудас, Caudium, Xitami, OmniHTTPd болон бусад олон хамгийн сүүлийн үеийн вэб
серверүүдийн хувьд дэмжлэг орсон байгаа. PHP сервер дийлэнх нь модулийг нь
хувьд, стандарт CGI дэмжиж бусдад, PHP нь процессор ИЗБ ажиллах болно.
Тиймээс, PHP сонгох та үйлдлийн
систем, вэб сервер сонгох эрх чөлөөтэй байдаг. Түүнээс гадна, та журмын
нэвтрүүлэг, эсвэл объект хандалтат програмчлал, эсвэл тэдгээрийн хослолыг
ашиглах сонголт байна.
PHP нь та HTML гаралт нь
хязгаарлагдмал байна. PHP-ийн чадвар бий гаргах зураг, PDF файл, тэр ч байтугай
кино Flash (ашиглан libswf Мин) багтаасан "Fly дээр." PHP нь мөн
XHTML, бусад нь XML-файл ямар нэгэн текстэн мэдээлэл, хүргэх чадвартай байдаг.
PHP нь эдгээр файлуудыг autogenerate, оронд нь, харилцагч өгч зохион байгуулах,
өөрийн сервер файлын систем нь тэднийг аврахын тул сервер талд кэш нь динамик
агуулга болно.
Нэг чухал давуу тал нь PHP нь өргөн
хүрээний дэмжлэг үзүүлэх юм мэдээллийн сан . Маш энгийн
байдаг, - мэдээллийн санг ашигладаг скриптийг үүсгэнэ. Одоогоор PHP нь дараах
мэдээллийн санг дэмждэг:
Adabas
D
|
Ingres
|
Oracle-г
(OCI7 болон OCI8)
|
dBase
|
InterBase
нь
|
Ovrimos
|
Хатан
|
FrontBase
|
PostgreSQL
|
FilePro
(зөвхөн унших)
|
mSQL
|
Хатуу
|
Hyperwave
|
Шууд
MS-SQL
|
Sybase
|
IBM
DB2
|
MySQL
|
Velocis
|
Informix
|
ODBC
|
Unix-ийн
МУХБ
|
Та DBX ашиглаад ямар ч мэдээллийн
санд ажиллах боломжтой болохоор DBX, хийсвэр түвшинд ажиллах нь PHP нь дэмжлэг
орсон байгаа. Үүнээс гадна, PHP-ODBC (Нээлттэй мэдээллийн сан холболт стандарт)
дэмждэг болохоор та энэ дэлхийн стандартыг дэмждэг бусад мэдээллийн санд
холбогдож болно. PHP мэдээллийн санд ажиллах талаар илүү ихийг олж мэдэх нь энд .
PHP нь болон бусад олон (Windows
тавцангуудад дээр) зэрэг LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM зэрэг
протоколыг ашиглан бусад үйлчилгээ "гэж хэлсэн" дэмждэг. Үүнээс
гадна, та сүлжээний сокетууд хамтран ажиллах боломж олж авах "шууд".
PHP цогцолбор өгөгдөл солилцох WDDX дэмждэг. Өөр өөр хэлээр хоорондоо харилцан
анхаарч, дэмжлэг үзүүлэх байгууламж байдаг Java болон PHP обьектуудад
болгон ашиглах. Нь алсын обьектийг нэвтрэхийн тулд та өргөтгөл Корба ашиглаж
болно.
Тогтмол илэрхийлэл баримт бичиг XML
магадлах нь Extended буюу Perl POSIX нь PHP, маш ашигтай текст боловсруулах
боломжуудтай байдаг. XML стандартыг магадлах нь Сакс болон DOM ашиглаж байна.
XML баримт бичгийг өөрчлөх тулд та өргөтгөл XSLT ашиглаж болно.
Сүүлийн биш, харин хамгийн бага, бид
ийм хайлтын чиг үүрэг зэрэг бусад олон өргөтгөлүүдийг байдаг mnoGoSearch , чиг үүрэг,
IRC Gateway, шахсан файл (gzip, bz2), хуанлийн хөрвөлт, орчуулга, түүнээс дээш
ажиллах чиг үүрэг.
Товчоор хэлбэл, PHP нь танд маш их
санал болгож чадна! Бусад хэл дээр PHP-ийн давуу тал нь талаар дэлгэрэнгүй
мэдээлэл олж болно
PHP-ийн
ашиг тус
хэлний гол хүчин зүйл нь PHP практик юм. PHP
программист хурдан, үр ашигтай зорилгод хүрэхийн тулд арга хэрэгсэл болж өгөх
ёстой. улмаас таван чухал шинж чанар нь PHP-ийн практик шинж чанар:
- traditionalism;
- энгийн;
- үр ашиг;
- аюулгүй байдал;
- уян хатан байдал.
PHP, ялангуяа сэтгэл татам болгодог
өөр нэг "боломж" байдаг: энэ нь үнэ төлбөргүй байдаг! Түүнчлэн,
нээлттэй эх (Open Source).
Traditionalism
PHP хэлний өөр өөр газар нутагт
ажиллаж байгаа програм танил юм шиг санагдаж болно. C, Perl-аас зээлсэн олон
загвар хэл.
PHP код нь C, эсвэл Паскалийн ердийн
хөтөлбөрт байдагтай маш төстэй юм. Энэ нь PHP-ийн судалгааны эхний хүчин
чармайлт бууруулдаг. PHP - Perl, С-ийн давуу талыг хослуулсан, ялангуяа
интернет үйл ажиллагааны зорилго нь хэл, бүх нийтийн хэл (зарим тайлбар нь ч),
тодорхой синтакс.
PHP нь харьцангуй залуу хэл хэдий ч,
энэ үед бараг вэб-д суурилсан програм (хөтөч) бий болгох нь хамгийн түгээмэл
хэл болох вэб програм, дунд зэрэг түгээмэл болсон.
Энгийн
Энэ нь таны бүх програмын онцлогоос
хамаардаг - PHP скрипт нь 10 000 шугам буюу нэг шугамаар бүрдэнэ. Та номын сан
ачаалах гэж зэрэг тусгай эмхэтгэлийн опцион эсвэл юу ч зааж өгөөгүй байна. PHP
хөдөлгүүр нь зүгээр л (эхний тэмдэгт дарааллын дараа кодыг гүйцэтгэж эхлэх
<?) Мөн тэрээр залуу зугтах дарааллыг (? Уулзахдаа мөч хүртэл үргэлжилж
гүйцэтгэлийг>). Код нь зөв синтаксын бол программистаар заасны дагуу, энэ нь
яг л хийгддэг.
PHP - эргээд зөв PHP
-interpretatorom боловсруулсан байх бөгөөд HTML -code хуудсууд руу шууд
агуулагдсан болно гэж хэл. Бид CGI-скриптүүд нь PHP хэрэглэж болох олон таагүй
операторууд текст гаралт салахыг. Бид багц дуудлага гадаад скриптүүдийн
ангижирч өөр HTML-баримт бичиг бий болгох PHP татах болно.
PHP-чиг үүрэг нь олон төрлийн, эсвэл
C Pascal-д, олон-хэрэглэгчийн тодорхойлсон чиг үүргийг бичих нь таныг аврах
болно.
Үр ашиг
Үр ашигтай, олон-хэрэглэгчийн зэрэг
орчин, вэб програмчлалын хувьд маш чухал хүчин зүйл юм.
PHP-ийн хамгийн чухал давуу тал юм "хөдөлгүүр"
. «Хөдөлгүүрийн» PHP ч хөрвүүлэгч ч, тайлбарлагч юм. Тэр дамжуулах тайлбарлагч
юм. Ийм төхөөрөмж нь "хөдөлгүүр" PHP скрипт та хангалттай өндөр
хурдыг зохицуулах боломж олгодог.
Зарим тооцоогоор, PHP-скриптүүдийн
олонхи нь (ялангуяа маш том биш) Perl бичигдсэн бусад нэртэй хөтөлбөр илүү
хурдан боловсруулсан байна. Заримдаа хэдэн зуун удаа хэдэн арван, мөн - Гэсэн
хэдий ч, тэдгээр нь хөгжүүлэгчид нь PHP хийх ёсгүй, эмхэтгэсэн гүйцэтгэгддэг
хурдан alot ажиллуулж болно. Харин PHP гүйцэтгэл нь маш ноцтой вэб-д суурилсан
програм бий болгох нь маш хангалтгүй юм. "Хөдөлгүүр" нь PHP-ийн
бүтэц, шинж чанарын талаар дэлгэрэнгүй мэдээллийг олж болно энд .
Аюулгүй байдал
PHP хөгжүүлэгч өгч, уян хатан, үр
дүнтэй администраторууд аюулгүй байдлыг хангах арга зам
нь хоёр ангилалд хувааж байгаа: Системийн түвшний хэрэгсэл ба хэрэглээний түвшний
арга.
Системийн түвшний аюулгүй байдлыг 1
хэрэгсэл
PHP-д аюулгүй байдлын арга замууд нь
захиргааны хяналтын дор хэрэгжүүлэх; PHP нь зөв тохируулсан үед энэ үйл
ажиллагаа, аюулгүй байдал хамгийн их эрх чөлөөг олгодог. PHP нь чухал шалгуур
үзүүлэлт нь хэд хэдэн PHP хэрэглэгчид ашиглах боломжийг хязгаарладаг гэж
нэрлэгдэх аюулгүй горим (аюулгүй горим)-д ажиллах боломжтой. Жишээ нь, та
хамгийн их гүйцэтгэлийн цаг хугацаа болон санах ой ашиглалтыг (хяналтгүй санах
ойн хэрэглээ сөрөг серверийн гүйцэтгэлд нөлөөлдөг) хязгаарлаж болох юм.
Сангуудад нь тохируулах хязгаарлалт нь хэрэглэгч харж, PHP скрипт гүйцэтгэх,
болон (жишээ нь, файл passwd) нь сервер дээр нууц мэдээллийг нь PHP скрипт
хэрэглэх боломжтой болно CGI хогийн сав администратораас эхэлж түүнтэй төсөөтэй
байна.
2-р арга хэрэгсэл хэрэглээний
түвшний аюулгүй байдлын
PHP стандарт онцлог багц найдвартай
шифрлэлтийн механизм нь хэд хэдэн байна. PHP нь амархан аюулгүй цахим
худалдааны технологи (э-худалдаа) нэгтгэсэн болно гэж бие даасан аж ахуйн нэгжийн
олон програмууд нь нийцтэй. Өөр нэг давуу тал нь скрипт эмхэтгэгдсэн байдаг,
учир нь энэ нь хэрэглэгчийн хүсэлтийг илгээсэн өмнө PHP скрипт код браузер харж
чадахгүй байгаа юм. Сервер талд PHP хэрэгжилт наад зах нь харах Эх сурвалж
гүйцэтгэж байгаа мэдлэг нь бус жижиг сажиг хувилбараар, хэрэглэгчид нь
хулгайлах сэргийлэх.
PHP Аюулгүй байдлын талаар
дэлгэрэнгүй мэдээлэл олж болно энд
Уян хатан байдал
PHP (суулгагдсан) хэлийг суулгагдсан
байгаа учраас энэ нь боловсруулагч хэрэгцээнд холбоотой маш уян хатан байдаг.
PHP нь ихэвчлэн HTML хамт хэрэглэх нь зүйтэй хэдий ч, энэ нь сайн JavaScript,
WML, XML, бусад хэл дээр нэгдсэн байж болох юм. Үүнээс гадна, сайн зохион
байгуулалттай програмууд нь PHP амархан (гэхдээ энэ нь томоохон бүх
програмчлалын хэл хамаарна) шаардлагатай өргөжүүлж болно.
Бүрэн сервер талд дээр
хөрвүүлэгдсэн, PHP скрипт явуулахаасаа өмнө харилцагч байдлаар браузер дээр
хамааруулан ямар ч асуудал юм. Үнэн хэрэгтээ, PHP скрипт нь үүрэн утас,
электрон дэвтэр, пейжер, зөөврийн компьютер, уламжлалт PC дурдах байх нь дотор
нь ямар ч хөтөч дээр суурилсан төхөөрөмж шилжүүлсэн болно. Туслах хэрэгслүүд
оролцож програмчид нь PHP ажиллуулж болно тушаалын мөрийн горимд .
PHP нь тухайн вэб сервер дээр
тулгуурлан ямар нэг код, агуулдаггүй болохоор хэрэглэгчид тодорхой сервер
(тэдэнд магадгүй тодорхойгүй) хязгаарлагдаж байна. Apache, IIS нь Microsoft,
Netscape Enterprise Server, бэхлэлт болон Zeus - PHP сервер бүхий л ажилладаг.
Эдгээр серверүүд өөр платформ дээр ажиллаж байгаа учраас бүхэлд нь PHP нь
платформ хамааралгүй хэл, болон UNIX-ийн, Solaris, FreeBSD, болон Windows 95/98
/ NT / 2000 / XP / 2003 зэрэг платформ дээр байдаг.
Эцэст нь хэлэхэд, PHP хэрэгсэл
программист зэрэг аж ахуйн нэгж нь Java шош, эсвэл COM Win32 обьект гадны
бүрэлдэхүүн, ажиллах боломжийг олгодог. PHP-ийн эдгээр шинэ боломжуудын нь
орчин үеийн техник технологи дунд түүний хууль ёсны явагддаг, шаардлагатай
хязгаарын төсөл өргөжүүлэх болно.
Чөлөөт түгээлт
- Стратеги Нээлттэй Эх болон массын
эх кодын хуваарилалт, эхний ээлжинд төсөл олон талаар нь эргэлзээгүй ашигтай
нөлөө байсан Linux төслийн амжилт хэдий
ч, Apache програм нь маш
Нээлттэй Эх сурвалж дэмжигчдийн байр суурийг улам бататгасан. дэлхий даяарх
хэрэглэгчдэд дэмжлэг үзүүлэх төсөл нь PHP-ийн хөгжилд маш чухал хүчин зүйл болж
хувирсан адил, PHP түүхэнд хамаатай юм.
Нээлттэй Эх стратеги батлах, PHP-ийн
эх код үнэ төлбөргүй түгээх хэрэглэгчдэд үнэлж баршгүй үйлчилгээ үзүүлдэг.
Үүнээс гадна, хэрэглэгчид PHP-ийн эрчимтэй олон нийтийн "хамтын
хэрэглэгчийн дэмжлэг" гэсэн сайхан сэтгэлтэй, мөн алдартай цахим хурал
хариултыг ч хамгийн төвөгтэй асуудал нь олж болно.
PHP нь хамгийн түгээмэл хэл вэб
хөгжлийн нэг нь болж, өнгөрсөн хэдэн жилийн хугацаанд урт замыг туулсан байна.
PHP хуучин бүтээгдэхүүн, нэртэй PHP
/ FI залгамжлав. Дагах нь түүний үргэлжлүүлэлт хандалт нь PHP / FI анх
Perl-скриптүүдийн багц болгон 1995 онд Rasmus Lerdorf бүтээсэн байна. Вэб
хөгжүүлэх нь зөвхөн эдгээр асуудлыг шийдвэрлэх ямар ч тусгай хэрэгсэл биш
байсан юм, эхэлсэн ба асуултууд мессежийн үер зохиогч юм. (Хувийн гэрийн
хуудасны «хэрэгсэл") - Lerdorf «Хувийн нүүр хуудастай хэрэгсэл» (PHP) гэж
нэрлэдэг тэдний багаж хэрэгсэл, хол өгч эхэлсэн байна. Маш хурдан, илүү их
ажиллагаа шаарддаг байсан Rasmus мэдээллийн сан хамтран ажиллаж, C нь илүү
өргөн хүрээтэй хувилбарыг бичсэн, энгийн вэб програм хөгжүүлэх боломжийг
хэрэглэгчдэд олгосон. Rasmus Lerdorf олон нийтийн, алдааны залруулга болон
гадна нь PHP / FI-ийн эх кодыг илгээх шийдсэн юм. PHP / FI (Хувийн Нүүр хуудас
/ Маягт орчуулагч - Хувийн Нүүр хуудас / Маягт орчуулагч) өнөөдрийн PHP үндсэн
функцуудыг багтсан байна. Тэр Perl стилийн хувьсагчуудыг байсан, хэлбэр, чадвар
автомат тайлбар HTML код суулгасан байх ёстой. синтакс нь илүү хялбар, илүү
хязгаарлагдмал боловч, Perl хийх нь маш их байсан юм. 1997 оны байдлаар, PHP /
FI 2.0. Интернет дээр домэйн 1% төлөөлж 50,000 домэйн, дэлхий даяар хүмүүсийн
хэдэн мянган хэрэглэгчид С-тахин шүтэх хоёр дахь хувилбар. Хөгжлийн хэд хэдэн
хүн, PHP байсан хэдий ч / СЗ нь 2.0 л нэг хүн нэг томоохон төсөл байсан юм.
Албан ёсоор бол, PHP / FI 2.0 бета хувилбаруудын хувьд түүний амьдралын хамгийн
өнгөрөөсний дараа, 1997 оны арваннэгдvгээр сарын гарсан. Энэ нь PHP 3.0 альфа
хувилбар солигдсон дараахан.
PHP3 PHP 3.0 бид өнөөдөр үүнийг мэдэх нягт, PHP төстэй анхны
хувилбар нь байсан юм. 1997 онд Анди Gutmans (Анди Gutmans) болон Zeev Suraski
(Zeev Suraski) дахин бичсэн хувилбар нь, тэд их сургуулийн төслийн дээр ажиллаж
байсан нь цахим худалдааны програм хөгжүүлэх маш их underpowered PHP / FI 2.0
олж дараа. Суурь хөгжүүлэгчид нь PHP ашиглан PHP 3.0 хамтран ажиллах / СЗ нь
2.0, Анди, Rasmus болон Zeev албан ёсны залгамжлагч PHP / FI гэж PHP 3.0
хамтран ажиллах, зарлах шийдсэн нь PHP хөгжүүлэх / СЗ нь бараг бүрэн зогссон
байна. PHP 3.0 давуу талуудын нэг нь хүчтэй суналтын онцлог байсан юм. PHP
Дараа нь интерфэйс бичих өргөтгөл API нь олон тооны дэмжих, янз бүрийн
мэдээллийн сан, протоколууд нь маш их PHP ажиллах боломжийг нээж өгсөн нь
модулиудын дээр ажиллаж хөгжүүлэгчид нь хэдэн арван татсан. Үнэн хэрэгтээ энэ
нь амжилтын гол түлхүүр юм, гэхдээ энэ нь чухал алхам дэмжлэгтэйгээр шинэ, илүү
хүчтэй, бүрэн синтаксын хөгжил байсан гэдгийг нэмж шаардлагатай PLO . бүх шинэ
програмчлалын хэл нь шинэ нэр юм. хөгжүүлэгчид товчилсон, PHP / FI гэж
хязгаарлагдмал хувийн хэрэглээ нөлөөтэй арилгасан. 'PHP: Hypertext Preprocessor
"(PHP: Hypertext Preprocessor) нь товчлол нь рекурсив хураангуй - Энэ нь
энгийн' PHP нь" нэртэй байсан. PHP-ий тухай анхны нийтлэл "ComputerWorld"
1998 оны хавар, хамрагдсан PHP 3.0 Чех хувилбар хэвлэгдэн гарсан байна. Ном нь
тохиолдол байдаг тул энэ нь тусгай зориулалтын PHP нь янз бүрийн нийтлэл
цувралын анхны болон янз бүрийн алдартай сэтгүүлүүдэд хэвлэгдсэн байсан юм.
1998 оны эцэс гэхэд, PHP хэдэн арван мянган хэрэглэгч ашигладаг. Вэб сайтын
мянга мянган зуун тэд хэл хамтран ажилладаг гэжээ. PHP 3.0 10% нь Интернэт
сервер тухай байгуулагдсан боловч! PHP 3.0 албан ёсоор олон нийтэд туршилт 9
сарын дараа 1998 оны зургадугаар сард гарсан юм.
PHP4
1998 оны өвөл гэхэд удахгүй PHP
3.0-ийн албан ёсны хувилбар гарсны дараа, Анди Gutmans болон Zeev Suraski
боловсруулах үндсэн PHP эхэлсэн юм. зорилтууд нь нарийн төвөгтэй програмын
гүйцэтгэлийг сайжруулах, суурь код нь PHP-ийн модулар сайжруулах байв.
Өргөжүүлэх амжилттай мэдээллийн сан нь багц хамтран ажиллах, өөр өөр API болон
протокол нь олон тооны дэмжих PHP 3.0 өгсөн боловч PHP 3.0-үр ашигтай эдгээр
програмуудыг авч ажиллах зорилготой байсан юм.
гэж нэрлэгдэх шинэ хөдөлгүүр,
"Zend Engine" ( www.zend.com ) (Анхны нэр:
Zeev болон Анди), амжилттай үүрэг даалгавар дөнгөсөн бөгөөд анх 1999 оны
дундуур нэвтрүүлсэн. Энэ хөдөлгүүр дээр тулгуурлан PHP 4.0, болон нэмэлт
боломжуудын олонлог бүхий албан ёсоор бараг хоёр жилийн өмнөх, PHP 3.0 дараа,
2000 оны тавдугаар сард гарсан юм. Ажиллагааг сайжруулах гадна, PHP 4.0 зэрэг
дэмжлэг сессүүд, гаралт нь зайлсхийх, хэрэглэгчийн хувь нэмэр оруулах хэд хэдэн
шинэ хэлний бүтцэд харьцах илүү найдвартай арга зам зэрэг хэд хэдэн түлхүүр
боломжуудтай байдаг.
Өнөөдөр, PHP хөгжүүлэгч хэдэн зуун
мянган ашиглаж байна. Сая сая (!) Сайтууд PHP нь тайлагнана. Эдгээр нь, АНУ-ын
хамгийн алдартай нь PHP вэб програмчлалын хэлээр нэг юм гэдгийг хэлэх нь
зөвшөөрдөг бусад олон баримт!
PHP хөгжлийн баг нь цөмийн өргөтгөл,
PHP, болон лийрийн зэрэг холбогдох төсөл, хэлний баримт бичиг дээр ажиллаж
байгаа олон хүний бүрэлдэхүүнтэй байна.
Php5 Саяхан, PHP-ийн шинэ, тав дахь хувилбар ( php5 ). Zend Engine 2 - php5 "хөдөлгүүр»
Zend-ийн шинэ хувилбарыг ашигладаг.
Php5 онд объект загвар нь ихээхэн
өөрчилсөн байна. Энэ нь php5 хийх шинэ боломжуудын их С ++ болон Java мэт
объект хандлагат хэл зарим онцлогийг авсан нь нэмэгдсэн байна.
Өөрчлөлт нь PHP нэгдсэн стандарт
онцлог нь муугаар нөлөөлсөн байна. Зарим тооцоогоор php5 стандарт онцлог хурд
нь 40% буюу түүнээс дээш өсчээ.
Шинэ удирдамж тохиргооны файл байдаг
php.ini .Preterpela
өөрчлөлт, утас дэмжлэг. Шинэ онцлог график номын сангийн GD, түүнчлэн нэмэгдсэн
байна.
Php5 нь XML хувилбар дэмжих шинэ
өргөтгөл дом, XML дэмжлэг нь бүрэн байсан.
Php5 талаар дэлгэрэнгүй мэдээллийг
олж болно
PHP
нь хувьсагчийн ерөнхий ойлголт
Бусад програмчлалын хэл болгон, PHP
нь хувьсагч зэрэг зүйл байдаг.
PHP-д програмчлалын үед та шинэ
хувьсагч зарласан дээр skimp чадахгүй. Зарчим нь хэдэн жилийн өмнө холбогдох
байсан санах ой, одоо харгалзан биш юм хадгал. Санах ой их хэмжээний хувьсагчид
хадгалж Гэхдээ энэ нь оператор ашиглан ашиглагдаагүй хувьсагч устгах нь илүү
дээр юм буцааж .
Ер нь, хувьсах - Энэ нэрээр хандах
нь санах ойн талбай юм. (- Бусад бүх өгөгдөл, програм хувьсагчид хадгалж утгын
хамтран ажилладаг нь тогтмол , гэхдээ
зөвхөн олон тооны, эсвэл мөр агуулсан болно). PHP нь заагч гэх мэт ямар ч зүйл
(С гэх мэт) байхгүй бол - даалгасан хувьсагч нь үл хамааран энэ нь аль нь ч
байсан ямар нарийн төвөгтэй бүтэц нь, нэг нь-нэг нь хуулж байгаа бол. Гэсэн
хэдий ч, PHP-д, хувилбар 4 эхлээд ойлголт байдаг холбоос нь хатуу ба
бэлгэдэл -.
PHP бүх хувьсагчийн нэр $
эхлэх хэрэгтэй - тайлбарлагч "гэж ойлгох" болон эгнээ, жишээ нь,
тэднийг ялгахад их амархан байдаг юм. Хувьсах Нэрүүд нь мэдрэмтгий байдаг,
жишээ нь: $ VAR - үгүй биш $ Var буюу $ VAR адил зүйл бол:
албан ёсны бичиг баримт нь PHP нь
хувьсагч нэр ч ямар нэг тэмдэгтийг, зөвхөн "латин" үсэг болон тоо
тогтож чадахгүй гэж заасан, ASCII код нь 127 гаруй нь, - ялангуяа болон кирилл
тэмдэгт, өөрөөр хэлбэл, "ОХУ-ын" захидал! Наад зах нь өөр кодлох
систем түүний захидал өөр өөр кодтой байгаатай холбоотой - Гэсэн хэдий ч,
хувьсагчийн нэр нь кирилл үсгийг ашиглах нь зүйтэй юм. Гэсэн хэдий ч,
poeksperementiruyte та тохирох харж байна.
Шууд утгаар нь ямар ч агуулж болно
тусгай объект - Бид PHP-д хувьсагч гэж хэлж болно.
Энд PHP нь хувьсагчуудын зарим нэг
жишээг дурьдвал:
<?php
$var = "Bob" ;
$Var = "Joe" ;
echo "$var, $Var" ; // выведет "Bob, Joe"
$ 4site = 'not yet' ; // неверно; начинается с цифры
$_4site = 'not yet' ; // верно; начинается с символа подчеркивания
$tдyte = 'mansikka' ; // верно; 'д' это (Дополнительный) ASCII 228.
?>
$var = "Bob" ;
$Var = "Joe" ;
echo "$var, $Var" ; // выведет "Bob, Joe"
$ 4site = 'not yet' ; // неверно; начинается с цифры
$_4site = 'not yet' ; // верно; начинается с символа подчеркивания
$tдyte = 'mansikka' ; // верно; 'д' это (Дополнительный) ASCII 228.
?>
PHP PHP-д ч тодорхой хувьсагчийг
тодорхойлох ч тэдний заах шаардлагагүй гэсэн онцлог давуу тал нь юм төрөл . Орчуулагч өөрөө
л болгож байна. Гэсэн хэдий ч, заримдаа энэ нь (текст нь үнэндээ аравтын өгсөн
бол жишээ нь,), тиймээс заримдаа тодорхой нэг ижил эсвэл өөр илэрхийлэл бүхий
төрөл зааж өгөх шаардлагатай байдаг нь буруу байж болох юм. Хөтөлбөрийг
хэрэгжүүлэх явцад (функцийн параметрийн жишээлбэл), хувьсагчийн төрлийг мэдэх
шаардлагатай байгаа юм нь арай илүү.
Ямар үед нь tepr харагдах өгөгдлийн төрөл PHP ойлгодог.
Ямар үед нь tepr харагдах өгөгдлийн төрөл PHP ойлгодог.
Өгөгдлийн
төрөл (хувьсагчууд) PHP-д
PHP найман командын өгөгдлийн
төрлүүдийг (хувьсагчууд) дэмждэг:
Дөрвөн скаляр төрөл :
- нөхцөл шалгах (хоёртын мэдээлэл)
- бүхэл тоо (бүхэл тоо)
- хөвдөг (хөвөгч цэг тоо, эсвэл " Дабл ")
- мөр (мөр)
Хоёр холимог төрөл
:
Мөн хоёр тусгай төрөл :
Хэд хэдэн байна pseudotypes
:
Бидэнд товчхон дурдсан өгөгдлийн
төрлүүд PHP үзье.
Энэ нь хамгийн энгийн хэлбэр юм. Тэр
үнэн үнэ цэнийг илэрхийлж байна - энэ нь үнэн, эсхүл хуурамч байж болно.
Булийн төрөл PHP 4-д танилцуулсан юм.
Нь шалгах, шууд ашиглах аль нэг үнэн
эсвэл худал гэсэн түлхүүр үгийг зааж хэрэгтэй. Аль аль тохиолдолд
том жижиг үсгүүд байна.
<?php
$x = True ; // присвоить $x значение TRUE
?>
$x = True ; // присвоить $x значение TRUE
?>
Ерөнхийдөө, та ашиглаж мэдэгдэл нь Булийн утга
буцаадаг, дараа нь энэ талаар өнгөрөх хяналтын бүтэц .
<?php
// == это оператор, который проверяет
// эквивалентность и возвращает булево значение
if ( $action == "показать_версию" ) {
echo "Версия 1.23" ;
}
// это не обязательно...
if ( $show_separators == TRUE ) {
echo "<hr>\n" ;
}
// ...потому что вы можете просто написать
if ( $show_separators ) {
echo "<hr>\n" ;
}
?>
// == это оператор, который проверяет
// эквивалентность и возвращает булево значение
if ( $action == "показать_версию" ) {
echo "Версия 1.23" ;
}
// это не обязательно...
if ( $show_separators == TRUE ) {
echo "<hr>\n" ;
}
// ...потому что вы можете просто написать
if ( $show_separators ) {
echo "<hr>\n" ;
}
?>
Бүүлийн өгөгдлийн төрлийн талаар
илүү дэлгэрэнгүй мэдээллийг үзнэ үү энд .
Z-ийн олон ургальч нь бүхэл тоо
байна = {... -2, -1, 0, 1, 2, ...}, ихэвчлэн урт 32 бит (-2 147 483 648
2,147,483,647) байна.
(- Эсвэл +) бүхэл аравтын, арван
зургаатаар, эсвэл найман бичлэгээр-д заасан болно сонголтоороо тэмдгийн өмнө.
Хэрэв та найман тэмдэглэгээг ашиглаж
байгаа бол, та тоо нь 0 (тэг) өмнө байх ёстой арван зургаатын
тэмдэглэгээ 0x нь тоог өмнө хэрэглэх.
<?php
$a = 1234 ; // десятичное число
$a = - 123 ; // отрицательное число
$a = 0123 ; // восьмеричное число (эквивалентно 83 в десятичной системе)
$a = 0x1A ; // шестнадцатеричное число (эквивалентно 26 в десятичной системе)
?>
$a = 1234 ; // десятичное число
$a = - 123 ; // отрицательное число
$a = 0123 ; // восьмеричное число (эквивалентно 83 в десятичной системе)
$a = 0x1A ; // шестнадцатеричное число (эквивалентно 26 в десятичной системе)
?>
Өгөгдлийн төрлийн талаар дэлгэрэнгүй
мэдээллийг бүхэл тоо -г үзнэ үү энд .
Давхар - бодит тоо нь нэлээд өндөр нарийвчлал (энэ нь математик
тооцоо дийлэнх нь хангалттай байх ёстой) байна.
Хөвөгч цэг тоо (тэд хоёр нарийн тоо,
эсвэл бодит тоо юм) нь дараах синтаксаар ямар ч ашиглан зааж өгч болно:
<?php
$a = 1.234 ;
$b = 1.2e3 ;
$c = 7E-10 ;
?>
$a = 1.234 ;
$b = 1.2e3 ;
$c = 7E-10 ;
?>
Өгөгдлийн төрлийн талаар дэлгэрэнгүй
мэдээллийг ° в ° гч -г үзнэ үү энд .
PHP-д мөр - ямар нэгэн урт
тэмдэгтийн олонлог юм. С-аас ялгарах нь, мөр хөтөлбөрийг ямар ч нөлөө
үзүүлэхгүй бөгөөд, түүнчлэн тэг тэмдэгтүүдийг агуулсан байж болно. Өөрөөр
хэлбэл, мөрүүд нь хоёртын өгөгдлийг хадгалахад ашиглаж болох юм. мөр урт нь
зөвхөн RAM эрх чөлөөний хэмжээ нь хязгаарлагдмал байна.
мөр амархан стандарт функцуудыг
ашиглан боловсруулсан болно, чи бас түүний зан чанар ямар ч шууд очиж болно.
Мөр хувьсагчийн нэгэн жишээ:
<?
$ a = "Это просто текст, записанный в строковую переменную" ;
echo $ a ; //Выводит 'Это просто текст, записанный в строковую переменную'
?>
$ a = "Это просто текст, записанный в строковую переменную" ;
echo $ a ; //Выводит 'Это просто текст, записанный в строковую переменную'
?>
Өгөгдлийн төрлийн талаар дэлгэрэнгүй
мэдээллийг мөр -г үзнэ үү энд .
PHP-д массив - өгөгдлийн захиалсан
багц, үнэ цэнэ, түлхүүр хоорондын харилцааг гаргав байна.
Индекс (түлхүүр) хосгүй массив дахь
элементийг тодорхойлоход хэрэглэгддэг. Нэг нь массив дахь ижил индекс хоёр
элемент байх болно.
PHP Хэрэв та ямар ч төвөгтэй
дараалуулан үүсгэх боломжийг олгоно. Зарим жишээг авч үзье:
Энгийн массив
(жагсаалт)
Массивууд, индексүүд эхнээс нь эхлэн
тоо - энэ жагсаалтууд:
<? php
// Простой способ инициализации массива
$ names [ 0 ]= "Апельсин" ;
$ names [ 1 ]= "Банан" ;
$ name s[ 2 ]= "Груша" ;
$ names [ 3 ]= "Помидор" ;
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
?>
// Простой способ инициализации массива
$ names [ 0 ]= "Апельсин" ;
$ names [ 1 ]= "Банан" ;
$ name s[ 2 ]= "Груша" ;
$ names [ 3 ]= "Помидор" ;
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
?>
Ассоциатив массив
PHP-д массив индекс тоо ч мөр нь
зөвхөн байж болох юм. Мөн шугам дээр ямар нэгэн хязгаарлалт: Энэ зай, тусгай
тэмдэгтүүдийг агуулсан байж болно, ямар ч урттай байж.
Нь индексүүдийн мөр ассоциатив
массивууд гэж нэрлэдэг массивуудыг. Ассоциатив массивт индекс түлхүүрүүд гэж
нэрлэдэг. Нь ассоциатив массивын нэгэн жишээ:
<? php
// Ассоциативный массив
$ names [ "Иванов" ]= "Иван" ;
$ names [ "Сидоров" ]= "Николай" ;
$ name s[ "Петров" ]= "Петр" ;
// В данном примере: фамилии - ключи ассоциативного массива
// , а имена - элементы массива
?>
// Ассоциативный массив
$ names [ "Иванов" ]= "Иван" ;
$ names [ "Сидоров" ]= "Николай" ;
$ name s[ "Петров" ]= "Петр" ;
// В данном примере: фамилии - ключи ассоциативного массива
// , а имена - элементы массива
?>
Олон талт массивуудыг
PHP-д массивууд үүсгэхийн тулд
тусгай заавар байдаг массив () . Энэ нь
өгөх нь тохиромжтой юм олон талт массив .
Энд тодорхой жишээ байна:
<? php
// Многомерный массив
$ A [ "Ivanov" ] = array ( "name" => "Иванов И.И." , "age" => "25" , "email" => " ivanov@mail.ru " );
$ A [ "Petrov" ] = array ( "name" => "Петров П.П." , "age" => "34" , "email" => " petrov@mail.ru " );
$ A [ "Sidorov" ] = array ( "name" => "Сидоров С.С." , "age" => "47" , "email" => " sidorov@mail.ru " );
?>
// Многомерный массив
$ A [ "Ivanov" ] = array ( "name" => "Иванов И.И." , "age" => "25" , "email" => " ivanov@mail.ru " );
$ A [ "Petrov" ] = array ( "name" => "Петров П.П." , "age" => "34" , "email" => " petrov@mail.ru " );
$ A [ "Sidorov" ] = array ( "name" => "Сидоров С.С." , "age" => "47" , "email" => " sidorov@mail.ru " );
?>
Олон талт массив В-д Паскалийн
бүртгэл, эсвэл бүтэц ижил байна
Массивт, та мэдэж чадна массив нь
үйл ажиллагааны талаар дэлгэрэнгүй мэдээлэл энд
Объектын төрөл (объект)
объект объект хандалтат
програмчлалын үндсэн үзэл баримтлалын нэг юм. харин дөрвөлжин хаалтанд нь>
оператор - объектын дотоод бүтэц ашиглаж бие даасан элемент, чиг үүрэг
гэж хандах бусад нь буюу үл буцах хэш төстэй юм.
Обьект нь хувьсах Жишээ нь,
объект, шинэ илэрхийлэл эхлүүлэх хэрэгтэй.
<?php
class foo
{
function do_foo ()
{
echo "Doing foo." ;
}
}
$bar = new foo ;
$bar -> do_foo ();
?>
class foo
{
function do_foo ()
{
echo "Doing foo." ;
}
}
$bar = new foo ;
$bar -> do_foo ();
?>
Хэсэгт хийсэн объектын дэлгэрэнгүй
шинжилгээ PHP болон хувь хүний төлбөрийн
хэмжээ
Нөөцийн - тусгай хувьсагч, гадаад
нөөц нь иш барьж. Нөөц бий болгож, тусгай үйл ажиллагаанд ашиглаж байна. Эдгээр
үйл ажиллагаа болон холбогдох нөөцийн төрлийн бүрэн жагсаалтыг харж энд .
. тусгай NULL утга хувьсагч
нь ямар ч үнэ цэнэ нь NULL байна гэж харуулж байна - энэ төрлийн тэг
(хоосон төрөл) зөвхөн боломжит утга юм.
А хувьсагч бол NULL байна:
- Энэ нь тогтмол NULL өгсөн байна;
- Энэ нь утга оноосон байгаагүй байх;
- Энэ нь устгагдсан байна суллахдаа () .
<?php
$var = NULL ;
?>
$var = NULL ;
?>
Мөн үзнэ үү is_null () болон суллахдаа () .
Pseudotype холимог (холимог)
холимог параметр нь олон (гэхдээ заавал бүх) төрлийн авах боломжтой
гэдгийг харуулж байна.
GetType () байхад,
жишээ нь, PHP-ийн бүх төрлийн хүлээн авч str_replace () мөр
болон массивууд хүлээн авах болно.
Гэх мэт зарим функцийг call_user_func () ,
эсвэл usort () нь
хэрэглэгчийн тодорхойлсон Гэдрэг-функцийн нэг параметр гэж хүлээн авдаг. Гэдрэг
функц нь зөвхөн энгийн үйл ажиллагаа ч арга байж болохгүй обьектуудын статик арга зэрэг анги .
PHP-функц нь түүний нэр нь мөр
болгон баталсан байна. Та бусад ямар ч цуг бүтээгдсэн эсвэл хэрэглэгчийн
тодорхойлсон чиг дамжуулж болно массив () , цуурай () , хоосон () , eval () , Гарах () , isset () , жагсаалт () , Хэвлэх () ба ) (суллахдаа .
Бид Гэдрэг чиг жишээг өгч
байна:
<?php
// простой пример callback
function my_callback_function () {
echo 'hello world!' ;
}
call_user_func ( 'my_callback_function' );
// примеры callback-метода
class MyClass {
function myCallbackMethod () {
echo 'Hello World!' ;
}
}
// вызов метода статического класса без создания объекта
call_user_func (array( 'MyClass' , 'myCallbackMethod' ));
// вызов метода объекта
$obj = new MyClass ();
call_user_func (array(& $obj , 'myCallbackMethod' ));
?>
// простой пример callback
function my_callback_function () {
echo 'hello world!' ;
}
call_user_func ( 'my_callback_function' );
// примеры callback-метода
class MyClass {
function myCallbackMethod () {
echo 'Hello World!' ;
}
}
// вызов метода статического класса без создания объекта
call_user_func (array( 'MyClass' , 'myCallbackMethod' ));
// вызов метода объекта
$obj = new MyClass ();
call_user_func (array(& $obj , 'myCallbackMethod' ));
?>
Бид харин өнгөц өгөгдлийн төрлүүд нь
PHP гэж үзэж байна. Энэ асуудлыг илүү дэлгэрэнгүй хэлэлцүүлгийг хэсгээс үзнэ үү
"Мэдээллийн төрөл PHP" .
PHP-д
тогтмол
Хувьсагчууд нь хөтөлбөрийн явцад
өөрчилж чадахгүй байна гэсэн ямар нэгэн тодорхой утгын байнгын хадгалалтад
ашиглах нь их эвгүй байдаг тохиолдол байдаг. Эдгээр утгууд нь гэх мэт математикийн
тогтмолууд, файлын зам, нууц үг нь олон янзын байж болно Зүгээр л энэ зорилгоор
PHP гэж ийм загварыг олгодог тогтмол .
Тогтмол хөтөлбөр
(скрипт) хэрэгжүүлэх явцад өөрчилж болохгүй вэ гэсэн нэртэй утга байна.
Ялгаатай нь хувьсагчуудын , та зарласан
үед тэдэнд оноосон байна гэсэн тогтмолд утгыг өөрчилж чадахгүй. Тогтмол ажиллах
үед өөрчилж болохгүй гэсэн утгыг хадгалах хэрэгтэй байдаг. Тогтмолууд нь зөвхөн
скаляр өгөгдөл (агуулж болно логик , бүхэл тоо , ° в ° гч болон мөр төрлийн).
Функцээр тодорхойлогдоно PHP
тогтмолд нь тодорхойлох () . Энэ
функц нь дараах форматтай байна:
define
( $name , $value , $case_sen ), где:
$name - имя константы;
$value - значение константы;
$case_sen - необязательный параметр логического типа,
указывающий, следует ли учитывать регистр букв (true) или нет (false).
$name - имя константы;
$value - значение константы;
$case_sen - необязательный параметр логического типа,
указывающий, следует ли учитывать регистр букв (true) или нет (false).
Тодорхойлох, PHP нь тогтмолыг
ашиглан нэгэн жишээ:
<? php
define ( "pi" , 3.14 , true );
echo pi ;
// Выводит 3.14
?>
define ( "pi" , 3.14 , true );
echo pi ;
// Выводит 3.14
?>
Параметр нь $ case_sen үнэн
бол тогтмол ажиллаж байхдаа, хэлмэрч эмзэг тохиолдол байж болно. Тогтмол
$ тэмдэг өмнө авдаггүй байсан гэдгийг анхаарна уу.
Тогтмолд болон хувьсагчийн хоорондын
ялгаа:
- Тогтмол долларын тэмдэг ($) байх нь үгүй;
- Тогтмолууд нь зөвхөн ашиглан тодорхойлж болно ) (тодорхойлох бол
зүгээр нэг хослол;
- Тогтмолыг тодорхойлж, хувьсах онооны харгалзахгүйгээр
хаанаас ч хандаж болно;
- Тогтмол дахин тодорхойлж, эсвэл нэг удаа тодорхойлоогүй
байж болно; болон
- Тогтмолууд нь зөвхөн скаляр утгуудыг үнэлж болно.
Тогтмолд байгааг шалгана
Хэрэв та ашиглаж болно тогтмолд
оршин шалгахын тулд тодорхойлсон () .
Тогтмол зарласан бол Энэ функц нь үнэн буцаана. Энд жишээ байна:
<? php
// Объявляем константу pi
define ( "pi" , 3.14 , true );
if ( defined ( "pi" )== true ) echo "Константа pi объявлена!" ;
// Скрипт выведет 'Константа pi объявлена!'
?>
// Объявляем константу pi
define ( "pi" , 3.14 , true );
if ( defined ( "pi" )== true ) echo "Константа pi объявлена!" ;
// Скрипт выведет 'Константа pi объявлена!'
?>
Урьдчилан тодорхойлсон
нь PHP тогтмолууд
PHP, дараах урьдчилан тодорхойлсон
тогтмол байна:
PHP ямар нэгэн скрипт уруу нь
урьдчилан тогтмолд тооны олгодог. Эдгээр тогтмолд олон төрөл бүрийн модулиуд
тодорхойлсон бөгөөд эдгээр модулиуд нь динамик ачаалал болон статик чуулганы үр
дүнд байдаг л байх болно.
Тэд хэрэглэж буй нөхцөл байдлаас
шалтгаалан тэдгээрийн утгыг өөрчилж таван урьдчилан тодорхойлсон тогтмол
байдаг. Жишээ нь, тогтмол энэ тогтмолыг агуулсан скрипт дахь __LINE__
мөрийг хамаарна. Тусгай тогтмол тохиолдол том жижиг үсгүүд нь дараах байдлаар
байна:
Нэр
|
Тодорхойлолт
|
__LINE__
|
файл
дотор одоогийн шугам.
|
__FILE__
|
бүрэн
зам, файлын файлын нэр.
|
__FUNCTION__
|
функц
нь нэр. (PHP 4.3.0-д нэмэгдсэн.)
|
__CLASS__
|
Ангийн
нэр. (PHP 4.3.0-д нэмэгдсэн.)
|
__METHOD__
|
Ангийн
аргын нэр. (PHP 5.0.0-д нэмэгдсэн)
|
PHP-д
Илэрхийллүүд
Илэрхийллүүд
- PHP тулгын чулуу юм. Бараг бүх Та PHP-гээ бичиж ямар нэгэн
илэрхийлэл юм. Илэрхийллүүд нь PHP-хөтөлбөрийг гаргах нь "барилгын тоосго
нь" юм. PHP үзэл бодлоо илэрхийлэх асуудал гэсэн үг. Харин эсрэгээр: ямар
нэг зүйл нь чухал юм бол, энэ нь "ямар нэг юм" илэрхийлэл юм байна. илэрхийллийн
үндсэн хэлбэр юм тогтмол болон хувьсах хэмжигдэхүүн . Хэрэв
та бичих Жишээ нь, хэрэв "$ а = 100", та зааж хувьсах $ А
"100" байна:
$a = 100;
$ Дээрх жишээн дээр - Энэ илэрхийлэл
юм - = хувьсагч юм - даалгавар оператор, 100. Үүний утга нь 100 юм.
$x = 7;
$y = $x;
$y = $x;
хувьсах - Энэ жишээн дээр эхний мөр
нь тогтмол 7 илэрхийлэл, хоёр дахь мөр нь $x , учир нь өмнө нь 7 тогтоосон. $y
= $x бас илэрхийлэл юм.
Илэрхийлэл нь арай илүү төвөгтэй
жишээ үйл ажиллагаа юм. Жишээ нь дараах үйл ажиллагааг авч үзэх:
<?php
function funct ()
{
return 5 ;
}
?>
function funct ()
{
return 5 ;
}
?>
Та үйл ажиллагааны үзэл баримтлал
(хэрэв үгүй бол, хэсгийг уншиж мэддэг шүү дээ гэдгийг үндэслэн хэрэглэгчийн тодорхойлсон чиг үүрэг
), та нар үндсэндээ л Х ам.доллар = 5 бичих адил юм () гэж бичиж $
х = funct гэж байсан, мөн та нар зөв шүү. Чиг үүрэг - нь утга
буцаадаг функц юм илэрхийлэл юм. Funct () 5 буцаадаг тул илэрхийлэл "funct
()"-ийн утга нь 5-Ихэвчлэн үйл ажиллагаа нь статик утгатай боловч
тооцоолсон буцаж байх явдал юм.
: PHP нь гурван скаляр утга төрлийг
дэмждэг бүхэл тоо , цэг хөвөгч ба мөр утгуудыг (скаляр утга
утгууд нь та жишээ нь ялгаатай нь жижиг хэсэг,,, массив руу "амралт"
чадахгүй юм). : PHP нь бас хоёр нийлмэл (бус скаляр) төрлийг дэмждэг массивууд болон обьектууд . Эдгээр утга нь
төрөл тус бүр хувьсагчийн болгон томилсон буюу чиг буцаж болно.
PHP - хэл илэрхийллийг чиглэсэн
бөгөөд бараг бүх зүйл нь илэрхийлэл юм. АНУ-ын эргэн очиж үзье Жишээ нь бид шийдэх тэрхүү: '$ х = 7'. Энэ нь
хоёр утга байна гэдгийг анхаарах нь хялбар байдаг - үүрэг даалгавар нь өөрөө
утга - тогтмол бүхэл "7" болон хувьсах $ х үнэ цэнэ, утга авах утга
нь 7 Гэвч үнэн хэрэгтээ, энд бас нэг утга байна. даалгавар нь энэ тохиолдолд томилогдсон
үнэ цэнийг тооцно - Практикт 7, энэ нь '$ х = 7 "үл хамааран энэ нь юу
хийдэг талаар, 7 ийн бичлэг' $ у-ийн үнэ бүхий илэрхийлэл гэсэн үг юм = ( $ х =
7) 'бичгээр тэнцүү байна' $ х = 5; $ Y = 5; " (Цэг таслалаар мэдэгдэл
төгсгөлийг заана). Даалгавар зүүн эрх нь задлан ялгаж болохоор, та мөн '$ у = $
х = 7' бичиж болно.
Логик илэрхийлэл
- Логик илэрхийлэл нь ердөө хоёр
утга байж болох илэрхийллүүд нь: үнэн, худал (0 бараг адил бөгөөд, эсвэл, 1).
Хэрэв та илүү чанд ярьж Гэхдээ, хэрэв энэ нь үнэхээр ямар ч илэрхийлэл нь (хэрэв-өөр
барих нэг нөхцөл болгож, жишээ нь) "логик" хүрээнд логик гэж
үзэж болох юм. Бүх дараа ҮНЭН байна (үнэн) аливаа тэг бус тоо, төрийн
бус хоосон мөр байж болно, тийм байна. D., хуурамч дор бүгдийг (худал) гэсэн үг
юм.
Бүүлийн илэрхийлэл нь логик бүх хувьсагчуудыг шинж хүчинтэй байна. Эдгээр нь илэрхийлэл, || (логик OR) && (ба)! (Логик биш), болон бусад оператор>, <ба == (тэнцүү) хэрэглэхэд гарч болох хамгийн их магадлалтай байдаг. Жишээ нь:
Бүүлийн илэрхийлэл нь логик бүх хувьсагчуудыг шинж хүчинтэй байна. Эдгээр нь илэрхийлэл, || (логик OR) && (ба)! (Логик биш), болон бусад оператор>, <ба == (тэнцүү) хэрэглэхэд гарч болох хамгийн их магадлалтай байдаг. Жишээ нь:
$a = 10 < 5; // $a = false
$a = $b==1; // $a=true
$a = $b >= 1&& $b <= 10; // $a = true, если $b в пределах от 1 до 10
$a = !($b || $c) && $d; // $a = true, если $b и $c ложны, а $d — истинно
$a = $b==1; // $a=true
$a = $b >= 1&& $b <= 10; // $a = true, если $b в пределах от 1 до 10
$a = !($b || $c) && $d; // $a = true, если $b и $c ложны, а $d — истинно
Энэ нь үнэн буюу логик хувьсагч нь
яаж байна вэ? Үүнтэй адил, ямар ч логик нь үзэл бодлоо илэрхийлэх нь:
$b = $a >= 1 && $a <=
10; // присваиваем $b значение логического выражения
if($b) echo "a в нужном диапазоне значений";
if($b) echo "a в нужном диапазоне значений";
Логик үйл ажиллагааны талаар
дэлгэрэнгүй мэдээллийг үзнэ үү энд
String илэрхийлэл
PHP-д мөр - хамгийн үндсэн
байгууламж зарим нь. Тэдгээр нь хэлбэршүүлэлт тэмдэгтүүд буюу хоёртын мэдээлэл
текстийг агуулж болно.
Хашилтыг тэмдэг болон apostrophes Тодорхойлолт шугам нь нэг шулуун дээр эхэлж, төгсөж болно - бусад байна. Энд мөр нь үзэл бодлоо илэрхийлэх нь жишээ байна:
Хашилтыг тэмдэг болон apostrophes Тодорхойлолт шугам нь нэг шулуун дээр эхэлж, төгсөж болно - бусад байна. Энд мөр нь үзэл бодлоо илэрхийлэх нь жишээ байна:
$a = "Это текст";
Php хэл Веб
программчлалын хэлнүүд олон байдаг ч өнөөдөр php хэл маш өргөн тархсан хэлний
нэг болоод байгаа билээ. Учир нь хэлний боломж, бүтээмж, суралцахад хялбар
энгийн, нээлттэй код зэрэг нь хэлийг веб программчлалд ихээр ашиглах үндсэн шалтгаан
юм. Орчин үеийн вебүүд голчлон динамик байдлаар хийгдэх болсон тул веб сайт
хийх, интернетэд сууриласан программ хангамж боловсруулах хэн болгон энэхүү
хэлийг заавал суралцаж эзэмшсэн байх шаардлагатай болно. Сайтын энэ хэсэгт
нийтлэгдсэн хичээлүүд танд php хэлийг судалж эзэмшихэд анхны түлхэц өгнө гэдэгт
итгэлтэй байна. Танд амжилт хүсье. Cookie - тэй ажиллах Нээгдсэн тоо: 8
Төлбөртэй Ихэнх эхлэн суралцагчид Cookie гэдгийг маш нарийн ойлголт гэж үзснээс
болоод түүнийг бараг ашигладаггүй. Энэ хичээлээр бид Cookie –г үүсгэж,
засварлаж устгаж сурах болно. Cookie гэдэг нь хэрэглэгчийн броузерын тохиргоонд
хадгалагдах багахан хэмжээний өгөгдөл юм. Ихэнхдээ Cookie –г хэрэглэгчийн
талаарх мэдээллийг хадгалахад (логин паспорт гэх мэт) ашигладаг. Ингэснээр баазад
дахин хандалт үүсгэхгүй өгөгдлийг авах хурд өндөр зэрэг олон давуу талтай.
Гэхдээ зарим броузер Cookie –г дэмждэггүй бас хэрэглэгч Cookie ашиглахыг хаасан
байдаг тул энэ механизмд хэт их найдлага тавих хэрэггүй. Internet Explorer-ийн
анхдагч тохиргоо нь Cookie ашиглахыг зөвшөөрсөн байдаг. Cookie ашиглах
тохиргоог та өөрийн броузерын тохиргооны аюулгүй байдал хэсэгт хийж болно. Цааш
унших... Тогтмол илэрхийлэлтэй (regular expression) ажиллах Нээгдсэн тоо: 5
Төлбөртэй Веб сайтад хэрэглэгчийн оруулсан мэдээллийн зөв эсэхийг шалгах ажил
олон гардаг. Ийм асуудлыг мөрийн функцуудээр шийдвэрлэх нь нилээд хүндрэлтэй
ажил болно. Тэгэхлээр ийм төрлийн ажиллагаанд хамгийн үр дүнтэй шийдэл нь
тогтмол илэрхийлэл буюу (regular expression) ашиглах явдал юм. Эхэндээ тогтмол
илэрхийлэл нь танд их ойлгомжгүй мэт санагдаж болох боловч маш бага хэмжээний
мэдлэгийн хүрээнд олон хүнд асуудлуудлыг шийдвэрлэж болно. Тогтмол илэрхийлэл.
Тогтмол илэрхийлэл гэдэг нь текстэн мөр юм. Тусгай тэмдэгтүүдээр үүсгэсэн
хэвээр (шаблон) мөр дотор хэвэнд тохирох хэсгийг хайдаг. PHP –д POSIX, PCRE
гэсэн хоёр төрлийн тогтмол илэрхийллийг ашигладаг. Бид хичээлээр POSIX төрлийг
авч үзнэ. Тогтмол илэрхийллийг хэрхэн үүсгэдэг талаар үзэхийн өмнө хэвийн
(шаблон) тухай ойлголттой танилцъя. Хэв гэдэг ойлголт нь зөвхөн програмчлалын
хэлэнд байдаг ойлголт биш. Жишээ нь бид php суулгасан директорт ороод хайлт
хийх (F3) товчийг дараад php гэж бичээд хайлт хийхэд нэрэнд нь php гэсэн үг
орсон бүх файлуудыг гаргаж ирдэг. Энд бид хэв (шаблон) үүсгэж өгсөн гэсэн үг.
Одоо хайлтын нөхцлөө нарийвчилъя. Хэрвээ бид хайлт хийхдээ php? бичиж өгвөл энэ
нь хайж байгаа файлын нэр нь php гэж эхлээд араас нь дурын тэмдэгтүүд байж
болохыг заасан хэв болж байгаа болно. Ерөнхийдээ ийм зарчмаар PHP -д хэвийг
үүсгэж өгдөг. Цааш унших... Он сар өдөр ба цагтай ажиллах Нээгдсэн тоо: 2
Төлбөртэй Интернет сайтад тодорхой хугацаанд хичнээн хүн зочилсон, тухайн цаг
мөчид хэдэн хүн зочилж байгаа, хуудаст хамгийн сүүлд хэзээ хандалт хийсэн гэх
мэтийг мэдэх шаардлага гардаг. Эдгээрийг болон бусад олон асуудлыг шийдэхэд PHP
–гийн цаг хугацааны функцуудыг ашиглана. PHP –н цаг хугацааны онцлогууд. PHP –д
одоо хэдэн цаг болж байгааг мэдэхэд time() функцыг ашигладаг. Цааш унших...
Зурагтай ажиллах Нээгдсэн тоо: 4 Төлбөртэй Интернет сайтад зочлоход тоолуур,
төрөл бүрийн график гэх мэт зүйлүүд их байдаг. Эдгээрийн гол онцлог нь динамик
байдлаар ажиллаж байдагт байгаа юм. Энэ хичээлээр бид PHP –гээр динамик
зургуудыг хэрхэн үүсгэх талаар авч үзэх болно. Зураг гэдэг нь цэг бүр нь
тодорхой өнгийг агуулж байгаа цэгүүдийн олонлог юм. Өөр хоорондоо шахалтын
түвшин, чанар гэх мэт үзүүлэлтээрээ ялгаатай зургийн олон форматууд байдаг.
Гэхдээ интернтэд GIF (Graphic Interchange Format), JPEG (Joint Photographic
Experts Group), PNG (Portable Network Graphics) гэсэн форматуудыг голлон
ашигладаг. Ямар зургийг үзүүлэхээс хамаарч форматыг сонгодог. Олон өнгөний
хослолтой фото зургуудад JPEG форматыг ашигладаг бол өнгө багатай жижиг (товч,
баннер г.м) зургуудад GIF болон PNG форматыг голлон ашиглах жишээтэй. Цааш унших...
Өгөгдлийн сантай ажиллах Нээгдсэн тоо: 4 Төлбөртэй Бүх л програмчлалын хэлүүд
өгөгдлийн сантай ажилладагийн адилаар PHP нь бас өгөгдлийн сантай ажиллана.
Өгөгдлийн сан - мэдээллийг хадгалагч. Ер нь үүнээс өөр төрөл бүрийн дэлгэрэнгүй
тодорхойлолтууд байдаг хэдий ч бид үүгээр хязгаарлахад болно. Өгөгдлийн сан нь
мэдээллүүдийг хадгалах тул тэдгээртэй ажиллах програм хэрэгтэй. Иймээс ӨСУС
(өгөгдлийн санг удирдах систем) бий болсон. PHP нь өгөгдлийн сантай зөвхөн ӨСУС
–ээр дамжин ажилладаг. Өгөгдлийг хадгалах зохион байгуулалтаараа сангууд хэд
хэдэн төрөлд хуваагдана. Гэхдээ өнөөдөр холбоост өгөгдлийн сангийн модел нь
хамгийн өргөн дэлгэрсэн хэлбэр бөгөөд бид энэ санг авч үзэх болно. Ямар ч
холбоост өгөгдлийн сан нь хүснэгтүүдээс бүрдэнэ. Хүснэгт нь багана (талбар),
мөр (бичлэгээс) бүрдэнэ. Жишээ нь Цааш унших... Хавтас болон файлуудтай ажиллах
Нээгдсэн тоо: 4 Төлбөртэй Файлтай ажиллах Файл нь мэдээлэл хадгалагч дээрх нэр
бүхий хэсэг. Файлтай ажиллахын тулд эхлээд түүнийг нээх хэрэгтэй. Энэ зорилгод
ихэнхдээ fopen() функцыг ашигладаг. Функц нь нээх файлын нэр болон нээлтийн
горимыг заасан тусгай тэмдэгтүүдийг оролтын параметр болгон авна. Эхний
параметрын хувьд хэрвээ заагдсан нэртэй файл байхгүй бол функц нь алдаа өгнө.
Функцээс source төрлийн утгатай файлын дискрипторийг (файлыг нээхэд олгогдсон
дугаар) буцаана. Файлыг нээх ажиллагаа бүтэлгүй болсон тохиолдолд FALSE утгыг
буцаана. Хоёрдугаар параметр нь файл нээх горимыг заах бөгөөд доорх утгуудыг
авна. Цааш унших... HTML формтой ажиллах Нээгдсэн тоо: 4 Төлбөртэй HTML форм
гэдэг нь HTML хэлний өгөгдөл оруулах дамжуулах хэрэгсэл болно. Хэдийгээр энэ нь
PHP хэлтэй шууд холбоотой биш ч гэсэн хичээлийн материалыг илүү сайн ойлгохын
тулд формыг хэрхэн үүсгэх үндэсийг авч үзэх хэрэгтэй. Ямар ч форм нь тегээр
дуусна. Нээж байгаа тегийн дотор HTML формын шинжүүдийг тодорхойлсон
атрибутуудыг бичиж өгч болно. Эдгээр нь тус бүрдээ нэр болон утгатай байх
бөгөөд action ба method атрибутуудыг бид голлон авч үзнэ.
тегээр эхлээд
Тегүүдийн хооронд текст оруулах,
жагсаалт, товч гэх мэтээр HTML-ын бүх тегүүдийг ашиглаж болно. HTML хэлний
талаарх мэдээллийг сайтын HTML хэсэг дэх хичээлүүдээс үзээрэй. action атрибутад
HTML формоос дамжуулсан өгөгдлийг боловсруулах файлын нэрийг зааж өгдөг. Жишээ
нь Цааш унших... Мөр Нээгдсэн тоо: 3 Төлбөртэй Яагаад зөвхөн мөрний тухай
тусгай хичээл байгаа талаар та гайхаж байж магадгүй. Өнгөцхөн харвал мөр гэдэг
нь String гэсэн төрөл бүхий хувьсагч гэдгээс тэгж харагдаж болох талтай. Гэхдээ
PHP -д мөртэй үр дүнтэй ажиллахын тулд энэ сэдвийг гүнзгий ойлгосон байх
шаардлагатай. Мөр гэдэг нь String төрөлтэй хувьсагч ба үнэндээ бол
тэмдэгтүүдийн багц юм. Мөрийг дараах байдлаар тодорхойлж болно.
$string_1="Сайн байна уу"; // давхар хашилттай мөр $string_2='Сайн
байна уу'; // дан хашилттай мөр Мөрийг тодорхойлох нь хувьсагчид утга олгохтой
яг ижилхэн хийгдэж байгаа хэдий ч нэг эсвэл давхар хашилтыг мөр дотор гаргах
үед асуудал гарахаар байна. Хэрвээ бид $str="Тэр "сайн байна уу"
гэж хэлэв"; echo $str; гэсэн кодыг бичвэл програмын ажиллагаа нь мөрөнд
утга олгох оператор дээр алдаа өгөх болно. Учир нь мөр гэдэг нь хамгийн ойрхон
байрлах хашилтын хоорондох тэмдэгтүүдийн багцыг хэлнэ. Иймд дээрх код нь алдаа
өгнө. Энэ байдлаас гарахын тулд бид (\) налуу зураас тэмдэгтийг ашиглана.
Тэгвэл дээрх кодыг Цааш унших... Массив Нээгдсэн тоо: 7 Төлбөртэй Програм
зохиох үед маш их хэмжээний өгөгдөлтэй ажиллах тохиолдол их гардаг.
Ялангуяа өгөгдлийн сантай ажилладаг програмын хувьд асуудлыг
дан ганц хувьсагчаар шийдэхэд бэрхшээлтэй. Учир нь асар олон тооны хувьсагчийг
програмд ашиглах нь програмын кодыг уншихад хүндрэлтэй болгохоос гадна алдаа
гаргах том шалтгаан болно. Их хэмжээний хувьсагчтай ажилладаг кодод алдаа олох
нь тун амаргүй ажил. Иймд ихэнх програмчлалын хэлэнд утгуудын олонлог хадгалж
чадах тусгай төрлийн хувьсагчийг хэрэглэдэг. Үүнийг массив гэдэг. Бид өмнө нь
Array гэсэн өгөдлийн төрөл байдгийг үзсэн. Ийм төрөлтэй хувьсагчууд нь массив
юм. PHP нь массивтай ажиллах ажиллагаанд бусад програмчлалын хэлүүдийг бодвол
илүү чөлөөтэй байдлыг олгоно. Энэ нь програм зохиогчид өргөн боломж олгодог
хэдий ч таниас програм зохиохдоо их анхааралтай ажиллахыг давхар шаардана. Цааш
унших... Функцууд Нээгдсэн тоо: 5 Бүртгүүлэх Функц гэсэн ойлголт нь маш дээрээс
түүхтэй. Анх машины кодоор програм зохиож байх үеэс програм зохиогчид машинтай
нэг хэлээр ойлголцохын тулд нэг тэгүүдийг (01) команд болгон хувиргасны үр дүнд
команд үүссэн. Шийдэх бодлогын цар хүрээ ихэссэнтэй уялдан командын тоо нь
геометр прогресоор өссөн. Энэ үед програм зохиогчид командуудыг нэг блок болгон
нэр өгч ашиглаж болох бүтцийг санаачилсан байна. Үүнийг процедур гэдэг.
Ингэснээр програмын кодыг жижигхэн ойлгомжтой болгоход асар их түлхэц болсон.
Цаашид процедурууд нь оролтын параметруудтай болж хөгжсөн бөгөөд эцэст нь ямар
нэгэн үйлдэл хийгээд зогсохгүй утга буцаадаг функц гэсэн ойлголт гарч ирсэн.
PHP –д процедур гэсэн ойлголт байдаггүй. Утга буцаадаг ч бай үгүй ч бай бид
ганцхан функц гэсэн ойлголтыг хэрэглэнэ. PHP нь маш олон дотоод функцтэй. Үүнээс
гадна бусад програмчлалын хэлний адилаар PHP нь програмын код дотор өөрийн
функцыг үүсгэх боломжтой. Эдгээрийн голдуу хэрэглэгчдийн функцууд гэдэг. Бид
хичээлдээ яг энэ төрлийн функцуудын талаар түлхүү авч үзэх болно. Цааш унших...
1 2 » Нэвтрэх Нууц үгээ мартсан? | Бүртгүүлэх Шинэ Их уншсан Усан тэмдэгт
Зохиогчийн эрхийг хамгаалах нэг хэрэгсэл бол зураг дээр усан тэмдэгт байршуулах
байдаг. Үүнийг фотошоп программыг ашиглан хэрхэн хийх… Нээгдсэн тоо : 0
Форексийн үеүүд тэдгээрийн онцлог Валютын зах зээл 5 хоногийн турш тасралтгүй
ажиллаж байдаг хэдий ч валютын хосууд янз бүрийн цаг хугацаанд янз… Нээгдсэн
тоо : 6 Галт текст Энэ хичээлээр бид фотошопын филтерүүдийг ашиглан текстэд
эффект оруулах энгийн аргыг авч үзэх болно. Хичээлээр бид текстэнд доорх…
Нээгдсэн тоо : 12 Мөнгөний удирдлага Форекс арилжаа нь мөнгөө алдах эрсдэлтэй
салшгүй холбоотой байдаг. Энэхүү эрсдлийг багасгах үүднээс худалдаачид өөрийн
ажилдаа Money management… Нээгдсэн тоо : 1 Хөдөлгөөнт текст Бид энэ хичээлээр
текстэд хэрхэн хөдөлгөөн /анимац/ оруулах тухай жишээнд дээр авч үзэх болно.
Бид хичээлийн үр дүнд… Нээгдсэн тоо : 0 Шинэ булан нээгдлээ. Бид сайтын
Математик хэсэгт ерөнхий шалгалтанд математикийн хичээлээр хүчээ сорих гэж буй
төгсөгчид, математикийн бодлогыг бодох аргуудад суралцахыг.
Хувьсагч , тогтмол , өгөгдлийн төрлүүд Хичээлээр бид PHP
хэлний үндсэн ойлголтууд болох хувьсагч, тогтмолуудын талаар авч үзнэ.
Эдгээрийг сайн ойлгохгүйгээр програм бичнэ гэдэг хүндрэлтэй. Та ямар нэгэн
програмчлалын хэл мэддэг гэсэн ч энэ хичээлийг үзээрэй. Учир нь PHP хэлэнд
өгөгдөлтэй ажиллах онцлогууд байдаг. Хувьсагч Програмчлалын ямарч хэлэнд
програмын ажиллагааны явцад өөрчлөгдөж байдаг өгөгдлийг хадгалах хэрэгсэл
байдаг. Эдгээр нь хувьсагчид юм. Хувьсагч нь нэр болон утгаар тодорхойлогдоно.
Хувьсагч - өгөгдөл хадгалах хэрэгсэл. Хувьсагчийн тухай илүү сайн ойлгохын тулд
жишээ авч үзье. Жишээнд $number нэртэй хувьсагчид (=) тэмдгийг ашиглан 5 гэсэн
утгыг олгосон байна. Хувьсагч нь утга хадгалаад зогсохгүй тэдгээрийг өөрчилж
болно. Хоёрдугаар мөрөнд $number хувьсагчийн утгыг хоёр дахин өсгөж байна.
Хувьсагчийн утгыг үзүүлэхдээ түүнийг нэрийг ашиглаж байна. PHP –д хувьсагчийн
нэрийг өгөхдөө дараах дүрмийг баримтлах хэрэгтэй. Ямарч хувьсагчийн нэр ($)
долларын тэмдэгээр эхлэх ёстой Түүний араас доогуур зураас (_) эсвэл үсэг
байна. Тоо байж болохгүй. Дараа нь үсэг, тоо, доогуур зураас байж болно. Харин
хоосон зай (space) хувьсагчийн нэрэнд байж болохгүй Хувьсагчийн нэр нь том
жижиг үсгийг ялгана. Жишээ нь $number ба $Number хоёрыг нэг ижил хувьсагч гэж
үзэхгүй. Ихэнх програм зохиогчид баримталдаг PHP Coding Standard гэдэг дүрэм
байдаг. Энэ дүрмээр хувьсагчийн нэрийг жижиг үсгээр бичиж үгийг доогуур
зураасаар тасалдаг. Дээрх жишээний сүүлийн хоёр мөрийг хар. Хувьсагчийн нэрээр
түүнд хадгалагдаж байгаа өгөгдлийг мэдэж болохоор өгөх нь их хэмжээний хувьсагч
ашигласан програм зохиоход хэрэгтэй байдаг. Гэхдээ хэт их урт нэр өгөх нь
ажиллагааг хүндрүүлдэг гэдгийг санаарай. Өгөгдлийн төрлүүд PHP –д дөрвөн
(Integer, Double, Boolean, String) энгийн, хоёр (Array, Object) холимог төрлүүд
байдаг. Integer Энэ төрөл нь хэмжээний хувьд хязгаарлагдсан бүхэл тоон
олонлогоор тодорхойлогдоно. Жишээ нь 32 битийн платформын хувьд энэ олонлог нь
-2,147,482,648 аас 2,147,482,647 хооронд байдаг. Integer төрлийн өгөгдлүүд 16,
10, 8 гээд төрөл бүрийн тоон системээр бичигдэж болно. Жишээ нь Double Double
(эсвэл Float) төрөл нь бодит тоон олонлогт харьяалагдана. Өөрөөр хэлбэл өндөр
нарийвчлалтай бутархай тоонууд юм. Энэ төрлийн хувьсагчийг том тоонууд болон
өндөр нарийвчлалтай тооцоонд ихэвчлэн ашигладаг. Жишээ нь Boolean Хамгийн
энгийн өгөгдлийн төрөл нь Boolean юм. Учир нь энэ төрөл нь үнэн (True), худал
(False) гэсэн хоёрхон утгатай байдаг. Энэ төрлийг аливаа утгыг үнэн худал
гэдгийг шалгахад голдуу ашигладаг. FALSE, TRUE утга нь том жижиг бичлэгийг
ялгадаггүй тул false, true гэж бичиж болно. String PHP –д String төрөл нь
тэмдэгтийн мөрөнд хамаарах бөгөөд уртын хэмжээ нь бараг хязгааргүй байдаг. Энэ
төрлийн талаар Мөр хичээлд дэлгэрэнгүй үзэх болно. Жишээ нь Array төрлийн
талаар Массив хичээлд үзэх бөгөөд Object төрлийг обьект хандалттай програмчлалд
хэрэглэдэг. Эдгээрээс гадна PHP нь (resource, NULL) гэсэн 2 тусгай төрөл болон
(mixed, number, callback) гэсэн дундын төрлүүдийг дэмждэг. Эдгээр төрлүүд нь
практикт бараг ашиглагддаггүй тул бид хичээлүүдээр эдгээрийн талаар үзэхгүй.
Хувьсагчийг тодорхойлох Delphi, Pascal зэрэг програмчлалын олон хэлэнд
хувьсагчийг урьдчилан ямар төрөлд хамаарахыг заавал зарладаг. Програмд уг
хувьсагчид тохирохгүй утга олгоход алдаа гардаг. Энэ тал дээр PHP нь илүү
зөөлөн. Энд хувьсагчийг зарлахдаа ямар төрлийнх болохыг заах албагүй. Програмд
хувьсагчид утга олгоход төрлийг автоматаар тохируулан өөрчилдөг. Үүнээс гадна програмд
нэг хувьсагчид олон төрлийн өгөгдлийг дараалуулан хадгалаж болдог. Энэ чөлөөтэй
байдал нь програм зохиогчоос хувьсагчийн төрлийн хяналтыг нарийн болгохыг
шаарддаг. Хувьсагчийн төрлийг gettype() функцээр мэддэг. Функцын талаар
Функцууд хичээлээс үзээрэй.
PHP -д хувьсагчийн
төрөл хэрхэн өөрчлөгдөхийг жишээгээр авч үзье. "; echo $test_var; // 12.63
гэж гарна echo "
"; settype($test_var, string); // хувьсагчийг string төрөл болгоно echo gettype($test_var); // string гэж гарна echo "
"; echo $test_var; // 12.63 гэж гарна echo "
"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo gettype($test_var); // integer гэж гарна echo "
"; echo $test_var; // 12 гэж гарна echo "
"; settype($test_var, boolean); // хувьсагчийг boolean төрөл болгоно echo gettype($test_var); // boolean гэж гарна echo "
"; echo $test_var; // 1 гэж гарна echo "
"; $test_var="num10"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo $test_var; // 0 гэж гарна echo "
"; $test_var="10num"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo $test_var; // 10 гэж гарна ?> Энд settype() функц нь хувьсагчийн төрлийг өөрчилнө. Харин gettype() функц нь хувьсагчийн төрлийг авчирна. Жишээнээс хувьсагчийн төрөл нь тодорхой дүрмээр өөрчлөгдөж байгааг харж болно. Жишээг өөрсдөө туршин ажиллуулаарай. Энэ дүрэмээс заримыг нь дурдвал Boolean төрөлд шилжихдээ Тэг (0) бүхэл тоо FALSE болно (0.0) бутархай тоо FALSE болно Хоосон мөр эсвэл "0" мөр FALSE болно Бусад бүх утгууд TRUE болно Integer төрөлд шилжихдээ FALSE – 0 харин TRUE -1 болно Бодит тооны бутархай хэсэг нь орхигдон бүхэл тоо болно. /Жишээг хар/ Хэрвээ мөр нь тоогоор эхлээгүй бол 0, эсрэг тохиолдолд тухайн тоо болно. /Жишээг хар/ String төрөлд шилжихдээ FALSE – хоосон мөр харин TRUE -"1" болно Дурын тоо нь тэр хэвээрээ мөр болно Хувьсагчийг холбох PHP –д холбоос гэсэн ойлголт байдаг. Үүнийг ойлгохын тулд жишээ авч үзье. "; echo $b; // 1 гэж гарна echo "
"; echo $c; // 5 гэж гарна ?> Жишээнд бид эхлээд $a хувьсагчид 1 гэсэн утга олгоод дараа нь $b хувьсагчид $a хувьсагчийн утгыг олгосон. Одоо $a ,$b хувьсагчдын утга ижилхэн. Гэхдээ эдгээр хувьсагчдын аль нэгний утгыг өөрчилөхөд нөгөөгийнхөө утганд ямарч нөлөө үзүүлэхгүй. Харин & тэмдэгтээр бид $c хувьсагчийг $a хувьсагчтай холбон өгч байна. Одоо эдгээр хувьсагчдын утга үргэлж ижилхэн байх болно. Аль нэг хувьсагчийн утгыг өөрчлөхөд нөгөө хувьсагчийн утга даган өөрчлөгдөнө. Динамик хувьсагч PHP –д хувьсагчийн нэр нь хувьсагч агуулж байдаг хувьсагчийг ашиглаж болдог. Үүнийг шууд ойлгоход хүндрэлтэй тул жишээгээр авч үзье. $$name төрлийн хувьсагчдыг динамик хувьсагч гэдэг. Програмын явцад олон тооны хувьсагч үүсгэх хэрэгтэй үед ийм хувьсагчдыг голдуу ашигладаг. Жишээ авч үзье. $$name
"; // $age гэж гарна echo "${$name}
"; // 18 гэж гарна echo "${age}"; // 18 гэж гарна ?> Энд динамик хувьсагчийг гаргах бас нэг аргыг үзүүлсэн. Хэрвээ хувьсагч хашилтанд байгаа тохиолдолд ( {} ) их хаалтыг ашиглах хэрэгтэй. Эс тэгвээс $age гэж гарч ирнэ. Тогтмолууд Ямар нэгэн утгыг тэмдэглээд бүх програмын туршид ашиглаж болно. Эдгээрийг PHP -д тогтмол утгууд гэдэг. Тогтмол гэдэг нь өөрчлөгдөхгүй утга юм. PHP -д тогтмол утгыг тодорхойлохдоо define() функцыг ашиглана. Бичлэгийн дүрэм нь define(<Тогтмолын нэр> , <утга>); Жишээ нь "; echo NUMBER_E *2; ?> Тогтмолоор мөр, тоо, бүхэл тоо, логик утга тодорхойлж болохоос гадна тэдгээрийг үйлдэлд ашиглаж болно. Тогтмолын нэрэнд жижиг том үсгийн алийг ч ашиглаж болдог.
"; settype($test_var, string); // хувьсагчийг string төрөл болгоно echo gettype($test_var); // string гэж гарна echo "
"; echo $test_var; // 12.63 гэж гарна echo "
"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo gettype($test_var); // integer гэж гарна echo "
"; echo $test_var; // 12 гэж гарна echo "
"; settype($test_var, boolean); // хувьсагчийг boolean төрөл болгоно echo gettype($test_var); // boolean гэж гарна echo "
"; echo $test_var; // 1 гэж гарна echo "
"; $test_var="num10"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo $test_var; // 0 гэж гарна echo "
"; $test_var="10num"; settype($test_var, integer); // хувьсагчийг integer төрөл болгоно echo $test_var; // 10 гэж гарна ?> Энд settype() функц нь хувьсагчийн төрлийг өөрчилнө. Харин gettype() функц нь хувьсагчийн төрлийг авчирна. Жишээнээс хувьсагчийн төрөл нь тодорхой дүрмээр өөрчлөгдөж байгааг харж болно. Жишээг өөрсдөө туршин ажиллуулаарай. Энэ дүрэмээс заримыг нь дурдвал Boolean төрөлд шилжихдээ Тэг (0) бүхэл тоо FALSE болно (0.0) бутархай тоо FALSE болно Хоосон мөр эсвэл "0" мөр FALSE болно Бусад бүх утгууд TRUE болно Integer төрөлд шилжихдээ FALSE – 0 харин TRUE -1 болно Бодит тооны бутархай хэсэг нь орхигдон бүхэл тоо болно. /Жишээг хар/ Хэрвээ мөр нь тоогоор эхлээгүй бол 0, эсрэг тохиолдолд тухайн тоо болно. /Жишээг хар/ String төрөлд шилжихдээ FALSE – хоосон мөр харин TRUE -"1" болно Дурын тоо нь тэр хэвээрээ мөр болно Хувьсагчийг холбох PHP –д холбоос гэсэн ойлголт байдаг. Үүнийг ойлгохын тулд жишээ авч үзье. "; echo $b; // 1 гэж гарна echo "
"; echo $c; // 5 гэж гарна ?> Жишээнд бид эхлээд $a хувьсагчид 1 гэсэн утга олгоод дараа нь $b хувьсагчид $a хувьсагчийн утгыг олгосон. Одоо $a ,$b хувьсагчдын утга ижилхэн. Гэхдээ эдгээр хувьсагчдын аль нэгний утгыг өөрчилөхөд нөгөөгийнхөө утганд ямарч нөлөө үзүүлэхгүй. Харин & тэмдэгтээр бид $c хувьсагчийг $a хувьсагчтай холбон өгч байна. Одоо эдгээр хувьсагчдын утга үргэлж ижилхэн байх болно. Аль нэг хувьсагчийн утгыг өөрчлөхөд нөгөө хувьсагчийн утга даган өөрчлөгдөнө. Динамик хувьсагч PHP –д хувьсагчийн нэр нь хувьсагч агуулж байдаг хувьсагчийг ашиглаж болдог. Үүнийг шууд ойлгоход хүндрэлтэй тул жишээгээр авч үзье. $$name төрлийн хувьсагчдыг динамик хувьсагч гэдэг. Програмын явцад олон тооны хувьсагч үүсгэх хэрэгтэй үед ийм хувьсагчдыг голдуу ашигладаг. Жишээ авч үзье. $$name
"; // $age гэж гарна echo "${$name}
"; // 18 гэж гарна echo "${age}"; // 18 гэж гарна ?> Энд динамик хувьсагчийг гаргах бас нэг аргыг үзүүлсэн. Хэрвээ хувьсагч хашилтанд байгаа тохиолдолд ( {} ) их хаалтыг ашиглах хэрэгтэй. Эс тэгвээс $age гэж гарч ирнэ. Тогтмолууд Ямар нэгэн утгыг тэмдэглээд бүх програмын туршид ашиглаж болно. Эдгээрийг PHP -д тогтмол утгууд гэдэг. Тогтмол гэдэг нь өөрчлөгдөхгүй утга юм. PHP -д тогтмол утгыг тодорхойлохдоо define() функцыг ашиглана. Бичлэгийн дүрэм нь define(<Тогтмолын нэр> , <утга>); Жишээ нь "; echo NUMBER_E *2; ?> Тогтмолоор мөр, тоо, бүхэл тоо, логик утга тодорхойлж болохоос гадна тэдгээрийг үйлдэлд ашиглаж болно. Тогтмолын нэрэнд жижиг том үсгийн алийг ч ашиглаж болдог.
Гэхдээ жишээнд бид тогтмолын нэрийг ADMIN_NAME, NUMBER_E гэж
өгсөн байгааг анхаар. Энэ нь бид PHP Coding Standard дүрмийг баримталж байгааг
илтгэнэ. Дүрмээр тогтмолын нэрийг том үсгээр үгийг хооронд нь доогуур зураасаар
зааглаж өгдөг. Тогмолын нэр нь том жижиг үсгийг ялгана. Жишээ нь ADMIN_NAME ба
ADMIN_name гэсэн тогтмолууд ижил биш. Тогтмолыг зарласны дараа програмын код
дотор утгыг өөрчилж болдоггүй. Жишээ нь програмын кодыг ажиллуулахад алдаа
гарна. PHP –д өөрийн тогтмолууд байдаг. Тогтмолын нэрийг өгөхдөө эдгээртэй
нэрийг давхардуулан өгөхөөс болгоомжлох хэрэгтэй. Ямар нэгэн тогтмол байгаа
эсэхийг defined() функцээр мэдэж болно. Тогтмолын нэрийг функцын параметр
болгон өгөхөд функц 1 утга буцаавал тогтмол тодорхойлогдсон эсрэг тохиолдолд 0
утгыг буцаадаг. Урьдчилан тодорхойлогдсон тогтмолууд PHP –д өөрийн тогтмолууд
байдаг. Эдгээрийг урьдчилан тодорхойлогдсон тогтмолууд гэдэг ба гол зориулалт
нь системийн мэдээллийг хадгалах байдаг. Жишээ нь PHP_VERSION ба PHP_OS нь PHP
–н хувилбар болон серверийн үйлдлийн системийн нэрийг агуулна. Үүнээс гадна
хэрэглэгээнээс хамаарч утга нь өөрчлөгдаж байдаг хэсэг тогтмолууд байдаг. Жишээ
нь __LINE__ , __FILE__ тогтмолууд нь мөрийн дугаар, файлын нэрийг агуулдаг.
Эдгээр тогтмолын нэрийг том жижиг аль ч байдлаар бичиж болдог. Жишээн дээр авч
үзье. "; echo "Үйлдлийн систем :"; echo PHP_OS; echo "
"; echo "Мөрийн дугаар :"; echo __LINE__; echo "
"; echo "Ажиллаж байгаа файл :"; echo __file__; ?>
"; echo "Мөрийн дугаар :"; echo __LINE__; echo "
"; echo "Ажиллаж байгаа файл :"; echo __file__; ?>
Variables гэж юу вэ?
Variable ( хувьсагч ) бол програмчлалын нэгэн чухал ойлголт.
Бараг бvх тєрлийн програмын хэлэнд хувьсагч байдаг гэхэд буруудахгvй. Тэгэхээр
variable гэдэг бол тvр санах oйд ямар нэг утгыг ( value ) хадгалж, дэс дараатай
тооцоолон бодох ажиллагаанд хэрэглэгдэгддэг. Ондоогоор тайлбарлавал variable
ямар нэг мэдээллийг тvр зуур хэрэглэгдэх хvртэл нь хадгалдаг бєгєєд
хэрэглэгдээд дууссаны дараа эсвэл ондоо мэдээлэл оруулсан нєхцєлд хуучин
мэдээлэл нь сарниж алга болно, нэрнээс нь харахад ( хувьсагч ) байнга
єєрчлєгдєж байдаг нь ил байна. Гэхдээ єєрєє єєрчлєгдєєд байдаг юм биш. Тухайн
хэрэглэгчийн оруулсан мэдээлэл ( input ) утга нь ( value ) болдог тул сэтгэлээр
унах хэрэггvй. Ёрєнхийдєє вэб хэрэглэгч хэрхэн РНР вэб хуудаст єгєгдєл
оруулахаас л хувьсагчийн утга нь хамаардаг гэж дvгнэж болно. Variable-г сайн
ойлгох нь РНР хэлд маш чухал.
Variable-ыг бас TВ, сэтгvvл, шар сонин зэрэг бараг бvх
тєрлийн єєрчлєгдєж шинэчлэгдэж байдаг мэдээллийн эх vvсвэртэй зvйрлэж болно.
Учир нь єнєєдрийн мэдээ маргааш дахиж явахгvй, магадгvй хэдэн цаг, минут,
секундын дотор єєрчлєгдєж болно. Харин мэдээлэл яаж ч єєрчлєгдсєн, ТВ, сонин эд
нар хэвээрээ л байж байна. Tvvн шиг хувьсагчийн утга нь єєрчлєгдєхєєс
хувьсагчийн нэр нь єєрчлєгдєх албагvй. Хvнээр зvйрлvvлбэл долигнуур, олон
нvvртэй, худалч, урвагч єєдгvй байдлаараа улс тєрчидтэй тун тєстэй.
Тэгэхээр variable яагаад хэрэгтэй вэ? Variable-ын утга нь
бидэнд маш хэрэгтэй байдаг. Энэ утгыг датабэйсд хадгалж болно, монитор дээр
гаргаж болно, эсвэл тооцоолон бодож хариу гаргахад хэрэглэж болно. Бvvр цаашилбал
бид нар утгыг И-мэйлээр найздаа явуулж болно, вэб хуудсанд оруулж болно.
Variable-ын утгыг бид нар дата гэж vзсэн ч болно. Дата утга 2 угтаа нэг юм л
даа. Мэдээлэл, дата ба утга 3 бvгд адилхан.
Дата = Утга = Мэдээлэл
Вэб хуудаст байгаа бvх юмыг дата гэж ойлгож болно. Вэб
хуудас єєрєє бол variable юм. Вэбмастер update хийнэ гэдэг маань утгад ( дата,
мэдээлэл ) засвар, єєрчлєлт, нэмэлт, хасалт хийх гэж бvдvvлгээр ойлгож болно.Тэгэхээр
дата, мэдээллийг вэб хуудаст оруулах 2 vндсэн арга байна. 1-рт вэбмастер гараар
шивж оруулах, 2-рт вэб хэрэглэгчдийн мэдээллийг вэбийн мэдээллийн санд (
датабэйс ) оруулж тvvнээс вэбийн мэдээллийг бvрдvvлэх. 3-р арга гэж vгvй. Єєрєє
vvсэж бий болдог дата гэж байхгvй.Хэрвээ variable хаа нэгтээ хадгалагдаагvй
нєхцєлд вэб хуудас єєрчлєгдєх агшинд vгvй болно. Тиймээс бидэнд датабэйс
хэрэгтэй болдог.РНР-д 3 ( +1 ) тєрлийн variable байдаг. Эдгээрийг дурдвал
Numbers, Strings ба Arrays ( Objects гэж бас нэг байдаг гэхдээ энэ хуудасны
тєвшнєєс дээгvvр тул оруулахгvй ) .
Variable синтакс.
Variable-г бичихдээ долларын тэмдэгээр ( $ ) эхлvvлээд
нэрийг нь бичнэ. Нэр нь vсэг ( A-Z, a-z ) эсвэл доогуур зураасаар ( _ ) эхлээд
тоо эсвэл vсэгнvvдийн холимогоор дуусна.
$ + vсэг эсвэл доогуур зураас + vсэг, тоо холилдсон
$House (зєв)
$_Table (зєв)
$chair (зєв)
$3dogs (буруу, тоогоор эхэлсэн)
$@home ( буруу, тусгай тэмдэгт болохгvй)
Хоёрдах чухал зvйл бол том жижиг vсгийн асуудал. $Chicken ба
$chicken хоёр бол тусдаа хувьсагчид юм. Ялгаа нь том жижиг vсгийн ялихгvй
зєрєє. Иймээс хувьсагчийн нэрийг бичихдээ энэ талаар санаж байх хэрэгтэй. Хоёр
vгнээс vгнээс бvтсэн хувьсагчийг нэрлэхдээ доогуур зураасаар тусгаарлах нь
хамгийн тохиромжтой арга. Жишээ нь: $Mongol_hun хувьсагчийн нэр нь $Mongolhun
нэрээс илvv ойлгомжтой уул нь vр дvн нь яг адилхан боловч. Зарим хvн $Mh гэж
нэрлэсэн ч болно. $Mongol_hun нь $mongol_hun-ээс ялгаатайг битгий мартаарай.
РНР-ын бусад програмын хэлнээс ( уул нь вэб хэл, гэхдээ
програмын хэлэнд их тєстэй тул програмын хэл гэсэн ч болно ) ондоо нэг зvйл нь
хувьсагчийн тєрєлийг эхэнд заах ( declare variable type or intialize )
шаардлагагvй байдаг.
РНР єгєгдлийг шууд ямар тєрєл болохыг заалгалгvйгээр мэддэг.
Энэ нь програм бичихийг бага зэрэг хєнгєвчилсєн сайн талтай.
Танилцуулга
PHP is a server-side, cross-platform, HTML embedded
scripting language.
РНР бол сэрвер талын, платформ хамааралгvй, HTML холилдсон,
вэб хэл.
Дээрх тодорхойлолтыг тайлбарлъя.
1. Сэрвер талын — Бvх РНР кодууд сэрвер дээр байрлах бєгєєд
сэрвер дээр єгєгдєл нь гvйцэтгэгдэнэ.
2. Платформ хамааралгvй — РНР кодыг Unix, Windows NT,
Macintosh болон бусад vйлдлийн системтэй сэрвер дээр ажиллуулж болно.
3. HTML холилдсон — РНР кодыг HTML кодын дотор хольж болно.
4. Вэб хэл — Вэб хэл нь програмын хэлээс ялгаатай. Вэбийн
хэлээр бичсэн програм нь браузэрын туслалцаатайгаар ажилладаг бол програмын
хэлээр бичсэн програм єєрєє биеэ дааж ажилладаг.
Тэгэхээр РНР бусад вэб хэлээс юугаараа давуутай вэ? Яагаад
бид нар цагаа гарздаж энэ хэлийн тухай уншиж байна? Вэб барихад танд байгаа
бусад сонголтуудаас дурдвал HTML, CGI, ASP, JSP ба CFML.
1. HTML — Hyper Text Markup Language
2. CGI — Common Gateway Interface
3. ASP — Active Server Pages
4. JSP — Java Server Pages
5. CFML — Cold Fusion Markup Language
Яагаад РНР? Яагаад гэхээр бусдаасаа хурдан, найдвартай
ажилладаг, сурахад хялбар, олон vйлдэл гvйцэтгэдэг, ёрєнхийдєє “супер”.
Тэгэхээр бусад хэлний тухай тайлбарлахгvй бол хангалтгvй сонсогдож байна.CGI
код бичихийн тулд вэбмастер Perl, Python эсвэл C зэрэг хэл мэддэг байх
шаардлагатай. Дээрх хэлvvд бол вэб хэл биш, програмын хэл. Програмын хэл
сурахад цаг, хєдєлмєр, мєнгє их гарздана. Ёрдєє л вэб програм бичихийн тулд
бvтэн програмын хэл сурах бол илvv vйлдэл. Хэрвээ вэбээс програмчлал руу шилжих
зорилготой байгаа нєхцєлд бол ондоо хэрэг.HTML хэл бол вэбийг бvтээх хэл
болохоос ямар нэг vйлдэл гvйцэтгэх чадваргvй. Иймээс зєвхєн STATIC хуудас
хийхэд хэрэглэнэ.ASP код бичихийн тулд вэбмастер Visual Basic програмын хэлийн
VB Script хэл эзэмшсэн байх шаардлагатай.JSP бичихэд JAVA програмын хэл мэддэг
байх хэрэгтэйCFML Cold Fusion бол РНР -д дєхєж ирнэ. Сурахад хялбар, HTML
холилдсон вэб хэл.
Тэгэхээр зарим хvн JavaScript-н талаар бодож байж магадгvй.
JavaScript хэл бол сэрвер талын бус, хэрэглэгчийн талын вэб хэл. Иймээс бидэнд
хэрэгтэй гэж бодохгvй байна. Яагаад гэхээр бид нар гол нь сэрвер талын вэб
програм бичих талаар хойшдоо хэлэлцэх болно.
РНР -ын жинхэнэ ид шид нь датабэйстэй холбогдож дата буюу
мэдээлэлтэй харьцах. Бусад сэрвер талын вэб хэлvvдээс олон тєрлийн датабэйстэй
холбогдож чаддагаараа онцлог.
Доор хэдхэнийг дурдвал:
MySQL
Oracle
Access
SQL
PostgreSQL
mSQL
SyBASE
Бусад жишээнээс дурдвал ASP хуудсууд Microsoft Access-тэй
харьцдаг бa 2-уулангийх нь ард Microsoft байж байхад РНР бараг бvх тєрлийн
датабэйс програмтай холбогдож чаддагаараа давуу.
Датабэйс бол SQL дээр бичигдсэн олон хvснэгтээс бvтсэн,
мэдээлэл хадгалах ба гаргаж vзvvлэх зориулалттай, dynamic вэбийн ар талд гол
vvргийг гvйцэтгэгч нууц ноёнтон юм. Хvснэгт бvр нь багана ба мєрvvдээс бvрдэх
ба багана мєр 2 огтлолцсон газрыг нь бид “НYД” гэдэг билээ. Нvд бvрт мэдээллийг
хадгалах ба мэдээллийг татахдаа (гаргаж vзvvлэхдээ гэхvv эсвэл?) хамгийн эхний
мєр буюу INDEX -г ашиглан хэрэгтэй мэдээллээ олдог. Тэгэхээр РНР -д датабэйс
хэрэглэснээр вэбийг хэрэглэгчийн хайлтаас vндэслэн мэдээллийг бvрдvvлэх
боломжтой. Энэ юу гэсэн vг вэ гэхээр, вэбмастер 2 зvйл дээр голчлон ажиллана.
1-рт вэбийн гадаад тєрх, 2-рт датабэйсд мэдээлэл оруулах. Ингэснээр вэбмастер
тоо томшгvй олон HTML хуудас бvтээх хэрэггvй болно. Ёрдєє л РНР хуудсаа датабэйстэй
холбож хаячаад пиводоод яваад байж болно гэсэн vг. Эсвэл, PlayStation тоглоод
зах хэсээд явж байсан ч болно. Яагаад гэхээр вэб хуудас єєрєє єєрийгєє
бvтээгээд шинэчлээд байж байх учраас. Муу юм зааж байгаа ч юм биш, датабэйс бол
вэбмастерын амьдралыг эрс хєнгєвчилнє. Вэб хуудсанд датабэйс хэрэглэх нь
сvvлийн vед эрс нэмэгдсэнээс болж датабэйстэй харьцаж чаддаг вэб хэл сурах нь
вэбмастерууд тун чухал юм. Та тэдний нэг нь гэж би таамаглаж байгаагаас гадна
танд vvнийг сурахад тань туслах болно. Гадуур єчнєєн тєрлийн датабэйс програм
байх ба эдгээрээс MySQL датабэйс хамгийн єргєн хэрэглэгдэж байна. РНР нь
MySQL-тэй хамтран хvчирхэг бєгєєд хурдан холимог вэб програм vvсгэнэ. MySQL бол
STRUCTURED QUERY LANGUAGE хэрэглэж мэдээлэлтэй харьцана. MySQL-г сонгож энд
хэрэглэх болсон шалтгаануудаас дор дурдвал:
Yнэгvй (UNIX сэрвэрvvдэд vнэгvй)
Платформ хамааралгvй (Cross Platform)
Дунд хэмжээний хурд ба ажиллагаатай
Сурахад хялбар (1 юмуу 2 єдєр хангалттай!)
OSS (Open Sourse Software)
Maш чухал: Энэхvv РНР вэб програмын хэлний танилцуулга
хуудас нь РНР дєнгєж сурж эхэлж буй сонирхогчоор бvтээгдсэн бєгєєд чанарын
шаардлага хангахгvй, буруу ташаа тайлбарласан тохиолдол гаргасан байхыг
vгvйсгэхгvй. Иймээс та бvхэн эндээс мэдсэн сурсан зvйлээ мэргэжлийн программистуудаас
асууж давхар лавшруулан мэдэж авах эсвэл тухайн програмыг бvтээгчдийн албан
ёсны вэб хуудсаар зорчин давхар шалгаж байхыг анхааруулъя!
Алдаа байваас оруулъя гэж оруулсангvй, мэдлэг туршлага
дутуугаас юм. Мунхгийн харанхуйгаас гэтэлгэх ариун дээд эрдэм номын дор
мєргємvv!
PHP ба вэб сэрвэр суулгах
РНР ба вэб сэрвер, датабэйс сэрвэр суулгах бол дурын хэрэг.
Заавал зайлшгvй vйлдэл биш. Хэрвээ та єєрєє РНР кодоо єєрийн компьютер дээр
шалгах шаардлагатай бол энэ нь зайлшгvй. Хэрвээ танд интернэт холболт байдаг
бол бичсэн РНР кодоо вэб сэрвер лvvгээ хуулаад л шалгаад байж болно л доо.
Гэхдээ нэгэнт єєрийн сэрверийг ажиллуулчихаад шалгаад сууж байх нь хамгийн
аятайхан билээ. Тиймээс одоо хэрхэн вэб сэрвер, РНР сэрвер, MySQL сэрвер
суулгахыг vзье.
Хамгийн эхэлж бид нар вэб сэрверээ сонгох шаардлагатай. Вэб
сэрвер ажилласнаар єєрийн компьютер дээр ( vvнээс хойш локал машин гэж нэрлэнэ
) вэб хуудсуудыг ( HTML ) шалгах боломжтой болно. Апачиг бид вэб сэрверээр
сонгож авна. Апачи бол Unix сэрверийн гол програм, найдвартай, хурдтай, хамгийн
єргєн тархсан вэб сэрвер. Тэгэхээр доорх 6 vйлдлийг гvйцэтгэсэнээр бид сэрверээ
локал машинд суулгана.
1. Апачиг http://www.apache.org/
-оос хуулж ав. Энэ бол vнэгvй. Мєн РНР-г http://www.php.net/
-ээс хуулж ав. Бас л vнэгvй.
2. Хуулж авсан РНР setup файлаа хатуу диск руу задал
(C:/PHP4). Энэ vед WINZIP хэрэг болно.
3. Апачиг хуулж авсан setup файлаас ажиллуулж суулгаад,
локал машин дээрээ C:\www гэсэн фолдер нээ.
4. C:/PHP4 фолдер доторх PHP.INI-DIST файлийг РНР.INI гэж
нэрлээд (rename) уг файлийг Notepad мэтийн тэкст програмаар нээгээд доорх
хvснэгтэд харуулсан байдлаар єєрчил.
doc_root = “c:\www”…………extension_dir = “c:\php4″
doc_root = “c:\www”…………extension_dir = “c:\php4″
5. C:/PHP4 фолдероос PHP.INI ба PHP4TS.DLL файлиyдийг
C:/WINDOWS фолдер луу хуул (Copy and Paste, NOT Drag and Drop).
6. Одоо апачиг янзлахийн тулд эхлээд апачи суулгасан
фолдероосоо httpd.conf файлийг ( httpd.conf.default биш ) Notepad-аар нээгээд
#ServerName new.host.name гэсэн мєрийг олоод new.host.name гэдгийн оронд
localhost гэж оруулаад хадгал.
# 127.0.0.1 is the TCP/IP local
# machine always knows itself b
# local resting and development
#
# ServerName localhost
# 127.0.0.1 is the TCP/IP local
# machine always knows itself b
# local resting and development
#
# ServerName localhost
Дээрх байдлаар vзэгдэх болно. Дараа нь httpd.conf файлаа
дахиж нээгээд
#
D ocumentRoot “C:/www”
#
D ocumentRoot “C:/www”
#
Дараа нь AddType application/x-tar.tgz мєрийг олоод доор нь
дараах мєрvvдийг нэмж оруул.
ScriptAlias /php4/ “c:/php4/”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddType application/x-httpd-php .phtml
Action application/x-httpd-php “/php4/php.exe”
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
AddType application/x-httpd-php .phtml
Action application/x-httpd-php “/php4/php.exe”
Хадгалаад хаа.
7. Хэрвээ бvх алхамыг зєв дагасан бол одоо РНР, Апачи 2
локал машинд суусан байгаа. Шалгахдаа браузэрын Address цонхонд http://localhost/ гэж бичээд ENTER гээ. C:/www
фолдер дотор ямар нэг файль байгаа нєхцєлд харагдах ёстой. Yvнээс хойш бvтээсэн
РНР хуудсаа C:/www фолдер дотор байрлуулж локал машин дээр ажиллагааг нь шалгаж
болох боломжтой юм.
MySQL сэрвер суулгах
1. Эхлээд http://www.mysql.com/
-оос MySQL Setup файль хуулж аваад локал машинд суулга.
2. C:\mysql\bin фолдероос mysqld файлийг сонгож ажиллуул.
Нэг MS-DOS цонх гарж ирээд дороо алга болно. Энэ нь MySQL ажиллаж байна гэсэн
vг.
Ингээд л болоо.
Гэхдээ дээрх сэрверvvдийг суулгах хамгийн хялбар арга бол
httptriad гэдэг програмыг windows машин дээр суулгах юм. Httptriad нь PHP,
MySQL, Apache ба Perl-г хамтад нь суулгадаг учраас хамгийн амархан.
Нэгэнт датабэйс бvтээгдсэний дараагаар дотор нь хэдэн ч
хvснэгт нээж болно. Хvснэгт бvр нь багана мєр ашиглаж мэдээллээ хадгална.
мєр = rows, record
багана = column, field
багана = column, field
Хvснэгт бvтээх болон бусад mySQL командуудыг гvйцэтгэхэд
зарим тохиолдолд SQL командыг хэрэглэх шаардлага гардаг.
mysql_db_query():
$Query = “SQL формат дээр бичигдсэн тэкст энд бичигдэнэ”;
mysql_db_query(“$Database_name”, $Query, $Link);
$Query = “SQL формат дээр бичигдсэн тэкст энд бичигдэнэ”;
mysql_db_query(“$Database_name”, $Query, $Link);
Тэгэхээр энэ Query гэж юу вэ? Товчхондоо бол Query бол
команд эсвэл хvсэлт гэсэн vг ба датабэйс сэрвэрт юу хийхийг нь тушаадаг.
Хvснэгт бvтээхэд:
$Query = “CREATE table TABLENAME (column1, column2, etc.)”;
гэж байна. Багануудыг хооронд нь таслалаар салгах ба эхлээд
баганын нэр, дараа нь тєрлийг нь зааж єгнє. Хамгийн тvгээмэл тєрєл бол TEXT
буюу vг єгvvлбэрээс тогтсон дата ба INT буюу тооноос бvтсэн дата юм.
Хамгийн эхний баганыг ихэвчлэн тvлхvvр багана (primary key)
болгодог. Ингэснээр дараачийн мєрнvvдээс дата (мэдээлэл) олоход хялбар болно.
$Query = “CREATE table TABLENAME (id INT PRIMARY KEY,
information TEXT)”;
Ямарч хvснэгтэд цорын ганц тvлхvvр багана байна. 2 байж
болохгvй. Тvлхvvр баганын мєр бvрийг нэг нэгээр нэмэгдэх байдлаар хийдэг.
Тиймээс эхний мєрийн тvлхvvр баганын нэр нь 1 ба 2 дах мєрнийх 2 гэх мэтчилэн
vргэлжилнэ. Хэрвээ 7 дах мєрний мэдээллийг гаргах болбол тvлхvvр баганаас 7-р
мєрийг олоод тvvнээс хойших бvх баганаас мэдээллийг нь гаргаж авна. Иймээс их
хэмжээний мэдээллийн дотроос хvссэн хэдхэн хуудас мэдээллээ ганц тоогоор
дамжуулан хурдан олж авдаг.
Жишээ болгоод нэгэн хvснэгт бvтээе.
{ Датабэйс бvтээх тухай }
<?php
$Host = “localhost”;
$User = “”;
$Password = “”;
$Database_name = “new_database”;
$Table_name = “feedback”;
$Host = “localhost”;
$User = “”;
$Password = “”;
$Database_name = “new_database”;
$Table_name = “feedback”;
$Link = mysql_connect ($Host, $User, $Password);
$Query = “CREATE table $Table_name (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT, email_address TEXT, comments TEXT)”;
if (mysql_db_query($database_name, $Query, $link)) {
print (“Хvсэлтийг гvйцэтгэв\n”); } else {
print (“Хvсэлтийг биелvvлэх боломжгvй!\n”);
}
mysql_close($Link);
?>
$Query = “CREATE table $Table_name (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT, email_address TEXT, comments TEXT)”;
if (mysql_db_query($database_name, $Query, $link)) {
print (“Хvсэлтийг гvйцэтгэв\n”); } else {
print (“Хvсэлтийг биелvvлэх боломжгvй!\n”);
}
mysql_close($Link);
?>
Дээрх РНР кодыг задлаж vзье.
id INT UNSIGNED гэдэг нь эхний баганыг тvлхvvр багана бєгєєд
зєвхєн нэмэх тоог утга болгон авна гэсэн vг.
NOT NULL гэдэг нь нь тухайн баганын мєр бvхэнд утга харгалзах
ёстой гэсэн vг. Зарим хvмvvс NULL гэдгийг хоосон буюу утга агуулдаггvй учраас
0-тэй адил гэж ойлгодог. Yнэндээ NULL бол 0 ч биш, юу ч биш. 0 бол єєрєє утга
байж болно. NULL утга байж чадахгvй. -1, 0, 3 бол 3 тоо. Тэгэхээр 0 бол -1 ба
+1-н хооронд орших нэгэн бодит тоо мєн. Харин NULL бол англи хэлний NOTHING
гэсэн vгтэй утга адил.
Мєр бvр нь нэгээр нэмэгдэнэ гэдгийг AUTO_INCREMENT зааж
байна. Эцэст нь улиг болоод байгаа тvлхvvр багана гэдгийг нь PRIMARY KEY нотолж
байна. Дараагийх нь баганаас эхлээд бид нар баганын нэр ба тєрлийг нь
first_name TEXT гэх мэтээр vргэлжлvvлээд
mysql_close($Link); командаар датабэйсийг хааж байна.
Дүгнэлт
Энэхүү бие даалтыг хийснээр PHP хэлний үүссэн түүх болоод,бусад хэлнүүдээс юугаараа давуу талтай болон хэрхэн яаж ажилладаг тухай мэдэж авлаа.
Personalhome page –г хөгжүүлэхэд чамгүй хувь нэмэр оруулж буй энэхүү хэлнь 1994 оноос эхэлж үүссэн ч өдгөө хэдэн жилийн дотор гайхалтай хурдацтай хөгжиж байгаа нь аливаа веб хөгжүүлэгч дэд тохирсон хэл юм гэж бодлоо. С
++ хэл нь маш олон жилийн туршид яригдаж байгаа ч PHP хэл шиг олон хэрэглэгчид, олон серверүүдэд тийм ч хөгжингүй ашиглагдаагүй л байна.
PHP хэл С++хэлийн кодтой ижил бичигддэг ч
хэрэглэгчдэд энгийн веб-н нүүрээр харагдад хөгжингүй, веб хөгжүүлэхэд тохиросон , хүчээ авч буй хэл юм.
Би танай сайтад нэгдэж, 3 хоногийн дотор одоо миний түншээс ирсэн захиас ирсэн. 2 сарын мессеж, утасны дуудлагаас хойш бидэнтэй уулзаж, түүнийг харсан тэр мөчийг би мэдэрсэн. Тэр бол тэр байсан. Мөн тэр хэвээрээ байна. Via touch templeofanswer@hotmail.co.uk, дуудлага / Whatsapp +234 (815) 542-5481
ReplyDelete