1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

3 روش برای ایجاد و فراخوانی Setting/Config. نرم افزار

شروع موضوع توسط minaaa ‏12/11/11 در انجمن PHP

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    [h=2][/h]
    سلام،
    میخوام 3 روش برای ایجاد و فراخوانی تنظیمات(/پیکربندی) نرم افزارهای تحت وب معرفی کنم که هر روش در جای خودش مفید و قابل استفاده هستش...

    روش اول:
    استفاده از متغیر(یا آرایه): تمامی تنظیمات بصورت متغیر در یک/چند فایل PHP ذخیره و در صفحات ضمیمه(Include) می شوند:
    نرم افزار کوچیک/سبک:
    PHP Code:
    کد:

    $Host= '127.0.0.1'; $Port= 3306; $Username= 'root'; $Password= 'xxxxx'; $Type= 'MySQL'; $Engine= 'MyISAM'; $CharacterSet= 'utf8'; $Database= 'database'; $Prefix= 'xxxxx_'; ​

    نرم افزار بزرگ/سنگین:
    PHP Code:
    PHP:
     $Ary_Tanzimat=  array(); 
    # Software 
    $Ary_Tanzimat['Software']['Name']= 'xxxxx';  
    $Ary_Tanzimat['Software']['Description']= 'xxxxx';  
    $Ary_Tanzimat['Software']['Version']= '1.0.0';  
    $Ary_Tanzimat['Software']['Producer']= 'xxxxx';  
    $Ary_Tanzimat['Software']['Copyright']= '(c) 1388/2009 xxxxx. All rights  reserved.'
    $Ary_Tanzimat['Software']['License']= 'Gnu/GPL';  
    $Ary_Tanzimat['Software']['Email']= 'Name@Domain';  
    $Ary_Tanzimat['Software']['Link']= 'http://domain'
    # Database  
    $Ary_Tanzimat['Database']['Host']= '127.0.0.1';  
    $Ary_Tanzimat['Database']['Port']= 3306;  
    $Ary_Tanzimat['Database']['Username']= 'root';  
    $Ary_Tanzimat['Database']['Password']= 'xxxxx';  
    $Ary_Tanzimat['Database']['Type']= 'MySQL';  
    $Ary_Tanzimat['Database']['Engine']= 'MyISAM';  
    $Ary_Tanzimat['Database']['CharacterSet']= 'utf8';  
    $Ary_Tanzimat['Database']['Database']= 'database';  
    $Ary_Tanzimat['Database']['Prefix']= 'xxxxx_'
    # Website  
    $Ary_Tanzimat['Website']['Title']= 'xxxxx';  
    $Ary_Tanzimat['Website']['URL']= 'http://domain';  
    $Ary_Tanzimat['Website']['Keywords']= 'x, x, x, x,...';  
    $Ary_Tanzimat['Website']['Direction']= 'xxx';  
    $Ary_Tanzimat['Website']['TimeZone']= 'xxxxx';  
    $Ary_Tanzimat['Website']['Email']= 'Name@Domain'
    ... 
    میشه بجای Software, Database, Website عدد 1 و 2 و 3 یا هر چیزه دیگه گذاشت.

    روش دوم:
    استفاده از ثوابت: تمامی تنظیمات بصورت Define(یا ثابت) در یک/چند فایل PHP یا H(هدر) ذخیره و در صفحات ضمیمه(Include) می شوند:
    Define بصورت Global scope میشه.
    PHP Code:
    PHP:
     define('Name''xxxxx'); # ! 
    define('Description',  'xxxxxxxx'); 
    define('Version''1.0.0'); 
    define('Producer''xxxxx');  
    define('Copyright''(c) 1388/2009 xxxxx. All rights reserved.');  
    define('License''Gnu/GPL'); 
    define('Email''xxxxxxx');  
    define('Link''http://xxxxxxxxx'); 
    ... 
    define('Host''127.0.0.1');  
    define('Port'3306); 
    define('Username''root'); 
    define('Password',  'xxxxx'); 
    define('Type''MySQL'); 
    define('Engine''MyISAM');  
    define('CharacterSet''utf8'); # !latin 
    define('Database''database');  
    define('Prefix''xxxxx_'); 
    ... 
    روش سوم:
    استفاده از ini: تمامی تنظیمات بصورت Initation در یک/چند فایل Ini ذخیره و به روش زیر فراخوانی میشن:
    كد:

    PHP:
    [Software]
    Namexxxxxxx
    Description
    =  xxxxxxxx
    Version
    1.0.0
    ...

    [
    Database]
    Hostxxxxxx
    Port
    =  xxxx
    ...

    [
    Website]
    Titlexxxxxxx
    Email
    xxxxx
    URL
    =  xxxxx
    Path
    =  xxxxxx
    ...
    #################################
    $Ary_Tanzimat=  (array)parse_ini_file('tanzimat.ini');
    echo(
    $Ary_Tanzimat->Host);
    echo(
    $Ary_Tanzimat->Version);
    ...
    $Ary_Tanzimat=  null;
    و در آخر دسترسی به تمامی این فایلها رو ممنوع کنید و به ReadOnly تغییر/ChMod بدید.