АУСистем хийцгээе. Хичээл 1

Php хэлийг ашиглан веб сайт хийх ажил шинээр эхэлж байгаа хүмүүст ойлгомж муутай санагдах нь элбэг тохиолдоно. C# NET, Visual Studio зэрэг дээд түвшингийн хэлний фреймворк ашиглан хэрэглэгчийн компьютерт суулган ажилладаг программ зохиож байсан хүмүүст веб сайт боловсруулах ажил эхлээд их төвөгтэй мэт санагдана. Учир нь Php, MySql ашиглан сайт хийхийн тулд та сервер болон хэрэглэгчийн талын бүх зүйлээ өөрөө хийх хэрэгтэй болдог. Ийм хэмжээний ажлыг кодлон веб сайт боловсруулна гэвэл мэдээжээр их хугацаа орох нь ойлгомжтой. Тэгвэл сайтыг хэрхэн хурдан боловсруулах вэ? гэсэн асуулт гарч ирдэг. Энд л Php фреймворк, Агуулгын удирдах систем буюу CMS (Content management system) гэсэн ойлголт гарч ирдэг.

Ямарч программ боловсруулах ажилд өгөгдлийн сантай ажиллах, системд нэвтрэх, тексттэй ажиллах, тохиргоонуудыг хийх гээд ижилхэн ажиллагаанууд байнга давтагдаж байдаг. Ийм ерөнхий ажиллагаануудыг хийх сангуудыг үүсгээд тэдгээрийг ашиглах боломжийг бүрдүүлсэн классуудын санг Php фреймворк гэдэг. Жишээ нь Yii, Sympony, Codeigniter, Zend гэх мэтээр олон тооны фреймворкууд бий. Эдгээрийг сайт хийх хэв гээд ойлгоход болно. Php фреймворкууд бол сайт хийх бэлдэц.

Фреймворкуудын зэрэгцээ сервертээ суулгаад шууд бэлэн сайт үүсгэх боломжтой пакетууд байдаг бөгөөд эдгээрийг Агуулгын удирдах систем буюу CMS (Content management system) гэдэг. Өргөн дэлгэрсэн АУС -үүдэд Joomla, Wordpress, Drupal зэргийг дурдаж болно.
Php хэл нээлттэй кодтой учраас фреймворк, АУ системийн аль алинг хэрэглэгч өөрийн хүссэн байдлаар өргөжүүлэх боломжтой байдаг давуу талтай.
АУС -үүд өөрийн гэсэн баазын бүтэц, хуудсыг үзүүлэх хэв /теймплейт/ зэргийг стандарт хэлбэрээр шууд ашиглах боломжийг бүрдүүлсэн байхад фреймворкууд сайтыг боловсруулах анхан шатны бэлдэц маягаар байдгаараа ялгаатай. Эндээс Фреймворк бол үндсэн функцуудыг агуулсан программын сангууд харин АУС -үүд нь сайтын бэлэн систем гээд ойлгоход болно. Энэ хоёрыг бүр тусдаа зүйлүүд гэж ойлгох хэрэггүй. АУС -үүд өөрийн гэсэн фреймворк дээр л үндэслэн хийгдэнэ. АУС -үүдийг хийхдээ өргөн ашигладаг аль нэгэн фреймворкийг ашигласан ч болно эсхүл зохиогчид өөрсдийн бичсэн фреймворкийг ашиглаж ч болдог.

Бид энэхүү цуврал хичээлээр хэдийгээр жижигхэн боловч бүрэн ажиллагаатай АУС-ийг өөрөө боловсруулахыг авч үзэх болно. Хичээлийн явцад та MySQL бааз үүсгэх, обьект, тогтмолууд, файл оруулах, сессионтой ажиллах гээд Php хэрэгслүүдтэй танилцана. Үүнээс гадна программын логикоос харуулах хэсгийг хэрхэн салгах, илүү аюулгүй PHP кодыг бичих зэргээр өөрийн системийг үүсгэхэд хэрэгтэй зүйлүүдийг мэдэх болно.

Тайлбар:
Хичээлийн матераилуудыг үзэхийн тулд танд PHP , MySQL сервер модулийг суулгасан Apache веб сервер хэрэгтэй болно. Өөрийн комьютерыг веб сервер болгох тухай Компьютерт локал веб сервер суулгах хичээлээс үзээрэй.

Манай АУС-ийн гүйцэтгэх үүрэг.

