Хувьсагч , тогтмол , өгөгдлийн төрлүүд

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

Хувьсагч

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

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

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

PHP –д хувьсагчийн нэрийг өгөхдөө дараах дүрмийг баримтлах хэрэгтэй.

  • Ямарч хувьсагчийн нэр ($) долларын тэмдэгээр эхлэх ёстой
  • Түүний араас доогуур зураас (_) эсвэл үсэг байна. Тоо байж болохгүй.
  • Дараа нь үсэг, тоо, доогуур зураас байж болно. Харин хоосон зай (space) хувьсагчийн нэрэнд байж болохгүй
  • Хувьсагчийн нэр нь том жижиг үсгийг ялгана. Жишээ нь $number ба $Number хоёрыг нэг ижил хувьсагч гэж үзэхгүй.
<?php
   $2_var=5;                 // буруу нэртэй хувьсагч
   $_2_var=2;                // энэ бол зөв нэртэй хувьсагч
   $color;                   // өнгө заасан хувьсагч
   $user_id;                 // хэрэглэгчийн кодыг заасан хувьсагч
?>

Ихэнх програм зохиогчид баримталдаг PHP Coding Standard гэдэг дүрэм байдаг. Энэ дүрмээр хувьсагчийн нэрийг жижиг үсгээр бичиж үгийг доогуур зураасаар тасалдаг. Дээрх жишээний сүүлийн хоёр мөрийг хар. Хувьсагчийн нэрээр түүнд хадгалагдаж байгаа өгөгдлийг мэдэж болохоор өгөх нь их хэмжээний хувьсагч ашигласан програм зохиоход хэрэгтэй байдаг. Гэхдээ хэт их урт нэр өгөх нь ажиллагааг хүндрүүлдэг гэдгийг санаарай.

Өгөгдлийн төрлүүд

PHP –д дөрвөн (Integer, Double, Boolean, String) энгийн, хоёр (Array, Object) холимог төрлүүд байдаг.

Integer

Энэ төрөл нь хэмжээний хувьд хязгаарлагдсан бүхэл тоон олонлогоор тодорхойлогдоно. Жишээ нь 32 битийн платформын хувьд энэ олонлог нь -2,147,482,648 аас 2,147,482,647 хооронд байдаг. Integer төрлийн өгөгдлүүд 16, 10, 8 гээд төрөл бүрийн тоон системээр бичигдэж болно. Жишээ нь

<?php
  // Доорх гурван тоо нь аравтын системээр 347
   $oct_int_number=0475;                 // наймтын системийн тоо 0 эхэлнэ
   $dec_int_number=347;                  // энэ бол аравтын систем
   $hex_int_number=0X130;                // 16 системийн тоо 0Х эхэлнэ
?>

Double

Double (эсвэл Float) төрөл нь бодит тоон олонлогт харьяалагдана. Өөрөөр хэлбэл өндөр нарийвчлалтай бутархай тоонууд юм. Энэ төрлийн хувьсагчийг том тоонууд болон өндөр нарийвчлалтай тооцоонд ихэвчлэн ашигладаг. Жишээ нь

<?php
   $first_dbl_number=111.99;             
   $sec_dbl_number=4.5e3;                 // энэ бол 4500
   $trd_dbl_number=5E-5;                  // энэ бол 0.00005
?>

Boolean

Хамгийн энгийн өгөгдлийн төрөл нь Boolean юм. Учир нь энэ төрөл нь үнэн (True), худал (False) гэсэн хоёрхон утгатай байдаг. Энэ төрлийг аливаа утгыг үнэн худал гэдгийг шалгахад голдуу ашигладаг. FALSE, TRUE утга нь том жижиг бичлэгийг ялгадаггүй тул false, true гэж бичиж болно.

String

PHP –д String төрөл нь тэмдэгтийн мөрөнд хамаарах бөгөөд уртын хэмжээ нь бараг хязгааргүй байдаг. Энэ төрлийн талаар Мөр хичээлд дэлгэрэнгүй үзэх болно. Жишээ нь

<?php
   $string="Hello, World!";                  
  $null_string="";                    // энэ бол хоосон мөр
?>

Array төрлийн талаар Массив хичээлд үзэх бөгөөд Object төрлийг обьект хандалттай програмчлалд хэрэглэдэг. Эдгээрээс гадна PHP нь (resource, NULL) гэсэн 2 тусгай төрөл болон (mixed, number, callback) гэсэн дундын төрлүүдийг дэмждэг. Эдгээр төрлүүд нь практикт бараг ашиглагддаггүй тул бид хичээлүүдээр эдгээрийн талаар үзэхгүй.

