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

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

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

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

Веб сайт хийж сурахын тулд танд веб сервер хэрэгтэй болно. Сурахын тулд хостинг худалдаж авах нь мэдээж зохимжгүй. Нилээд сайн дадлагажиж байгаад дараа нь сайтаа хийснийхээ дараа интернетэд байрлуулахдаа хостинг авсан нь хэмнэлттэй. Тэгвэл сайтын ажиллагааг хаана туршин зүгшрүүлэх вэ? гэсэн асуулт гарч ирнэ. Үүнийг бид өөрийн компьютераа веб сервер болгон ашиглах замаар хийж болно. Энэ зорилгод XAMPP пакет бүрэн нийцнэ. Энэ тухай би Php хичээлийн эхэнд дурдсан байгаа. Сайтын хэрэглэгчид пакетыг хэрхэн суулгах талаар нилээд асууж байгаа тул энэхүү постыг орууллаа.

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

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

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

Өвлөх (Inheritance) гэдэг нь "эцэг" хэмээн нэрлэгдэх байгаа классаас шинэ классыг үүсгэх боломжийг бүрдүүлдэг обьект хандалтат программчлалын үндсэн механизмуудын нэг юм. Энэхүү механизмыг ашиглан өөр классаас үүсгэсэн классыг дэд класс гэж нэрлэдэг. Ийм холбоосыг "эцэг", "хүүхэд" гэсэн ойлголтоор голдуу тайлбарладаг. "Хүүхэд" класс нь "эцэг" -ээс үүсэн түүний шинж болон аргуудыг өвлөн авна. Дэд класст эцэг классаас ("эцэг" классыг бас супер класс гэж нэрлэдэг) өвлөгдөн ирсэн боломжуудыг ихэнх тохиолдолд шинэ боломжуудаар өргөжүүлэн өгдөг.

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

Өмнөх хичээлүүдэд манай жижигхэн АУСистемийн өгөгдлийн санг үүсгэн тохиргооны файлыг бичсэн. Одоо манай программын үндсэн класс болох Article -ийг үүсгэе. Манай системд Article нь өгөгдлийн санд материалыг хадгалах, тэдгээрийг удирдах, сайтын хуудаст гаргах материалуудыг татан авчрах асуудлуудыг шийдвэрлэх ердөө ганц PHP класс юм. Бид энэхүү классыг үүсгэсний дараа материалыг үүсгэх, шинэчлэх, үзүүлэх, устгах скриптүүдийг үнэхээр амархан зохиох болно. 

Хичээлийн материалыг сайн ойлгон авах хэрэгтэй. Ер нь обьект хандалттай программчлалын хэлнүүдийн классууд яг иймэрхүү зарчмаар ажилладаг.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

 

Задаргааны сүүлээсээ 3 дахь гишүүний бином коэффициент 45 бол задаргааны 6-р гишүүнийг ол.

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