ايران ويج

نسخه‌ی کامل: 3 روش برای ایجاد و فراخوانی Setting/Config. نرم افزار
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام،
میخوام 3 روش برای ایجاد و فراخوانی تنظیمات(/پیکربندی) نرم افزارهای تحت وب معرفی کنم که هر روش در جای خودش مفید و قابل استفاده هستش...

روش اول:
استفاده از متغیر(یا آرایه): تمامی تنظیمات بصورت متغیر در یک/چند فایل PHP ذخیره و در صفحات ضمیمه(Include) می شوند:
نرم افزار کوچیک/سبک:
کد php:
$Host'127.0.0.1';
$Port3306;
$Username'root';
$Password'xxxxx';
$Type'MySQL';
$Engine'MyISAM';
$CharacterSet'utf8';
$Database'database';
$Prefix'xxxxx_'
نرم افزار بزرگ/سنگین:
کد 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:
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 ذخیره و به روش زیر فراخوانی میشن:
کد:
[Software]
Name= xxxxxxx
Description= xxxxxxxx
Version= 1.0.0
...

[Database]
Host= xxxxxx
Port= xxxx
...

[Website]
Title= xxxxxxx
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 بدید.

منبع: http://forum.IranPHP.org