ပြီးခဲ့တဲ့ တနင်္ဂနွေက MZ 2.0 အတွက်ရေးရင်း ကိုယ့် framework ကိုလည်း upgrade လုပ်ရင်း တစ်ချက်ခုတ် နှစ်ချက်ပြတ် အစီအစဉ်နဲ့ တော်တော်လေးကို လုပ်ဖြစ်သွားတယ်။  အဲမှာ ဘာကို သွားတွေ့လည်းဆိုတော့ PHP function တွေကိုပဲ။ framework တစ်ခု တည်ဆောက်တဲ့အခါမှ ဘယ် function ကို သုံးရင် ကောင်းမလဲ။ ဒီ code တကယ်ရေးဖို့လိုလို့လား။ နောက်ပြီး ဘယ်လို ရေးရင် light weight ဖြစ်မလဲ စတာတွေကို စဉ်းစားလာရတယ်။ ကျွန်တော် မသိသေးပေမယ့် သုံးကောင်းတဲ့ function အချို့ PHP မှာတွေ့လာရတယ်။ နောက်ပြီး array ပိုင်းနဲ့ OOP ပိုင်းကို ပိုသဘောကျလာတယ်။

parse_ini_file

အစက yml ကို config အနေနဲ့သုံးမလားလို့ စဉ်းစားမိပြီး googling လုပ်ပြီး သုံးသင့်မသုံးသင့်လိုက်ဖတ်လိုက်တော့ blog တစ်ခုမှာ yml ထက်စာရင် ini ကို သုံးဖို့အကြံပေးထားတာတွေ့တယ်။ ဘာလို့လည်းဆိုတော့ သီးသန့်ထပ်ထည့်စရာမလိုပဲ PHP ရဲ့ မူရင်း function ကနေ လှမ်းခေါ်လို့ရတာကို။

; This is a sample configuration file
; Comments start with ';', as in php.ini

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

အဲဒါ သမာရိုးကျ ini file ပါ။ PHP နဲ့ တွဲသုံးချင်ရင်

 <?php

define('BIRD', 'Dodo bird');

// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);

// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);

?>

အဲဒီ result က အောက်ကလို ထွက်လာတယ်။

Array
(
    [one] => 1
    [five] => 5
    [animal] => Dodo bird
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

)
Array
(
    [first_section] => Array
        (
            [one] => 1
            [five] => 5
            [animal] => Dodo bird
        )

    [second_section] => Array
        (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )

    [third_section] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

        )

)

တကယ်ကို ရိုးရိုးလေးနဲ့ ရှင်းရှင်းလေးပဲ။ yml ကို သုံးမယ်ဆိုရင် yml ကို နားလည်ဖို့ လိုသလို သီးသန့် class ကိုလည်း ထည့်သွင်းသုံးဖို့လိုလာပါတယ်။

extract

အဲဒါက တကယ်ကို အသုံးဝင်တယ်။ view ကိုလှမ်းခေါ်တဲ့နေရာမှာ တော်တော်အဆင်ပြေတယ်။ သီးသန့် parser ရေးစရာမလိုတော့ပဲ template system တစ်ခုလို သုံးလို့ရသွားတယ်။ CodeIgniter မှာလည်း အဲဒါကို သုံးထားတာပဲ။ သူက array ထဲက name ကို variable အဖြစ်ပြောင်းပေးလိုက်တယ်။

$data['var1']="hi";

$data['var2']="Hello!";

extract($data);

echo $var1.$var2; //output is hiHello!

အဲမှာ extract ကို သုံးလိုက်ပြီး array data ကို variable အနေနဲ့ သုံးလိုက်လို့ရတယ်။

array_shift

အစက ဘယ်မှာ သုံးရမှန်းမသိဘူး။ နောက်တော့ segment ဖြတ်တဲ့နေရာမှာ တော်တော်အဆင်ပြေတယ်။ မလိုချင်တဲ့ အရှေ့က array ကို ဖြုတ်ထုတ်လိုက်တာ။ ပုံမှန် unset က ပျောက်သွားပေမယ့် array အခန်းက မရွှေ့သွားဘူး။ array_shift က ရွှေ့သွားတဲ့အတွက် မလိုချင်တဲ့ အရှေ့က array အခန်းတွေ ဖျက်ထုတ်လိုက်လို့ရသွားတယ်။

တခြား လူသုံးနည်းပေမယ့် အသုံးဝင်တဲ့ function တွေ ရှိပါသေးတယ်။ framework တစ်ခု သေသေချာချာ ဆောက်ကြည့်မှပဲ PHP အကြောင်းကို ပိုပြီး နားလည်လာတယ်။ funciton တွေများတော့ .NET သမားတွေကတော့ သဘောကျမှာ မဟုတ်လောက်ဘူး။ function တွေအကုန်သိဖို့ မလွယ်သလို အကုန်သိဖို့လည်း မလိုဘူးလေ။ မသိရင် goolging လုပ်ပြီး ရှာလိုက်ရင် သိနေတာပဲ။ PHP function အကုန်လုံးက PHP Manual ထဲမှာ ရှိတော့ offline ကော online အတွက်ပါ တော်တော်အဆင်ပြေတယ်။

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.