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

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

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

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

Энэ хичээлээр манай АУСистемийн сервер талын скриптыг бичих болно. Скрипт манай системийн админ талын функцуудийг агуулсан бөгөөд хэрэглэгч талын программаас арай нарийн төвөгтэй ч index.php файлтай бүтцийн хувьд төстэй. index.php файлын байрлах хавтаст admin.php нэртэй файл үүсгээд доорх кодыг оруулан өгөөрэй.

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

Функц гэсэн ойлголт нь маш дээрээс түүхтэй. Анх машины кодоор програм зохиож байх үеэс програм зохиогчид машинтай нэг хэлээр ойлголцохын тулд нэг тэгүүдийг (01) команд болгон хувиргасны үр дүнд команд үүссэн. Шийдэх бодлогын цар хүрээ ихэссэнтэй уялдан командын тоо нь геометр прогресоор өссөн. Энэ үед програм зохиогчид командуудыг нэг блок болгон нэр өгч ашиглаж болох бүтцийг санаачилсан байна. Үүнийг процедур гэдэг. Ингэснээр програмын кодыг жижигхэн ойлгомжтой болгоход асар их түлхэц болсон. Цаашид процедурууд нь оролтын параметруудтай болж хөгжсөн бөгөөд эцэст нь ямар нэгэн үйлдэл хийгээд зогсохгүй утга буцаадаг функц гэсэн ойлголт гарч ирсэн. PHP –д процедур гэсэн ойлголт байдаггүй. Утга буцаадаг ч бай үгүй ч бай бид ганцхан функц гэсэн ойлголтыг хэрэглэнэ. PHP нь маш олон дотоод функцтэй. Үүнээс гадна бусад програмчлалын хэлний адилаар PHP нь програмын код дотор өөрийн функцыг үүсгэх боломжтой. Эдгээрийн голдуу хэрэглэгчдийн функцууд гэдэг. Бид хичээлдээ яг энэ төрлийн функцуудын талаар түлхүү авч үзэх болно.

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

Өмнөх хичээлүүд бид манай АУСистемийн цөм болох Article классыг бичсэн. Одоо сайтын хэрэглэгчийн талын скриптийг бичих болно. Юуны өмнө хэрэглэгчийн талын программыг агуулах index.php нэртэй файл үүсгэнэ. Энэ файл нь хэрэглэгчийн хөтөч дээр хуудсыг үзүүлэх юм. Файлыг сайтын үндсэн хавтаст хадгалан өгөөд доорх кодыг оруулна.

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

интеграл бод

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

 

хязгаарыг бод.

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

 

утгыг ол.

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