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

Обьект хандалтад программчлалын класст тогтмолыг хэрхэн зарлах, тогтмолууд ямар хэрэгтэй, процедур хандалтад 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 -н процедур программчлалынхтай яг адилхан. Өөрөөр хэлбэл хэрвээ танд өөрчилж болохгүй ямар нэгэн утга байгаа бол түүнийг тогтмол болгох нь илүү хэрэгтэй зүйл. Гэхдээ тогтмолыг ашиглах эсэхээ та өөрөө шийднэ биз дээ.

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

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

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

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

Бид АУСистемийнхээ үндсэн класс, хэрэглэгч болон админ талын скриптүүд, баазаа үүсгээд байгаа. Одоо сайтын хэв буюу темплейт хэсгийг кодлох ажилдаа орох цаг болсон. Ингээд энэ хичээлээр хэрэглэгчийн талын хэсгийн хэвийг үүсгэх ажлыг хийх болно.

Оруулан ирэх файлууд.

Манай системийн хуудаснуудын толгой, хөл хэсгүүд бүх хэсэгт ижилхэн байхаар төлөвлөсөн. Энэ нь бичигдэх кодыг бага болгохын дээр сайтын темплейтийн стандарт хэсгийг хэрхэн боловсруулж ашиглахыг харуулах зорилготой. Сайтын үндсэн хавтаст templates нэртэй хавтас үүсгээд түүн дотроо include нэртэй хавтасыг үүсгэнэ.

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

Яагаад зөвхөн мөрний тухай тусгай хичээл байгаа талаар та гайхаж байж магадгүй. Өнгөцхөн харвал мөр гэдэг нь String гэсэн төрөл бүхий хувьсагч гэдгээс тэгж харагдаж болох талтай. Гэхдээ PHP -д мөртэй үр дүнтэй ажиллахын тулд энэ сэдвийг гүнзгий ойлгосон байх шаардлагатай.

Мөр гэдэг нь String төрөлтэй хувьсагч ба үнэндээ бол тэмдэгтүүдийн багц юм.

Мөрийг дараах байдлаар тодорхойлж болно.

$string_1="Сайн байна уу";          // давхар хашилттай мөр
$string_2='Сайн байна уу';            // дан хашилттай мөр

Мөрийг тодорхойлох нь хувьсагчид утга олгохтой яг ижилхэн хийгдэж байгаа хэдий ч нэг эсвэл давхар хашилтыг мөр дотор гаргах үед асуудал гарахаар байна. Хэрвээ бид

$str="Тэр "сайн байна уу" гэж хэлэв";
echo $str;

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

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэгшитгэлийн нэг язгуур нь эерэг, нөгөө язгуур нь сөрөг байх параметрийн бүх утгыг ол.
Тэнцэтгэл бишийн нэг шийд нь M -ээс бага нөгөө шийд нь M -ээс их байх гарцаагүй ба хүрэлцээтэй нөхцөлийг ашиглавал болох бөгөөд энэ тэнцэтгэл бишийг бодвол үед манай тэнцэтгэл бишийн шийдийн нэг нь эерэг нөгөө нь сөрөг байна.

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

 

функц [1;9] завсарын аль хэсэгт буурах вэ?

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

 

функцийн хамгийн бага утгыг ол.

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