Monday, January 4, 2010

PHP: Loop

Давталтын үйлдэл нь гэсэн яг C/C++ хэлтэй адилхан(PHP хэл маань өөрөө C/C++ синтакс дээр тулгуурлан хөгжүүлэгдсэн).

Өмнөх нөхцөлт давталт:
while(нөхцөл){
        //үйлдлүүд
}

Дараах нөхцөлт давталт:
do{
        //үйлдлүүд
}while(шалгах нөхцөл);

Параметрт давталт:
for(давталт эхлэх үеийн утга оноох; шалгах; утга өөрчлөх){
        //хийгдэх үйлдлүүд
}

Жишээ кодууд:

<?php
        $i = 0;
        while($i < 10){
                echo $i." * ".$i." = ".$i*$i."<br>";
                $i ++;
        }
?>
Үр дүн:
0 * 0 = 0
1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
5 * 5 = 25
6 * 6 = 36
7 * 7 = 49
8 * 8 = 64
9 * 9 = 81

<?php
        $i = 0;
        do{
                $i ++;
                echo $i." * ".$i." = ".$i*$i."<br>";
        }while($i != 10);
?>

Үр дүн:
1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
5 * 5 = 25
6 * 6 = 36
7 * 7 = 49
8 * 8 = 64
9 * 9 = 81
10 * 10 = 100

<?php
        for($i = 0; $i < 8; $i ++){
                echo "For loop<br>";
        }
?>

Үр дүн:
For loop
For loop
For loop
For loop
For loop
For loop
For loop
For loop

PHP: If conditional

<?php
        function checkPass(){
                global $pass;
                if($pass == "true_pass"){
                        echo "OK that's true password<br>";
                }
                else{
                        echo "Wrong Password!!!<br>";
                }
        }
        $pass = "wrong_pass";
        checkPass();
?>

Нөхцөл шалгах үйлдэл нь C/C++ хэлтэй адилхан, elseif гэсэн нөхцөл шалгах үйлдэл л C/C++ дээр нэмэгдэж орж байх шив дээ :D
<?php
        /*
        тоог 3т хуваагддаг эсэхийг шалгах,
        үлдэгдэлтэй хуваагддаг ба үлдэгдэл нь 1 байвал "*"
        үлдэгдэл нь 2 байвал "**" хэвлэнэ :D
        */
        function check3($i){
                if( $i % 3 == 0){
                        echo "OK<br>";
                }
                elseif( $i % 3 == 1){
                        echo "*<br>";
                }
                else echo "**<br>";
        }
        check3(68);
?>

C/C++ хэлэнд байдаг нөхцөл шалгах ? оператор ч байгаа :)
<?php
        $a = 55;
        $result = ($a % 2 == 0)?"Even":"Odd";
        echo $a." is ".$result." number";
?>

PHP: HTML text, variables, global variables

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

<html>

<head>
<title>Variable examples</title>
</head>
<body>
<?php
                $i = 8;
                echo $i." * ".$i." = ".$i*$i."<br />";
                $i = 3.14;
                echo "The PI number is ".$i."<br />";
                $i = "Gansukh";
                echo "This blog's author is ".$i."<br />";
        ?>
</body>
</html>
Эндээс харахад хувьсагчин зарлах, утга оноож төрөл шилжүүлэх нь хичнээн уян хатан байгааг харж болно. Нэг нэрээр зарлагдсын хувьсагчиг бүхэл, бутархай, тэмдэгт мөр утгуудыг оноож өгч болно.



HTML кодон дотроо PHP кодоо хавсаргаад, хуудасныхаа гарчиг зэргий HTML хуудсанд өгдөг title tag дотор бичсэн нь броузерийн гарчигт харагдаж байгааг анзаарсан байх.



