• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

Config Class مسئول خواندن و مدیریت تنظیمات برنامه است. فایل اصلی تنظیمات در application/config/config.php قرار دارد و فایل‌های دیگری مانند database.php، autoload.php و فایل‌های محیطی نیز می‌توانند تنظیمات بخش‌های مختلف را نگه دارند.

ساختار و API اصلی

متد item() مقدار یک گزینه را می‌خواند، set_item() مقدار را در زمان اجرا تغییر می‌دهد و load() فایل تنظیمات دیگری را بارگذاری می‌کند. گزینه‌های مربوط به URL، زبان، Charset، Cookie و Session از همین مسیر در دسترس هستند.

نمونه استفاده

 $this->load->config('email', TRUE);
 $smtpHost = $this->config->item('smtp_host', 'email');
 $this->config->set_item('language', 'persian');

نکته مهم

مقادیر محرمانه مانند رمز دیتابیس و کلید سرویس خارجی را در مخزن عمومی قرار ندهید. تنظیمات محیط Production و Development را از هم جدا کنید.

مطالعه مرتبط

برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.

متدهای تنظیمات

متد یا مفهومکاربرد
item($key, $index)خواندن یک گزینه از فایل تنظیمات.
set_item($key, $value)تغییر مقدار گزینه در زمان اجرا.
load($file, $use_sections)بارگذاری فایل تنظیمات دیگر.
site_url() و base_url()دریافت URLهای پایه از تنظیمات.
config_item($key)خواندن گزینه از تنظیمات عمومی.

نحوه استفاده و عیب‌یابی

در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.

در محیط توسعه، مسیر موفق و مسیر خطا را جداگانه آزمایش کنید. ورودی خالی، مقدار نامعتبر، فایل بزرگ، Timeout سرویس خارجی و نبود مجوز نوشتن از سناریوهایی هستند که باید بررسی شوند. منابعی مانند اتصال شبکه و فایل‌های موقت را پس از پایان عملیات آزاد کنید.

در بازبینی کد، ترتیب و نتیجه متدهای item($key, $index)، set_item($key, $value)، load($file, $use_sections)، site_url() و base_url() را بررسی کنید. نام متد به‌تنهایی تضمین نمی‌کند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.

سایر پست های داکیومنت