چگونه فایل‌های کانفیگ حرفه یی در PHP بنویسیم؟

برنامه نویسی

یکسری تنظیمات اولیه در هر وب اپلیکیشنی وجود دارند که غالباً از آن‌ها تحت عنوان Config (کانفیگ یا پیکربندی) یاد می‌شود که از آن جمله می‌توان به مثلاً تنظیمات امکان منتشر شدن یا عدم انتشار کامنت ها در لحظه ی کامنت گذاری، عنوان اصلی سایت، نام دیتابیس، نام کاربری و رمزعبور دیتابیس و … اشاره کرد به طوری که این تنظیمات صرفاً در یک فایل ذخیره شده و در جای جای سایت مورد استفاده قرار می‌گیرند و هر زمان که نیاز به تغییری داشته باشیم، فایل کانفیگ را آپدیت کرده و هر کجا که از آن کانفیگ ها استفاده کرده باشیم به روز رسانی خواهد شد. آنچه در این ترفند قصد داریم مورد بررسی قرار دهیم، بررسی رویکردی حرفه یی برای نوشتن فایل‌های کانفیگ است؛ رویکردی که بسیاری از فریم ورک های پی اچ پی از آن برای پیکربندی وب اپلیکیشن ساخته شده با فریم ورک استفاده می‌کنند. با سکان آکادمی همراه باشید.

غالباً برنامه نویسانی که با Pure PHP کدنویسی می‌کنند، کانفیگ دیتابیس خود را به صورت زیر مورد استفاده قرار می دهند؟

<?php
$db_host = 'localhost';
$db_name = 'somedb';
$db_user = 'someuser';
$db_pass = 'somepass';

کدهای بالا در فایلی مثلاً تحت عنوان config.php ذخیره شده و با include کردن این فایل در هر صفحه یی که نیاز داشته باشیم، به تنظیمات دیتابیس دسترسی خواهیم داشت:

<?php
include('config.php');
echo $db_host; // 'localhost'

اما رویکردی که در فریم ورک های حرفه یی نوشته شده برای زبان برنامه نویسی PHP مورد استفاده قرار گرفته است، استفاده از آرایه ها برای ذخیره سازی تنظیمات کانفیگ است:

<?php
return [
    'host' => 'localhost',
    'name' => 'somedb',
    'user' => 'someuser',
    'pass' => 'somepass'
];

آرایه ی فوق را در فایلی تحت عنوان config.php ذخیره می‌سازیم. حال از این پس به سادگی می‌توان این فایل را در متغیری ذخیره ساخته و همچون هر آرایه ی دیگری، به مقادیر آن دسترسی پیدا کرد:

<?php
$confing = include('config.php');
echo $confing['host']; // 'localhost'

نکته ی دیگری که در اینجا می بایست مد نظر داشته باشیم این است که کانفیگ مد نظر خود را به صورت آرایه های چند بعدی نیز می‌توان در فایل کانفیگ ذخیره ساخت:

<?php
return [
    'database' => [
        'host' => 'localhost',
        'name' => 'somedb',
        'user' => 'someuser',
        'pass' => 'somepass'
    ],
    'other-stuff' => ...
];

برای مثال اگر قصد داشته باشیم هاست دیتابیس را فراخوانی کنیم، به صورت زیر عمل می کنیم:

<?php
$confing = include('config.php');
echo $confing['database']['host']; // 'localhost'

0


برچسب ها: پی اچ پی      مشاهده کلیه ترفندهای: ادمین سایت      در تاریخ: 1395/08/24



  • امین در تاریخ: 1395/08/24

    مرسی از سکان آکادمی
    توضیحات مفید و کاربردی بود

از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)