В java есть очень полезная фича, там можно работать на лету с данными которые вернула функция. к примеру Код (Text): npc.getAI().getIntention() Есть ли аналог этому в php?
wir_wolf если работать с методами класса, которые возвращают сам объект, то да. PHP: <? class asdas { private $val='one'; private function check_val() { if($this->val==='one') { return true; } else { return false; } } private function change_val($new) { $this->val==$new; return $this; } } $instance=new asdas; $instance->change_val('two')->check_val(); //false
Просто у меня как состоит струтура PHP: abstract class ZConfig { public static $config = null; const File_Conf = '/config/config.ini'; /** * Get a configuration object * */ public static function getConfig() { if (!self::$config['general']) { self::$config['general'] = parse_ini_file(ZPATH_PLATFORM.self::File_Conf); } return (object)self::$config['general']; } /** * Возврашает конфиг из файла * @param string $file Имя файла который нужно прочитать * */ public static function get($file){ if(!isset(self::$config[$file])){ self::$config[$file] = parse_ini_file(ZPATH_PLATFORM.'/config/config.'.$file.'.ini'); } return self::$config[$file]; } public static function get_params($obj,$name){ return $obj->$name; } } и мне приходится делать вот такие вот вывороты Код (Text): ZConfig::get_params(ZConfig::getConfig(),'display_err') есть ли возможность делать каким то образом вот так Код (Text): ZConfig::getConfig().get_params('display_err');
Пхп всетки - суперкрутой шаблонизатор. Пока у него есть белые пятна, несмотря на долгую историю. Но вроде как ничто не мешает писать серверную часть на яве же.
Ну почему, если грамотно всё сделать, всегда можно вызывать $this->getRequest()->getParam('key') и т.д. Или как в AR Yii - User::model()->find(new CDbCriteria(array('condition'=>'some condition'))); Хоть 100 вызовов. Чтобы у тебя такое работало, надо чтобы ZConfig::getConfig() возвращал объект ZConfig