Програмчлалын хэлүүдэд глобал хувьсагч буюу програмын аль ч функцэд дуудагдан ашиглагдаж болох өгөгдлийг зарлаж, ашиглаж болдог(C/C++ хэлэнд аль функцийн дотор биш #include директевүүдийн дор, паскал хэлэнд програмын эхэнд var гэж зарлагдсан, Жавад public static хувсагч гэх мэт).

<?php
        function setHello(){
                $i = "Hello World";
        }
        $i = 0;
        echo $i."<br>";
?>
Дээрхи кодыг ажиллуулах 0 мөрийг л хэвлэнэ. setHello() функц дуудагдсан ч $i хувьсагчийн утганд өөрчлөлт ороогүй гэсэн үг. setHello() функцийн тусламжтй $i хувьсагчийн утгыг өөрчлөх боломжтой ($i хувьсагчийг глобал хувьсагч) болгохын тулд global түлхүүр үгийн тусламжтай
<?php
        function setHello(){
                global $i;
                $i = "Hello World";
        }
        $i = 0;
        setHello();
        echo $i."<br>";
?>
болгоход хангалттай.

Saturday, January 2, 2010

Video: Playing Windows video games in Ubuntu

Playing video games in LINUX is not problem ;)

Grand Theft Auto - San Andreas




World of Warcraft

PHP: Hello World!


Юуны өмнө XAMPP татаж аваад суулгах хэрэгтэй. Өмнөх бичлэг дээр татаж авах линкүүд байгаа. Windows-д зориулсан хувилбарыг суулгасны дараа XAMPP Control Panel ажиллуулахад дараах байдалтай цонх гарч ирэх ба Apache, MySQL service-үүд Running төлөвт байгаа тохиолдолд бидний бичсэн PHP, MySQL project-ууд ажиллах боломжтой болно.

За одоо ямар ч програмчлалын хэл судалж эхэлж байгаа хүн бүхний бичдэг Hello World програмаа бичье. PHP хэл нь HTML кодтой хавсарч хэрэглэгддэг хэрэглэгддэг ба PHP дээр, дан ганц PHP гэлтгүй вэб програмчлалд суралцахаар шийдсэн л бол HTML кодчилолын өндөр мэдлэг, CSS, JavaScript-ийг зохих хэмжээнд эзэмшсэн байх шаардлагатай. (CSS, JavaScript-ийг төгс судлаад, photoshop, gimp гэх мэт компьютерийн график тал дээр дажгүй бол төгс дизайнтай вэб хийж болно доо хэхэ. За тэр олон үг яахав гол асуудал руугаа оръё.)


Суралцаж эхлэхэд бидэнд Notepad, Notepad++, gedit гэх мэт жирийн Text Editor байхад хангалттай. Цаашаа судлаад ирэхээрээ ямар IDE ашиглах нь таны мэдэх хэрэг ;)

PHP код маань
<?   ?> юм уу <?php  ?>
тагуудын завсар бичигддэг. Гэхдээ 2 дахь хэлбэрээр бичиж сурах нь тохиромжтой байдаг.

За ингээд хамгийн анхны програм Hello World.

<?php
   echo "Hello World!"."<br>";
   print "Hello PHP!"."<br>";
?>

echo болон print команд(функц) нь ялгаагүй вэб броузер дээр хэвлэх үүрэгтэй функцууд. Хэрвээ та анзаарсан бол хэвлэж байгаа тэмдэгт мөр дотор маань HTML кодчилолын мөр шилжүүлэх <br> tag орсоон байгааг анзаарсан байх. Хэвлэх тэмдэгт мөрүүдийг залгахдаа цэгээр тусгаарлан бичдэг.

Одоо бичсэн кодоо хадгалъя.
Windows дээр C:\xampp\htdocs директор дотор вэбүүдээ хадгалдаг. Тэндээ шинэ прожектдоо зориулаад Hello нэртэй фолдер үүсгээд дотор нь Hello.php гээд хадгалчих.

Одоо харин энэ кодоо ажиллуулахдаа вэб броузераа нээгээд хаягийн мөрөнд http://localhost/Hello/Hello.php гээд бичээд нээвэл дараах байдалтай харагдаж байвал бүх зүйл ОК та анхны програмаа ажиллуулж чадлаа гэсэн үг ;) Баяр хүргэe.