Хувьсагчийг тодорхойлох

Delphi, Pascal зэрэг програмчлалын олон хэлэнд хувьсагчийг урьдчилан ямар төрөлд хамаарахыг заавал зарладаг. Програмд уг хувьсагчид тохирохгүй утга олгоход алдаа гардаг. Энэ тал дээр PHP нь илүү зөөлөн. Энд хувьсагчийг зарлахдаа ямар төрлийнх болохыг заах албагүй. Програмд хувьсагчид утга олгоход төрлийг автоматаар тохируулан өөрчилдөг. Үүнээс гадна програмд нэг хувьсагчид олон төрлийн өгөгдлийг дараалуулан хадгалаж болдог. Энэ чөлөөтэй байдал нь програм зохиогчоос хувьсагчийн төрлийн хяналтыг нарийн болгохыг шаарддаг. Хувьсагчийн төрлийг gettype() функцээр мэддэг. Функцын талаар Функцууд хичээлээс үзээрэй.

PHP -д хувьсагчийн төрөл хэрхэн өөрчлөгдөхийг жишээгээр авч үзье.

<HTML>
   <HEAD>
      <TITLE>Хувьсагчийн төрлийг өөрчлөх</TITLE>
   </HEAD>
   <BODY>
      <?php
         $test_var=12.63;                   // 12.63 утгыг олголлоо
         echo gettype($test_var);      // double гэж гарна
         echo "<br>";
         echo $test_var;                    // 12.63 гэж гарна
         echo "<br>";
         settype($test_var, string);    // хувьсагчийг string төрөл болгоно
         echo gettype($test_var);      // string гэж гарна
         echo "<br>";
         echo $test_var;                    // 12.63 гэж гарна
         echo "<br>";
         settype($test_var, integer); // хувьсагчийг integer төрөл болгоно
         echo gettype($test_var);       // integer гэж гарна
         echo "<br>";
         echo $test_var;                    // 12 гэж гарна
         echo "<br>";
         settype($test_var, boolean);       // хувьсагчийг boolean төрөл болгоно
         echo gettype($test_var);       // boolean гэж гарна
         echo "<br>";
         echo $test_var;                    // 1 гэж гарна
         echo "<br>";
         $test_var="num10";           
         settype($test_var, integer);  // хувьсагчийг integer төрөл болгоно
         echo $test_var;                    // 0 гэж гарна
         echo "<br>";
         $test_var="10num";           
         settype($test_var, integer);  // хувьсагчийг integer төрөл болгоно
         echo $test_var;                    // 10 гэж гарна
     ?>
  </BODY>
</HTML>

Энд settype() функц нь хувьсагчийн төрлийг өөрчилнө. Харин gettype() функц нь хувьсагчийн төрлийг авчирна. Жишээнээс хувьсагчийн төрөл нь тодорхой дүрмээр өөрчлөгдөж байгааг харж болно. Жишээг өөрсдөө туршин ажиллуулаарай. Энэ дүрэмээс заримыг нь дурдвал

Boolean төрөлд шилжихдээ

  • Тэг (0) бүхэл тоо FALSE болно
  • (0.0) бутархай тоо FALSE болно
  • Хоосон мөр эсвэл "0" мөр FALSE болно
  • Бусад бүх утгууд TRUE болно

Integer төрөлд шилжихдээ

  • FALSE – 0 харин TRUE -1 болно
  • Бодит тооны бутархай хэсэг нь орхигдон бүхэл тоо болно. /Жишээг хар/
  • Хэрвээ мөр нь тоогоор эхлээгүй бол 0, эсрэг тохиолдолд тухайн тоо болно. /Жишээг хар/

String төрөлд шилжихдээ

  • FALSE – хоосон мөр харин TRUE -"1" болно
  • Дурын тоо нь тэр хэвээрээ мөр болно

Хувьсагчийг холбох

PHP –д холбоос гэсэн ойлголт байдаг. Үүнийг ойлгохын тулд жишээ авч үзье.

<HTML>
   <HEAD>
      <TITLE>Хувьсагчид холбоос тогтоох</TITLE>
   </HEAD>
   <BODY>
       <?php
          $a=1;              //  $a хувьсагчид 1 гэсэн утга олголлоо
          $b=$a;             //  $a-гийн утгыг $b –д олгох
          $c=&$a;          //  $c-г $a –тай холбох
          $a=5;              //  $a хувьсагчид 5 гэсэн утга олголлоо
          echo $a;           //  5 гэж гарна
          echo "<br>";
          echo $b;           //  1 гэж гарна
          echo "<br>";
          echo $c;           //  5 гэж гарна
       ?>
   </BODY>
</HTML>

