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

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

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

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

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

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

Хичээлээр бид PHP хэлний үндсэн ойлголтууд болох хувьсагч, тогтмолуудын талаар авч үзнэ. Эдгээрийг сайн ойлгохгүйгээр програм бичнэ гэдэг хүндрэлтэй. Та ямар нэгэн програмчлалын хэл мэддэг гэсэн ч энэ хичээлийг үзээрэй. Учир нь PHP хэлэнд өгөгдөлтэй ажиллах онцлогууд байдаг.

Хувьсагч

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

<?php
   $number=5;                   // хувьсагчид 5 гэсэн утга олгож байна.
   $number=2*$number;           // $number хувьсагчийн утгыг 2 үржүүлнэ
   echo $number;                // $number хувьсагчийн утгыг үзүүлнэ
?>

Жишээнд $number нэртэй хувьсагчид (=) тэмдгийг ашиглан 5 гэсэн утгыг олгосон байна. Хувьсагч нь утга хадгалаад зогсохгүй тэдгээрийг өөрчилж болно. Хоёрдугаар мөрөнд $number хувьсагчийн утгыг хоёр дахин өсгөж байна. Хувьсагчийн утгыг үзүүлэхдээ түүнийг нэрийг ашиглаж байна.

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

PHP (Personal Home Page Tools) гэдэг нь веб сервер дээр HTML хуудас үүсгэхэд зориулагдсан програмчлалын хэл юм. Энэ хэлийг сурснаар та хуудасны тоолуур, зочны хуудас гэх мэт энгийн програмаас хэрэглэгчийн үйлдлийг хянах чадвартай том хэмжээний веб сайтыг зохиох боломжтой. Хэлний бүх боломжийг тайлбарлан бичихэд олон хуудас материал болох хэдий ч хэл нь хэн ч үзэхэд энгийн ойлгомжтой. Өнөөдөр олон мянган програм зохиогчид PHP ашиглаж, сая сая веб сайтууд энэ хэл дээр ажиллаж байна.

Хэлний түүхээс

PHP нь програмчлалын бусад хэлнүүдээс ялгаатай нь хэлийг ямар нэгэн компани эсвэл мундаг програм зохиогч боловсруулаагүй харин Расмус Лердорф гэх жирийн програм зохиогч 1994 онд зохиосон. Хэл зохиосон зорилго нь Расмус өөрийн веб хуудасаа илүү интерактив байдалтай болгох байлаа. Удалгүй Расмус програмчлалын C хэл дээр өгөгдлийн сантай холбогдох боломжтой эхний хувилбарыг гаргасан. Энэ нь хэрэглэгчдэд энгийн веб програм зохиох бололцоог олгосон.
1997 онд веб формтой ажиллах боломжтой PHP/FI 2 (Personal Home Page / Form Interpreter) хувилбар гарсан. Энэ хувилбарыг боловсруулах ажилд нилээд олон хүмүүс оролцон ажилласан байна. Ер нь хэл нь анхнаасаа нээлттэй кодтой байсан нь хэн хүссэн хүн хэлийг боловсронгуй болгох ажилд оролцох боломжийг нээж өгсөн. Эдгээр хүмүүст Зив Сураски (Zeev Suraski), Энди Гутманс (Andi Gutmans) нар нь зүй ёсоор тооцогдоно. Расмус дээрх хүмүүстэй хамтран ажилласны үр дүнд 1998 онд PHP 3 гэсэн албан ёсны хувилбарыг гаргасан. Үүний дараа хэл зохиогчид PHP –г цаашид улам боловсронгуй болгосноор 2000 онд хэлний 4.0 хувилбар гарсан ба эдүгээ хэлний 5.0 хувилбар гараад байгаа билээ.

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

 

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

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