Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 15.3 KB

lab02-php.md

File metadata and controls

67 lines (49 loc) · 15.3 KB

Лаб 02. PHP хэл

Энэ лабораторийн ажлаар PHP хэлээр код бичих, PHP хэлээр динамик агуулга боловсруулах, HTTP гаралтыг тодорхойлох, файл холбох, хүснэгттэй ажиллах, функц тодорхойлж ашиглах, PHP-ийн зарим стандарт функцийг практикт хэрэглэх ур чадварыг эзэмших зорилготой. Үүний тулд дараах дасгал, даалгаврыг гүйцэтгэнэ.

  1. PHP скрипт ба динамик гаралт
  2. PHP хэл
  3. PHP функц, хүснэгт, тэмдэгт мөр
  4. Хичээл сонголт

Дасгал 1. PHP скрипт ба динамик гаралт

PHP бол вэб серверт динамик гаралтыг үүсгэх боломжийг олгодог. Гаралт нь клиентээс ирсэн хүсэлт бүрд ихэвчлэн өөр өөр байдаг. PHP хэлээр бичсэн скрипт код дангаар эсвэл HTML кодтой холилдсон байж болно. Гэхдээ кодыг агуулж байгаа файлын өргөтгөл .php байх ёстой. Учир нь вэб серверт ирсэн хүсэлт .php файлыг зааж байгаа бол вэб сервер PHP кодыг агуулсан файл гэж үзээд "PHP хөрвүүлэгч" програмд дамжуулдаг байна. Мэдээж вэб серверт илүү нарийн тохиргоо хийж файлын энэ өргөтгөлийг солих боломжтой. .php өргөтгөлтэй файлыг PHP вэб хуудас гэж ойлгож болно.

PHP скрипт код ажиллаад вэб хөтөч програм дэлгэцлэхэд тохиромжтой агуулгыг вэб серверт буцааж өгдөг. Харин вэб серверийг үүнийг вэб хөтчид буцааж өгнө. Энэ нь ихэвчлэн HTML агуулга байдаг. PHP кодыг нээх <?php таг болон хаах ?> таг дотор бичээд дан HTML агуулга буцааж өгдөг байхаа програмчилж болно. Эсвэл зөвхөн динамик скрипт шаардлагатай байгаа газарт хэсэгчилсэн PHP кодыг дээрх тагийг ашиглан бичээд бусдыг нь стандарт HTML кодоор үлдээж болно. Өмнөх лабораторийн ажилд үзүүлсэн PHP кодыг үзнэ үү. Эсвэл PHP болон HTML кодыг тус тусад нь файлд бичээд холбож ашиглах аргыг хэрэглэж болно. Энэ тохиолдолд скрипт код болон HTML код хоёрыг тус тусад салгаж бичих бөгөөд ингэснээр нэг файлд олон төрлийн код бичихээс сэргийлж програмын кодыг илүү цэвэрхэн, бас ээдрээгүй болгож өгнө. Хэрэв PHP кодыг дангаар нь нэг файлд (Жишээ нь, Код 1) бичих бол нээх, хаах таг шаардлагагүй.

Код 1. Динамик агуулга

echo "<ul>"; 
for($i=0; $i<5; $i++){
  echo '<li>'.(++$i).'</li>'; 
}
echo "</ul>";

Гүйцэтгэх ажил:

  1. Код 1-д үзүүлсэн шиг <table>, <tr>, <td> зэрэг элементийг давталтаар байгуулж динамик хүснэгтэн агуулга үүсгэх
  2. Хүснэгтэн агуулга үүсгэх PHP кодын мөр бүрийн ард тайлбар бичих

Дасгал 2. PHP хэл

PHP бол сервер талын вэб програмчлах зориулалттай скрипт хэл юм. Скрипт хэлээр бичсэн кодыг интерпретер програм мөр мөрөөр ажиллуулж үр дүнг буцаадаг. Өөрөөр хэлбэл, програмын кодын эх файлаас шууд ажиллуулдаг гэсэн үг. Вэб хуудас нь скрипт хэлээр бичигдэж хэрэглэгчээс хүсэлт ирэх үед ажиллаад үр дүнгээ буцаадаг. Скрипт хэл бол бусад програмчлалын (жишээ нь, Си, Жава г.м) хэлтэй харьцуулахад хялбар бичиглэлтэй, өгөгдлийн уян хатан төрөлтэй, хэрэглэхэд хялбар нэмэлт боломж ихтэй. Энэ дасгалаар PHP хэлний дүрэм, хувьсагч, өгөгдлийн төрөл, дотоод төрөл хувиргалт, оператор, илэрхийлэл, удирдлагын командуудыг судалж хэрэглэж сурах зорилготой.