Жишээнд бид эхлээд $a хувьсагчид 1 гэсэн утга олгоод дараа нь $b  хувьсагчид $a хувьсагчийн утгыг олгосон. Одоо $a ,$b хувьсагчдын утга ижилхэн. Гэхдээ эдгээр хувьсагчдын аль нэгний утгыг өөрчилөхөд нөгөөгийнхөө утганд ямарч нөлөө үзүүлэхгүй. Харин & тэмдэгтээр бид $c хувьсагчийг $a хувьсагчтай холбон өгч байна. Одоо эдгээр хувьсагчдын утга үргэлж ижилхэн байх болно. Аль нэг хувьсагчийн утгыг өөрчлөхөд нөгөө хувьсагчийн утга даган өөрчлөгдөнө.

Динамик хувьсагч

PHP –д хувьсагчийн нэр нь хувьсагч агуулж байдаг хувьсагчийг ашиглаж болдог. Үүнийг шууд ойлгоход хүндрэлтэй тул жишээгээр авч үзье.

<HTML>
   <HEAD>
      <TITLE>Динамик хувьсагч</TITLE>
   </HEAD>
   <BODY>
     <?php
         $name="id";             //  $name хувьсагч id гэсэн утгатай
         $id=5;                  //  $id-гийн утга нь 5
         echo $$name;            //  5 гэж гарна
     ?>
   </BODY>
</HTML>

$$name төрлийн хувьсагчдыг динамик хувьсагч гэдэг. Програмын явцад олон тооны хувьсагч үүсгэх хэрэгтэй үед ийм хувьсагчдыг голдуу ашигладаг. Жишээ авч үзье.

<HTML>
   <HEAD>
      <TITLE>Динамик хувьсагчийг ашиглах арга</TITLE>
   </HEAD>
   <BODY>
      <?php
         $name="age";
         $age=18;
         echo "<b>$$name</b><br>";         //  $age гэж гарна
         echo "<b>${$name}</b><br>";       //  18 гэж гарна
         echo "<b>${age}</b>";             //  18 гэж гарна
     ?>
  </BODY>
</HTML>

Энд динамик хувьсагчийг гаргах бас нэг аргыг үзүүлсэн. Хэрвээ хувьсагч хашилтанд байгаа тохиолдолд ( {} ) их хаалтыг ашиглах хэрэгтэй. Эс тэгвээс $age гэж гарч ирнэ.

Тогтмолууд

Ямар нэгэн утгыг тэмдэглээд бүх програмын туршид ашиглаж болно. Эдгээрийг PHP -д тогтмол утгууд гэдэг.

Тогтмол гэдэг нь өөрчлөгдөхгүй утга юм.

PHP -д тогтмол утгыг тодорхойлохдоо define() функцыг ашиглана. Бичлэгийн дүрэм нь

            define(<Тогтмолын нэр> , <утга>);

Жишээ нь

<HTML>
   <HEAD>
      <TITLE>Тогтмолыг тодорхойлох</TITLE>
  </HEAD>
   <BODY>
      <?php
         define("ADMIN_NAME","Дорж");
         define("NUMBER_E", 2.71828);
         echo ADMIN_NAME;
         echo "<br>";
         echo NUMBER_E *2;         
     ?>
  </BODY>
</HTML>

Тогтмолоор мөр, тоо, бүхэл тоо, логик утга тодорхойлж болохоос гадна тэдгээрийг үйлдэлд ашиглаж болно. Тогтмолын нэрэнд жижиг том үсгийн алийг ч ашиглаж болдог. Гэхдээ жишээнд бид тогтмолын нэрийг ADMIN_NAME, NUMBER_E гэж өгсөн байгааг анхаар. Энэ нь бид PHP Coding Standard дүрмийг баримталж байгааг илтгэнэ. Дүрмээр тогтмолын нэрийг том үсгээр үгийг хооронд нь доогуур зураасаар зааглаж өгдөг. Тогмолын нэр нь том жижиг үсгийг ялгана. Жишээ нь ADMIN_NAME ба ADMIN_name гэсэн тогтмолууд ижил биш. Тогтмолыг зарласны дараа програмын код дотор утгыг өөрчилж болдоггүй. Жишээ нь

<?php
    define("CONSTANT",5);
    CONSTANT=2;
?>

програмын кодыг ажиллуулахад алдаа гарна. PHP –д өөрийн тогтмолууд байдаг. Тогтмолын нэрийг өгөхдөө эдгээртэй нэрийг давхардуулан өгөхөөс болгоомжлох хэрэгтэй. Ямар нэгэн тогтмол байгаа эсэхийг defined() функцээр мэдэж болно. Тогтмолын нэрийг функцын параметр болгон өгөхөд функц 1 утга буцаавал тогтмол тодорхойлогдсон эсрэг тохиолдолд 0 утгыг буцаадаг.

