Zaboravio sam da napisem kako se koristi:
Code:
$settings = Settings::getInstance() ;
$settings->pay_pal_account = 'neispravna email adresa' ;
var_dump($settings->isValid()) ; // false
var_dump( $settings->isValidField('pay_pal_account') ) ; // false
$settings->save() ; // baca exception jer jedno od polja nije validno
$settings->pay_pal_account = '
[email protected]' ;
$settings->save() ; // snima .ini fajl
//-- drugi nacin koriscenja, sinhronizacija sa nizom tipa $_POST ili $_GET
$data = array('pay_pal_account'=>'neispravna email adresa', 'admin_page_limit'=>'nesto sto nije integer') ;
$settings->synchronizeWithArray($data) ;
var_dump( $settings->isValidField('pay_pal_account') ) ; // false
var_dump( $settings->isValidField('admin_page_limit') ) ; // false
U metodi setDefinition() treba postaviti koji se fajl koristi i sama polja zajedno sa pravilima za validaciju. Klasa se prilicno uspesno 'brani' od gresaka programera npr. fajl se nece snimiti dok sva polja nisu validna.