Эхний ээлжинд бидний хийх АУС-ийн юу хийхийг нарийн тодорхойлсон байх хэрэгтэй. Манай АУС дараах ажиллагааг хийх болно.
Хэрэглэгчийн хэсэг

  • Сүүлийн 5 материалыг үзүүлэх нүүр хуудас
  • Бүх материалын жагсаалтыг үзүүлэх хуудас
  • Сонгосон материалыг үзүүлэх хуудас

Серверийн хэсэг

  • Админ нэвтрэх болон гарах
  • Бүх материалуудын жагсаалт
  • Шинэ материал нэмэх
  • Материалыг засварлах
  • Материалыг устгах

Материал бүр өөрийн толгой, товч агуулга, агуулга, нийтэлсэн огноотой байна.

Ажлын төлөвлөгөө

  1. Өгөгдлийн баазыг үүсгэх
  2. articles хүснэгтийг үүгэх
  3. Тохиргооны файлыг үүсгэх
  4. Article классыг хийх
  5. Хэрэглэгч талын скриптийг хийх. index.php
  6. Сервер талын скриптийг хийх. admin.php
  7. Хэрэглэгч талын теймплейт үүсгэх
  8. Сервер талын теймплейт үүсгэх
  9. Системийн хэвийн хүснэгт, логог үүсгэх

Системийн хийх үйлдлүүд, ажлын төлөвлөгөөг гаргасан болохоор ажилдаа орцгооё. Эхлээд сайтын агуулгыг хадгалах өгөгдлийн баазыг MySQL дээр үүсгэе. Өгөгдлийн баазыг үүсгэхдээ веб серверийн терминал болон phpMyAdmin утилитын алийн ч ашиглаж болно.

Веб серверийн терминалыг ашиглах

mysql клиент программыг ачааллах.

Үүнийг XAMPP Сontrol Panel -г ашиглан хэрхэн хийхийг үзүүлье. Та өөр сервер суулгасан байсан ч нэг их зөрөхгүй. Компьютерт локал веб сервер суулгах хичээлийг үзэн локал серверийг суулгасан бол таны компьютерт XAMPP суусан байх ёстой. XAMPP Сontrol Panel -г нээгээд Shell товчийг дарна.

Санамж:
Shell товчийг эхлээд дарахад терминал ажиллуулах .bat файл үүсгэх эсэхийг асууж болно. Та зөвшөөрсөн хариу өгөхөд л болно.
Нээгдсэн терминалын цонхонд

mysql -u username -p

командыг бичин өгөөд Enter товчийг дарахад Таныг нууц үгээ оруулахыг шаардана. MySQL серверт хандах нууц үгээ оруулна.
username - MySQL серверт өгөгдлийн бааз үүсгэх эрх бүхий хэрэглэгчийн нэр. Локал компьютер дээр ажиллаж байгаа бол хэрэглэгчийн нэрээр root -г ашиглаж болно. Локал компьютерт MySQL сервер суухдаа өгөгдлийн сангийн бүрэн эрхтэй root хэрэглэгчийг пасспортгүйгээр нээн өгдөг. Аюулгүй байдлаа бодвол өгөгдлийн баазыг удирдахдаа өөр нэртэй хэрэглэгч үүсгэж байх нь илүү.   

Өгөгдлийн баазыг үүсгэх.

Эхний алхам зөв хийгдсэн бол mysql> гэсэн промт гарч ирнэ.

create database cms;

командыг өгөөд Enter дарна. Бааз үүсгэсэн тухай мэдээлэл гарч ирнэ.

mysql клиент программаас гарах.

mysql> промтын араас exit командыг өгөөд Enter дарна. Одоо терминалын цонхыг хааж болно.

Одоо бидний системийн агуулгыг хадгалах хоосон бааз үүссэн.

phpMyAdmin утилитыг ашиглах

Өгөгдөл хадгалах баазыг MySQL серверийн phpMyAdmin утилитыг ашиглан хийх боломжтой. Үүний тулд хөтөчийн хаягийн мөрөнд http://localhost/xampp/ гэж бичин ороод PhpMyAdmin цэсээр орно. Таны веб сервер ажиллаж байх ёстойг анхаарна уу. Өөрөөр хэлбэл XAMPP Сontrol Panel дээр Apache болон MySQL серверүүд ажилласан байх хэрэгтэй. PhpMyAdmin хуудасны Databases таб руу ороод гарч ирэх дэлгэц дээр