Урьдчилан тодорхойлогдсон тогтмолууд

PHP –д өөрийн тогтмолууд байдаг. Эдгээрийг урьдчилан тодорхойлогдсон тогтмолууд гэдэг ба гол зориулалт нь системийн мэдээллийг хадгалах байдаг. Жишээ нь PHP_VERSION ба PHP_OS нь PHP –н хувилбар болон серверийн үйлдлийн системийн нэрийг агуулна.
Үүнээс гадна хэрэглэгээнээс хамаарч утга нь өөрчлөгдаж байдаг хэсэг тогтмолууд байдаг. Жишээ нь __LINE__ , __FILE__ тогтмолууд нь мөрийн дугаар, файлын нэрийг агуулдаг. Эдгээр тогтмолын нэрийг том жижиг аль ч байдлаар бичиж болдог. Жишээн дээр авч үзье.

<HTML>
   <HEAD>
      <TITLE>Урьдчилан тодорхойлогдсон тогтмолууд</TITLE>
   </HEAD>
   <BODY>
      <?php
         echo "PHP хувилбар :";
         echo PHP_VERSION;
         echo "<br>";
         echo "Үйлдлийн систем :";
         echo PHP_OS;
         echo "<br>";
         echo "Мөрийн дугаар :";
         echo __LINE__;
         echo "<br>";
         echo "Ажиллаж байгаа файл :";
         echo __file__;
     ?>
   </BODY>
</HTML>

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

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

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

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

Интернет сайтад тодорхой хугацаанд хичнээн хүн зочилсон, тухайн цаг мөчид хэдэн хүн зочилж байгаа, хуудаст хамгийн сүүлд хэзээ хандалт хийсэн гэх мэтийг мэдэх шаардлага гардаг. Эдгээрийг болон бусад олон асуудлыг шийдэхэд PHP –гийн цаг хугацааны функцуудыг ашиглана.

PHP –н цаг хугацааны онцлогууд.

PHP –д одоо хэдэн цаг болж байгааг мэдэхэд time() функцыг ашигладаг.

<HTML>
<HEAD>
<TITLE>Системийн цагийг гаргах</TITLE>
</HEAD>
<BODY>
<?php
echo time(); // 1258599589 утгатай мэдээлэл гарна
?>
</BODY>
</HTML>

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

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

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

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 хувилбар гараад байгаа билээ.

Класс ба структурт ердийн талбар, арга, шинжүүдээс гадна статик талбар, арга, шинжүүд байж болдог. Статик талбар, арга, шинжүүд…

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

 

Хичээлээр useState -тэй тун төстэй useRef хукийн талаар авч үзье. useRef хукийн онцлог ашиглалтыг компонент хэдэн удаа дахин…

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

 

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

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

 

Нийтлэлээр графикийн хэвүүдийн /GUI pattern/ түүхийг авч үзье. Боловсруулалтын графикийн хэвүүдийг 30 гаруй жилийн туршид боловсруулж байгаа бөгөөд…

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

 

Хааяа өөр өөр параметрүүдийн багцтай нэг аргыг үүсгэх шаардлага гардаг. Ирсэн параметрүүдээс хамааран аргын тодорхой хэрэгжүүлэлтийг хэрэглэнэ. Ийм…

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

 

Ямарч програмын ажиллагааны чухал хэсэг бол төрөл бүрийн мэдээллийн боловсруулалт, тэдгээртэй ажиллахтай холбоотой байдаг. Иймээс энэ хичээлээс vuejs

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

 

Хичээлээр react -ийн хукуудаас их өргөн ашиглагддаг useEffect -ийн талаар авч үзье. useEffect -ийн ажиллагааг судлах хуудасны кодийг

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

 

Илэрхийлэл бол математикийн хэлний үндэс болсон суурь ойлголтуудын нэг. Математикийн илэрхийллийг тооцооны алгоритм, аксиом, теорем, бодлогын нөхцлүүд гээд…

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

 

Програм зохиох бол нарийн төвөгтэй ажил. Ямар ч програмын хувьд өөрийн хийх ажлаа гүйцэтгэхийн чацуу цаашдаа хөгжих, ажлын…

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

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

тэгшитгэлийг бод.

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

 

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

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

 

Ангийн нийт сурагчдын 60% нь эмэгтэй сурагчид байдаг. Ангиас санамсаргүйгээр нэг сурагч сонгоход эрэгтэй сурагч байх магадлалыг ол.

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