Класс доторх тогтмолууд

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

<?php
    define(ТОГТМОЛ, утга);
?>

Тогтмолуудын нэрийг голдуу том үсэг, тоо оруулан өгдөг гэдгийг сануулъя. Энэ талаар Хувьсагч , тогтмол , өгөгдлийн төрлүүд хичээлээс үзээрэй.
Харин PHP -н обьект хандалтад программчлалд тогтмолыг const гэсэн түлхүүр үгийн тусламжтайгаар зарлан өгдөг. Жишээ нь

<?php
class Person{
    const HANDS = 2;
}
?>

Энд ч бас PHP Coding Standard дүрмийг баримтлан тогтмолын нэрийг том үсгээр өгнө. Класс дотор зарлагдсан тогтмолууд зөвхөн классынх байдаг. Өөрөөр хэлбэл классаас үүсгэсэн обьектуудад харьяалагдахгүй гэсэн үг. Тогтмолд

<?php
class Person{
    const HANDS = 2;
}
$obj = new Person();
$obj->HANDS; // Тогтмолд ингэж хандаж болохгүй!!!
?>

дээрх байдлаар хандах боломжгүй. Хэрвээ бидэнд классын тогтмолд хандах шаардлага гарвал үүнийг хоёр аргаар гүйцэтгэх боломжтой.  

1. Классын код дотроос тогтмолд хандахдаа  

<?php
class Person{
    const HANDS = 2;
}
echo ("Хүн ".Person::HANDS." гартай");
?>

классын нэрийг өгөөд араас нь хоёр тодорхойлох цэг бичээд дараа нь тогтмолын нэрийг өгөх дүрмийг ашиглана.

2. self түлхүүр үгийг ашиглан тогтмолд хандах. Жишээ нь классын аргаас тогтмолд хандая гэвэл

<?php
class Person{
    const HANDS = 2;
    function echoHands(){
        echo (self::HANDS);
    }
}
?>

Энд $this түлхүүр үгийг ашиглаагүй байгаад анхаарна уу. Ингээд бидэнд self гэсэн бас нэгэн шинэ түлхүүр үг гарч ирлээ. Бид $this (объектыг заагч), parent (эцгийг заагч) гэсэн түлхүүр үгнүүдийг мэднэ. self ба parent долларын тэмдэг байхгүй харин $this -д байдгийг анзаарна уу.
Класст тогтмолыг ашиглах хэрэг байгаа эсэхийн хувьд бол PHP -н процедур программчлалынхтай яг адилхан. Өөрөөр хэлбэл хэрвээ танд өөрчилж болохгүй ямар нэгэн утга байгаа бол түүнийг тогтмол болгох нь илүү хэрэгтэй зүйл. Гэхдээ тогтмолыг ашиглах эсэхээ та өөрөө шийднэ биз дээ.

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

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

Веб сайтад хэрэглэгчийн оруулсан мэдээллийн зөв эсэхийг шалгах ажил олон гардаг. Ийм асуудлыг мөрийн функцуудээр шийдвэрлэх нь нилээд хүндрэлтэй ажил болно. Тэгэхлээр ийм төрлийн ажиллагаанд хамгийн үр дүнтэй шийдэл нь тогтмол илэрхийлэл буюу (regular expression) ашиглах явдал юм. Эхэндээ тогтмол илэрхийлэл нь танд их ойлгомжгүй мэт санагдаж болох боловч маш бага хэмжээний мэдлэгийн хүрээнд олон хүнд асуудлуудлыг шийдвэрлэж болно.

Тогтмол илэрхийлэл.

Тогтмол илэрхийлэл гэдэг нь текстэн мөр юм. Тусгай тэмдэгтүүдээр үүсгэсэн хэвээр (шаблон) мөр дотор хэвэнд тохирох хэсгийг хайдаг. PHP –д POSIX, PCRE гэсэн хоёр төрлийн тогтмол илэрхийллийг ашигладаг. Бид хичээлээр POSIX төрлийг авч үзнэ. Тогтмол илэрхийллийг хэрхэн үүсгэдэг талаар үзэхийн өмнө хэвийн (шаблон) тухай ойлголттой танилцъя.
Хэв гэдэг ойлголт нь зөвхөн програмчлалын хэлэнд байдаг ойлголт биш. Жишээ нь бид php суулгасан директорт ороод хайлт хийх (F3) товчийг дараад php гэж бичээд хайлт хийхэд нэрэнд нь php гэсэн үг орсон бүх файлуудыг гаргаж ирдэг. Энд бид хэв (шаблон) үүсгэж өгсөн гэсэн үг. Одоо хайлтын нөхцлөө нарийвчилъя. Хэрвээ бид хайлт хийхдээ php? бичиж өгвөл энэ нь хайж байгаа файлын нэр нь php гэж эхлээд араас нь дурын тэмдэгтүүд байж болохыг заасан хэв болж байгаа болно. Ерөнхийдээ ийм зарчмаар PHP -д хэвийг үүсгэж өгдөг.

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

