تنظیمات
وب ساز میتواند تنظیمات را به دوشیوه بخواند و با یک روش بنویسد .
فایل config.php
اگر به فایل config.php در مسیر packages/base/libraries/config سر بزنید، یک آرایه PHP را خواهید دید که حاوی تعدادی جفت کلید-مقدار می باشد . اگر برنامه نویس در این فایل مقادیری اضافه کند، بعدا میتواند با استفاده از روش زیر به آن دسترسی داشته باشد و در هنگام اجرای برنامه از آن استفاده کند .
جدول Options
اگر برنامه توانایی استفاده از پایگاه داده را داشته باشد، برنامه نویس میتواند تنظیمات را در حین نصب یا اجرای برنامه و با استفاده از کلاس options بخواند و بنویسد .
تنظیماتی که مقدار autoload آن برابر ۱ باشد، در هنگام فعال شدن فریم ورک از پایگاه داده به صورت دست جمعی و خودکار لود خواهد شد و سایر تنظیمات در هنگام نیاز برنامه نویس از پایگاه داده فراخوانی خواهد شد .
امکان ذخیره آرایه و یا اشیاء در فیلد value نیز وجود دارد و فرم ورک به صورت خودکار در هنگام ذخیره یا خواندن، مقادیر آن ها را مدیریت میکند .
خواندن تنظیمات
تابع get از کلاس options برای خواندن تنظیمات استفاده میشود . در پارامتر $name، این تابع نام تنظیم مورد نظر شما را تحویل میگیرد و ابتدا در میان مقادیر موجود در فایل config.php و سپس اگر (امکان اتصال به پایگاه داده موجود بود) در جدول options به دنبال آن می گردد .
همینطور اگر پارامتر $reload را برابر true وارد نمایید، این تابع ختای در صورتی که این تنظیم را قبلا از پایگاه داده دریافت کرده باشد، دوباره در پایگا ه داده به دنبال مقدار آن خواهد گشت .
مثال
<?php
namespace packages\packagename\controllers;
use packages\base\{controller, options}
class Main extends controller {
public function getDefaultLang() {
return options::get("packages.package.lang.default");
}
}
ذخیره تنظیمات
با استفاده از تابع set از کلاس options میتوانید یک تنظیم را به صورت موقتی ذخیره نمایید و هنگامی که پردازش تمام شد، آن تنظیم نیز حذف و یا به مقدار اولیه خود، تنظیم خواهد شد .
اگر قصد ذخیره دائمی یک تنظیم را دارید، میبایست از تابع save از کلاس options استفاده نمایید . این تابع همچون تابع set مقدار نام انحصاری تنظیم را در پارامتر اول و مقدار آن را (که میتواند عدد، رشته، مقدار منطقی و آرایه باشد) در پارامتر دوم دریافت می کند .
همچنین میتوانید یکی از دو مقدار true و یا false را برای پارامتر autoload را در پارامتر سوم ارسال کنید، تا مشخص کنید این تنظیم به صورت گروهی و خودکار لود شود و یا اینکه به وقت نیاز به آن رجوع شود .
مثال
<?php
namespace packages\packagename\controllers;
use packages\base\{controller, options}
class Main extends controller {
public function changeLang($lang) {
options::set("packages.package.lang.default", $lang);
}
}