АУСистем хийцгээе. Хичээл 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 гэж өгсөн. Та өөр нэр сонгож болох ч цаашид бичигдэх кодуудад үүнийгээ тооцох хэрэгтэйг санаж байгаарай. Дараагийн хичээлээс бид баазад хүснэгт үүсгэн өөрсдийн агуулгыг удирдах системээ хийх болно.

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

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

Обьект хандалтад программчлалын класст тогтмолыг хэрхэн зарлах, тогтмолууд ямар хэрэгтэй, процедур хандалтад PHP -д зарлагдсан тогтмолуудаас юугаараа ялгаатай талаар энэ хичээлээр авч үзье. PHP -д тогтмол утгууд гэх ойлголт байдаг бөгөөд тэдгээрийг define түлхүүр үгээр зарлан өгдөг гэдгийг санаж байгаа байх.

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

Манай АУС бараг бэлэн болсон. Сайтын харагдах байдлыг сайжруулах үүднээс бид сайтын үндсэн хавтаст CSS хэвийн хүснэгтийг style.css нэртэйгээр үүсгээд доорх кодыг оруулан өгнө.

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

HTML форм гэдэг нь HTML хэлний өгөгдөл оруулах дамжуулах хэрэгсэл болно. Хэдийгээр энэ нь PHP хэлтэй шууд холбоотой биш ч гэсэн хичээлийн материалыг илүү сайн ойлгохын тулд формыг хэрхэн үүсгэх үндэсийг авч үзэх хэрэгтэй. Ямар ч форм нь <form> тегээр эхлээд </form> тегээр дуусна. Нээж байгаа тегийн дотор HTML формын шинжүүдийг тодорхойлсон атрибутуудыг бичиж өгч болно. Эдгээр нь тус бүрдээ нэр болон утгатай байх бөгөөд action ба method атрибутуудыг бид голлон авч үзнэ. <form> ба  </form>  тегүүдийн хооронд текст оруулах, жагсаалт, товч гэх мэтээр HTML-ын бүх тегүүдийг ашиглаж болно. HTML хэлний талаарх мэдээллийг сайтын HTML хэсэг дэх хичээлүүдээс үзээрэй. action атрибутад HTML формоос дамжуулсан өгөгдлийг боловсруулах файлын нэрийг зааж өгдөг. Жишээ нь

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

Ихэнх эхлэн суралцагчид Cookie гэдгийг маш нарийн ойлголт гэж үзснээс болоод түүнийг бараг ашигладаггүй. Энэ хичээлээр бид Cookie –г үүсгэж, засварлаж устгаж сурах болно.
Cookie гэдэг нь хэрэглэгчийн броузерын тохиргоонд хадгалагдах багахан хэмжээний өгөгдөл юм. Ихэнхдээ Cookie –г хэрэглэгчийн талаарх мэдээллийг хадгалахад (логин паспорт гэх мэт) ашигладаг. Ингэснээр баазад дахин хандалт үүсгэхгүй өгөгдлийг авах хурд өндөр зэрэг олон давуу талтай. Гэхдээ зарим броузер Cookie –г дэмждэггүй бас хэрэглэгч Cookie ашиглахыг хаасан байдаг тул энэ механизмд хэт их найдлага тавих хэрэггүй. Internet Explorer-ийн анхдагч тохиргоо нь Cookie ашиглахыг зөвшөөрсөн байдаг. Cookie ашиглах тохиргоог та өөрийн броузерын тохиргооны аюулгүй байдал хэсэгт хийж болно.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

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

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

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

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

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

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

Адил хажуут трапецын сууриуд 20 ба 12 см. Трапецыг багтаасан тойргийн төв их суурь дээр байрлах бол трапецын диагналыг ол.

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

 

тэгшитгэлийн язгууруудын нийлбэрийг ол.

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

 

Зурагт үзүүлсэн хагас тойрогт бол AB -ийн уртыг ол.

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