လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Get_includude_Path () သည်ကြီးမားသော PHP applications များဖြင့် Code တည်ဆောက်ပုံများကိုမည်သို့စီစဉ်ရမည်နည်း

Get_includude_Path () သည်ကြီးမားသော PHP applications များဖြင့် Code တည်ဆောက်ပုံများကိုမည်သို့စီစဉ်ရမည်နည်း

gitbox 2025-05-26

ကြီးမားသော PHP application များတည်ဆောက်သည့်အခါ Code အဖွဲ့အစည်း၏အားသာချက်များနှင့်အားနည်းချက်များသည်စီမံကိန်း၏ထိန်းသိမ်းနိုင်မှုနှင့်ဖွံ့ဖြိုးတိုးတက်မှုစွမ်းရည်ကိုတိုက်ရိုက်သက်ရောက်စေသည်။ PHP မှပေးသော get_include_path () နှင့် set_include_path () PHP မှပေးသောလက်တွေ့ကျသောလုပ်ဆောင်ချက်နှစ်ခုသည်လမ်းကြောင်းများအပါအ 0 င် (0 ါဖင့်အပါအ 0 င်) များထည့်သွင်းရန်အသုံးပြုသောလက်တွေ့လုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ သူတို့အတွက်အကူအညီဖြင့်ကျွန်ုပ်တို့သည်အတန်းအစားဖိုင်များ, ပြင်ဆင်မှုဖိုင်များ, စာကြည့်တိုက်များနှင့်အခြားအရင်းအမြစ်များကိုလမ်းညွှန်များစွာတွင်ထိရောက်စွာရှာဖွေနိုင်သည်။

Controth_path ကဘာလဲ။

Continue_path သည် Executing, Fopen နှင့်အခြားလုပ်ဆောင်မှုများ ပါ 0 င် သည့် အခါ PHP ဖိုင်များအတွက်ဖိုင်များအတွက်ရှာဖွေသောလမ်းကြောင်းများစာရင်းဖြစ်သည်။ ၎င်းသည် system path ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ဆက်နွှယ်သောလမ်းကြောင်း strings အစုတခုဖြစ်သည်။ ဥပမာအားဖြင့်, UNIX စနစ်များတွင်၎င်းသည်ဤပုံနှင့်တူလိမ့်မည်။

 /usr/local/lib/php:/home/user/project/includes

ဆိုလိုသည်မှာသင်ခေါ်ဆိုသောအခါ

 include 'myClass.php';

PHP သည် MyClass.php ဖိုင်များကို / usr / local / lib / php / PHP နှင့် / အိမ် / အသုံးပြုသူ / စီမံကိန်း / / ပါ 0 င်သည်။

get_include_path ၏အခန်းကဏ် ()

get_include_path () ကိုလက်ရှိပါ 0 င်သည်။ ပုံမှန်အသုံးပြုမှုသည် debugging or dynaming rotending rotending အတွက်ဖြစ်သည်။

 echo get_include_path();

set_includude_path () နှင့် တွဲဖက်. သုံးပါ။

 $path = get_include_path();
set_include_path($path . PATH_SEPARATOR . '/home/user/project/lib');

အကြီးစားစီမံကိန်းများတွင်လက်တွေ့အရေးပါမှု

အလယ်အလတ်နှင့်ကြီးမားသော PHP applicationations များတွင် code ကိုအများအပြားလမ်းညွှန်မျိုးစုံဖြင့်ဖြန့်ဝေသည်။

  • Core စာကြည့်တိုက်: / core

  • Controller: / App / Controllers

  • မော်ဒယ် - / / app / models

  • တတိယပါတီစာကြည့်တိုက်: / ရောင်းချသူ

အကယ်. ဖိုင်တစ်ခုဖွင့်သည့်အခါတိုင်းပကတိလမ်းကြောင်းကိုအသုံးပြုပါကကုဒ်သည်ကြာရှည်စွာထိန်းသိမ်းရန်ခက်ခဲပြီးခက်ခဲလိမ့်မည်။ ထည့်သွင်းခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဤလမ်းညွှန်များအားလုံးကိုလမ်းကြောင်းသို့ထည့်နိုင်သည်။

 set_include_path(
    implode(PATH_SEPARATOR, [
        '/var/www/html/core',
        '/var/www/html/app/controllers',
        '/var/www/html/app/models',
        '/var/www/html/vendor',
        get_include_path()
    ])
);

Set up ပြီးတာနဲ့သင်လမ်းမအတွက်စိတ်ပူစရာမလိုဘဲအတန်းများသို့မဟုတ် configuration files များကိုအလွယ်တကူတင်နိုင်သည်။

 require_once 'UserController.php';
require_once 'Database.php';

အလိုအလျောက်တင်နှင့်အတူအသုံးပြုခဲ့သည်

ပိုမိုတိုးတက်စေရန်ပိုမိုတိုးတက်စေရန်၎င်းကို spl_autoload_register () ကို အသုံးပြု. အလိုအလျောက်တင်ဆောင်သည့်ယန္တရားနှင့် တွဲဖက်. အသုံးပြုလေ့ရှိသည်။

 spl_autoload_register(function ($className) {
    include $className . '.php';
});