үүсгэх баазын нэрээ /cms/ өгөөд хоёрдахь жагсаалтаас utf8_unicode_ci -г сонгоод Create товчийг дарна. Таны үүсгэн өгсөн бааз хуудасны зүүн багананд байрлах сервер дээрх баазуудын нэрсийн жагсаалтанд орж ирнэ. phpMyAdmin утилитыг ашиглан баазтай холбоотой олон тооны тохиргоонуудыг хийх боломжтой.
Бид сайтын агуулгыг хадгалах баазыг үүсгэлээ. Баазын нэрийг cms гэж өгсөн. Та өөр нэр сонгож болох ч цаашид бичигдэх кодуудад үүнийгээ тооцох хэрэгтэйг санаж байгаарай. Дараагийн хичээлээс бид баазад хүснэгт үүсгэн өөрсдийн агуулгыг удирдах системээ хийх болно.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 2640 Нийтийн

Бид Php -н обьект хандалтад программчлалын талаар өмнөх хичээлүүдэд үзсэн. Ямар нэгэн зүйлийг сурч эзэмших хамгийн сайн арга бол онолын мэдлэгээс гадна практик ажилд ашиглах явдал байдаг. Иймд бид энэ хичээлээр ОХП -ын дадлагын ажлыг хийх болно.

  Нээгдсэн тоо: 1556 Төлбөртэй

Энэ хичээлээр боловсруулж буй АУСистемийн сервер талын дэлгэцийн формуудыг үүсгэх болно. Ямар ч интернет төсөл хэрэглэгчийн болон серверийн гэсэн хоёр хэсгээс бүрддэг. Энэ зарчим бүхий л программ хангамжид мөрдөгдөх хэрэгтэй. Жишээ нь та дотоод сүлжээний орчинд программ зохиож байлаа гэхэд өгөгдлийн сантай шууд харьцах, хэрэглэгчдийн эрхийг зохицуулах, баазыг архивлах, тодорхой цагаар хийгдэх үйлдлүүдийг гүйцэтгэх зэрэгт системийн админ нэвтрэх эрхтэй тусдаа модул бичих л хэрэгтэй болдог. Ингээд сервер талын темплейтүүдийг зохиож эхэлцгээе.

  Нээгдсэн тоо: 2871 Төлбөртэй

Файлтай ажиллах

Файл нь мэдээлэл хадгалагч дээрх нэр бүхий хэсэг. Файлтай ажиллахын тулд эхлээд түүнийг нээх хэрэгтэй. Энэ зорилгод ихэнхдээ fopen() функцыг ашигладаг. Функц нь нээх файлын нэр болон нээлтийн горимыг заасан тусгай тэмдэгтүүдийг оролтын параметр болгон авна. Эхний параметрын хувьд хэрвээ заагдсан нэртэй файл байхгүй бол функц нь алдаа өгнө. Функцээс source төрлийн утгатай файлын дискрипторийг (файлыг нээхэд олгогдсон дугаар) буцаана. Файлыг нээх ажиллагаа бүтэлгүй болсон тохиолдолд FALSE утгыг буцаана. Хоёрдугаар параметр нь файл нээх горимыг заах бөгөөд доорх утгуудыг авна.

  Нээгдсэн тоо: 3908 Бүртгүүлэх

Обьект хандалтад программчлалын үндэс болсон класс нь абстракт төрлийнх байж болдог. Хичээлээр абстракт класс ба аргууд гэж юу болох, хэрхэн зарлах, хаана ашиглах талаар үзэх болно. Абстракт класс гэж юу вэ?
Обьектыг шууд үүсгэж болдоггүй классыг абстракт класс гэдэг. Ийм төрлийн классыг үүсгэхдээ abstract гэсэн түлхүүр үгийг ашиглана.
Жишээ нь бидэнд Car гэсэн класс байна гэж үзье. Түүнийг abstract түлхүүр үгийг ашиглан абстракт класс болгоод дараа нь түүнээс обьект үүсгэх гээд үзье.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 83

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 132

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 116

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 229

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 269

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 276

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 332

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 320

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 407

 
Энэ долоо хоногт

X санамсаргүй хувьсагчийн магадлалын тархалт дараах хүснэгтээр өгөгджээ. Математик дундаж нь хэд вэ?

X 2 5 3 1
P 0,4 0,2 0,3 0,1

Нээгдсэн тоо : 443

 

тоонуудаас аль нь рационал тоонууд вэ?

A. a,b,e   B. a,d,e   C. b,c,e   D. b,c,d   E. a,c,d

Нээгдсэн тоо : 623

 

1,(3) аравтын үелэх бутархайг энгийн бутархай болго.

Нээгдсэн тоо : 903