Гүйцэтгэх ажил:

  1. [1] номын 3 болон 4-р бүлэг, [2] номын 2-р бүлгийг тус бүр уншиж судлан жишээ кодыг ажиллуулж үзэх
  2. [1] номын 3, 4-р бүлгийн дор байх асуултад хариулж бичих

Зөвлөгөө: Програмын кодыг өөрийн гараар бичиж ажиллуулах нь код бичих дадалтай болоход ашиг тустай. Иймд номоос шууд хуулж бичихгүйгээр бүх кодыг өөрөө бичих нь зүйтэй. Мөн програм кодыг ажиллуулахдаа тухайн кодыг сонирхсон логик асуултынхаа хүрээнд өөрчилж үзэх, мөн чанарыг нь ойлгоход гол анхаарлаа хандуулах зөв юм. Мөн та нарын сайн мэдэх програмчлалын Си болон бусад хэлнээс юугаараа ялгаатай, юугаараа хялбар, онцлогтой болохыг харьцуулж эргэцүүлж судлах нь илүү үр дүнтэй болно.

Зөвлөгөө: Бүлгийн асуултад хариулж бичихдээ тухайн асуултыг сайтар ойлгож өөрийн ойлгосноор, өөрийн үгээр тайлбарлаж бичих нь үр дүнтэй юм. Бусад эх сурвалжаас хуулбарлах, бусдын үгээр тайлбарлаж хариулбал энэ ажлыг хийгээгүйтэй ижил болно.

Дасгал 3. PHP функц, хүснэгт, тэмдэгт мөр

Вэб хуудасны кодыг PHP хэлээр хамгийн хялбар зохион байгуулах нэг арга бол кодыг хэсэгчилж функцэд хувааж хадгалах юм. Мөн хэрэглэгчийн функц зохиож олон удаа ашиглах практик өргөн байдаг. Мөн PHP хэл хэдэн зуун стандарт функцүүдтэй. Тухайлбал, тэмдэгтийн цуваатай ажиллах, огноо, цаг хугацааны тооцоолол хийх зэрэг олон багц функцүүд бий. Түүнээс гадна callback, anonymous функцүүдийн тодорхойлолт, хэрэглээ нь илүү сонирхолтой, бас эдгээр функцийн хэрэгцээ их байдаг.

PHP програмчлалд өргөн хэрэглэдэг өгөгдлийн төрөл бол хүснэгтэн хувьсагч (array) юм. Үнэндээ, PHP хүснэгтэн хувьсагч бол эрэмбэтэй мап (ordered map) юм. Хүснэгтэн хувьсагчийн нэг элемент key=value гэсэн утгын хослолоос бүрдэх ба value нь PHP хэлний дурын өгөгдлийн төрлийн утга байж болдог. Мөн элементүүд нь санах ойд заавал дарааллан байрлах албагүй учир хүснэгтийн элементэд өөрчлөлт оруулах, устгах зэрэг үйлдлийг хийхэд хялбар байдаг. Хүснэгтэн хувьсагчийг array() функцийг ашиглан үүсгэдэг. Мөн хүснэгтэн хувьсагчтай ажиллах маш олон функцүүд бий. PHP хэлний хүснэгтэн хувьсагчийг ашиглан төрөл бүрийн өгөгдлийн төрлийг үүсгэх боломжтой. Үүнийг хоорондоо дотоод холбоо бүхий (nested - нэг нь нөгөөгөө агуулсан) хүснэгтүүдийн хослол, хувилбараар гүйцэтгэх боломжтой. PHP хүснэгтэн хувьсагчийн төрөл бүрийн хэрэглээг судлах нь PHP хэлний сонирхол татсан бас нэг онцлог болно.

Аливаа програмчлалд тэмдэгт мөртэй ажиллах зайлшгүй шаардлага үргэлж тулгардаг. PHP хэлний хувьд тэмдэгт мөртэй ажиллах хэдэн арван функцүүд бий. Эдгээр функцүүд тэмдэгт мөртэй янз бүрээр ажиллах боломжийг олгоно. Тэмдэгт мөртэй ажиллахад regular expression, түүнийг хэрэгжүүлсэн функцүүд бас чухал хэрэг болдог.

Энэ дасгалаар PHP хэлний функцийн хэрэглээ, хүснэгтэн хувьсагчийн онцлог, давуу тал, тэмдэгт мөртэй ажиллах боломжыг судлаж танилцаарай.