Complet_path နှင့်အတူပေါင်းစပ်ထားသော PHP သည် Set Paths တွင် $ classname.php ဖိုင်ကိုရှာဖွေလိမ့်မည်။ ဤနည်းအားဖြင့်သင်သည် PSR-0 / PSR-4 ကဲ့သို့သောအလိုအလျောက်တင်ခြင်းကိုမူဘောင်ကိုမမိတ်မဖွဲ့ဘဲအကောင်အထည်ဖော်နိုင်သည်။

configuration အတွက်စီမံခန့်ခွဲနည်းများ

PHPP.ini တွင်ကမ္ဘာလုံးဆိုင်ရာ 0 င်ရောက်ခြင်းကိုသင်ထည့်နိုင်သည်။

 include_path = ".:/var/www/html/includes:/var/www/html/vendor"

သို့မဟုတ်၎င်းကို .htaccess ဖိုင် (Apache ကိုသာ) တွင်ထားပါ။

 php_value include_path ".:/var/www/html/includes:/var/www/html/vendor"

ဟုတ်ပါတယ်, ပြောင်းလွယ်ပြင်လွယ်ဆုံးနည်းက entry file ထဲမှာအဲဒါကို entry file ထဲမှာ dynamically လုပ်ထားတာပါ။

 define('BASE_PATH', dirname(__FILE__));

set_include_path(
    implode(PATH_SEPARATOR, [
        BASE_PATH . '/core',
        BASE_PATH . '/lib',
        BASE_PATH . '/modules',
        BASE_PATH . '/vendor',
        get_include_path()
    ])
);

လက်တွေ့ကျသောဥပမာများ

သင်ဟာစီးပွားရေးအဆင့်စနစ်တစ်ခုကိုရေးဆွဲနေပြီဆိုပါစို့။

 /var/www/html/
├── index.php
├── core/
│   └── App.php
├── lib/
│   └── Utils.php
├── modules/
│   └── Auth.php
├── vendor/
│   └── autoload.php

လမ်းကြောင်းကို index.php တွင်ထားပါ။

 define('BASE_PATH', __DIR__);

set_include_path(
    implode(PATH_SEPARATOR, [
        BASE_PATH . '/core',
        BASE_PATH . '/lib',
        BASE_PATH . '/modules',
        BASE_PATH . '/vendor',
        get_include_path()
    ])
);

require_once 'App.php';
require_once 'Utils.php';
require_once 'Auth.php';

အကယ်. ဤ module များအကြားအပြန်အလှန်မှီခိုမှုရှိလျှင်ဤယန္တရားသည် module reusate and Code ထိန်းသိမ်းရေးကိုထိန်းသိမ်းထားနိုင်လိမ့်မည်။

အထူးမှတ်စု: Path ကို ဦး စားပေး

PHP သည် chat_path တွင်လမ်းကြောင်းများအလိုက်ဖိုင်များကိုရှာဖွေလိမ့်မည်။ ထို့ကြောင့်ဖိုင်၏မှားယွင်းသောဗားရှင်းကိုမတင်ကာကွယ်ကာကွယ်မှုမှကာကွယ်ရန်လမ်းကြောင်း၏ ဦး စားပေးကိုဂရုတစိုက်စီစဉ်သင့်သည်။ ဥပမာအားဖြင့်, သင်သည်တတိယပါတီလမ်းကြောင်းမတိုင်မီဒေသစီမံကိန်းကိုဒေသတွင်းစီမံကိန်းသို့နေရာချနိုင်သည်။

 set_include_path(
    implode(PATH_SEPARATOR, [
        BASE_PATH . '/app',
        BASE_PATH . '/lib',
        BASE_PATH . '/vendor/gitbox.net/framework',
        get_include_path()
    ])
);

အကျဉ်းချုပ်

Get_intude_path () နှင့် set_include_path () သည်ကြီးမားသော PHP applications များကိုစုစည်းရန်မရှိမဖြစ်လိုအပ်သောကိရိယာများဖြစ်သည်။ EntoT_path ကိုကျိုးကြောင်းဆီလျော်စွာ configuring လုပ်ခြင်းအားဖြင့်အလိုအလျောက် 0 င်ရောက်ခြင်းယန္တရားနှင့်ပေါင်းစပ်ခြင်းအားဖြင့်ကုဒ်တင်ခြင်းသည်ပိုမိုစမတ်ကျပြီးပိုမိုတိကျနိုင်သည်။ ၎င်းသည် submodules, စာကြည့်တိုက်ည့်သည်များနှင့်အစိတ်အပိုင်းများကိုအသုံးပြုသောကြီးမားသောစီမံကိန်းများအတွက် decouple နှင့် modulating အောင်မြင်ရန်အတွက်အရေးပါသောခြေလှမ်းဖြစ်သည်။

Configuration အနည်းငယ်သာရှိသောသင်၏ PHP application သည်ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်ထိန်းသိမ်းခြင်းတို့အတွက်ကြီးမားသောခြေလှမ်းတစ်ခုပြုလုပ်နိုင်သည်။