Бүх л програмчлалын хэлүүд өгөгдлийн сантай ажилладагийн адилаар PHP нь бас өгөгдлийн сантай ажиллана.
Өгөгдлийн сан - мэдээллийг хадгалагч. Ер нь үүнээс өөр төрөл бүрийн дэлгэрэнгүй тодорхойлолтууд байдаг хэдий ч бид үүгээр хязгаарлахад болно. Өгөгдлийн сан нь мэдээллүүдийг хадгалах тул тэдгээртэй ажиллах програм хэрэгтэй. Иймээс ӨСУС (өгөгдлийн санг удирдах систем) бий болсон. PHP нь өгөгдлийн сантай зөвхөн ӨСУС –ээр дамжин ажилладаг. Өгөгдлийг хадгалах зохион байгуулалтаараа сангууд хэд хэдэн төрөлд хуваагдана. Гэхдээ өнөөдөр холбоост өгөгдлийн сангийн модел нь хамгийн өргөн дэлгэрсэн хэлбэр бөгөөд бид энэ санг авч үзэх болно. Ямар ч холбоост өгөгдлийн сан нь хүснэгтүүдээс бүрдэнэ. Хүснэгт нь багана (талбар), мөр (бичлэгээс) бүрдэнэ. Жишээ нь

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

Удирдах операторууд нь програмд чухал үүрэг гүйцэтгэнэ. Эдгээрийг ашиглахгүйгээр ямар нэгэн томоохон програм бичнэ гэж байхгүй. Удирдах операторуудыг дотор нь нөхцөлт, давтагдах (цикл), нөхцөлт биш гэж 3 ангилж болно. Операторуудын тусламжтайгаар програм нь ажиллагаандаа өөрчлөлт оруулах, нэг ижил үйлдлийг давтан хийх эсвэл програмын ажиллагааг зогсоох хүртэл үйлдлүүдийг бие даан хийх боломжтой. Энэ сэдвийг сайн ойлгох нь програм зохиох цаашдын ажиллагаанд их үүрэгтэй.

Нөхцөлт оператор

Нөхцөлт оператор нь тодорхой нөхцлөөс хамаарч програмын ажиллагааны цаашдын үргэлжлэх боломжийг (зам) сонгох хэрэгсэл юм. Жишээ нь бид өдөр бүр цахим шуудангаа шалгахын өмнө хэрэглэгчийн ID, нууц үгээ оруулж өгдөг шүү дээ. Хэрэглэгчийн оруулсан мэдээллийг цахим шуудангийн програм шалгаад хэрвээ мэдээлэл үнэн бол шуудангийн хайрцагт нэвтрүүлж харин мэдээлэл буруу бол дахин оруулахыг шаарддаг. Энэ бол нөхцөлт операторыг ашиглаж байгаа тод жишээ юм.

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

Класс, обьект , өвлөгдөх механизмын талаар ойлголттой болсон болохоор одоо шинж болон аргуудын харагдах байдлын талаар авч үзэцгээе. Арга ба шинжүүдэд хандалтыг public, protected, private гэсэн түлхүүр үгнүүдийг ашиглан зохицуулдаг. Өмнөх хичээлүүдэд бид бүх шинжүүдийг public (нээлттэй) хэлбэрээр зарлаж байсан. Ийм төрөл нь бүх аргуудад анхдагч байдлаар өгөгддөг. Өөрөөр хэлбэл аргад ямар төрлийнх гэдгийг шууд заагаагүй бол түүнийг public гэж тооцдог. Классын элементүүдийг public (нээлттэй), protected (хамгаалагдсан), private (хаалттай) байдлаар зарлах боломжтой. Эдгээрийн ялгааг авч үзвэл:

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Тэмцээнд 16 шатарчин оролцсон. Нэгийн давааны хуваарийн хичнээн хувилбар байж болох вэ? / Хуьаарьт дор хаяж нэг өрөгт тоглох хүмүүс нь ялгаатай бол хувилбар гэж тооцно. Тоглох өнгө, ширээний дугаарыг тооцохгүй/

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

 

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

 

prob02_187_01 илэрхийллийг хялбарчил.

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