Гүйцэтгэх ажил:

  1. [1] номын 5 болон 6-р бүлэг, [2] номын 3, 4, 5-р бүлгийн бүх сэдвийг уншиж жишээ кодыг ажиллуулж судлах
  2. [1] 5 болон 6-р бүлгийн бүх асуултад өөрийн үгээр хариулж бичих

Зөвлөгөө: Функцийг хэрэглэхээсээ өмнө php.net PHP хэлний албан ёсны гарын авлагаас уншиж танилцах нь зүйтэй. Тухайн функцийн тодорхойлолт, зориулалт, ажиллах зарчим, авах параметрийн жагсаалт, тэдгээрийн тайлбар, ямар утга өгч болох тухай, мөн ямар утга ямар тохиолдолд буцаадаг зэргийг уншиж танилцсны үндсэн дээр ажиллах нь зүйтэй.

Даалгавар 1. Хичээл сонголт

Оюутны хичээл сонголтын вэб хуудасны PHP скриптийг дараах шаардлагын дагуу бичиж өгсөн даалгаварыг гүйцэтгэнэ.

  1. Олон оюутныг мэдээллийг хадгалах хүснэгт үүсгэх бөгөөд нэг элементэд нэг оюутны мэдээллийг овог, нэр, SISI ID, мэргэжлийн хөтөлбөр, сонгосон хичээл гэх мэт 5 өөр шинжээр (элемент) хадгална. Сонгосон хичээл элемент нь бас хүснэгт байх бөгөөд хичээл бүр нь хичээлийн нэр, индекс, багц цаг зэрэг 3 элементтэй байна. Энэ шаардлагын дагуу PHP-ийн хүснэгтээр өгөгдлийн бүтэц зохионо. Өөрийн зохиосон өгөгдлийн бүтцийн давуу болон онцлог талыг тодорхойлж бичнэ.
  2. Оюутны хүснэгт, оюутны нэрийг параметр болгон авч оюутны нэрээр хайж тохирох оюутны/оюутнуудын мэдээллийг бүхэлд (хүснэгтийн нэгж элементээр) нь буцаадаг функц бич. Хайх оюутны нэр нь заавал бүрэн байх албагүй бөгөөд тухайн үг, үсэг оролцсон ойролцоо нэртэй оюутны/оюутнуудын мэдээллийг буцаадаг байна.
  3. SISI ID болон сонгосон хичээлүүдийг параметртээ авч оюутны мэдээллийг хадгалах хүснэгтэд шинэчилж оруулдаг функц бич. Энэ функцийг дуудаж ажиллуулахдаа тогтмол утгаар шаардлагатай хүснэгтэн хувьсагчийг үүсгэж параметр болгон өөрчилнө. Функцийг туршихад тогтмол утга өгөөд шалгаж болно.
  4. Оюутны хүснэгтийг параметртээ авч бүх оюутны мэдээллийг харгалзах сонгосон хичээлүүдтэй хамт жагсаан харуулах HTML кодыг үүсгэдэг функц бич. Жагсаан харуулахдаа оюутны нэрээр А-Я үсгийн дарааллаар эрэмбэлж харуулна. Үүний тулд хүснэгтийн утгуудыг эрэмбэлэх нэргүй (anonymous function - [2] номын 74-р хуудас, 134-139-р хуудас) функцийг ашигла. usort, uasort, uksort функцүүдийг судлах шаардлагатай. Энэ даалгаварт ямар нэг байдлаар хэрэглэгчээс утга авах шаардлагагүй. Функцийн ажиллагааг шалгахын тулд тогтмол утгууд өгч болно.
  5. Оюутны мэдээллийг хадгалах хүснэгтэн хувьсагчийн утгыг скрипт ажиллаад дуусах үед файлд бичих, скрипт ажиллаж эхлэхэд файлаас уншиж оюутны хүснэгтийг өгөгдлөөр дүүргэдэг функц бичиж шаардлагатай газар нь дуудаж ажиллуулна.

Санамж: Скриптийг ажиллуулахад шаардлагатай утгыг хэрэглэгчээс авах шаардлагагүй учир HTML маягтаар хэрэглэгчийн график интерфэйс хийх шаардлагагүй. PHP хэлний функц, хүснэгтэн хувьсагчийн хэрэглээ, онцлогийг судалж цаашид ашиглаж чадах ур чадварыг эзэмшихдээ анхаарал хандуулаарай.

Ном зүй

[1] Robin Nixon, Learning PHP, MySQL, JavaScript, CSS & HTML5, 3rd Edition, 2014, 729 pages, ISBN: 978-1-491-94946-7 [2] Kevin Tatroe, Peter MacIntyre, Rasmus Lerdorf, Programming PHP, 3rd Edition, 2013, 540 pages, ISBN: 978-1-4493-9277-2