За последние 24 часа нас посетили 67467 программистов и 1642 робота. Сейчас ищут 974 программиста ...

Многоуровневая обработка или как то так.

Тема в разделе "Прочие вопросы по PHP", создана пользователем wir_wolf, 11 ноя 2011.

  1. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    В java есть очень полезная фича, там можно работать на лету с данными которые вернула функция. к примеру
    Код (Text):
    1. npc.getAI().getIntention()
    Есть ли аналог этому в php?
     
  2. krow7

    krow7 Активный пользователь

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    wir_wolf
    если работать с методами класса, которые возвращают сам объект, то да.
    PHP:
    1. <?
    2. class asdas
    3. {
    4.       private $val='one';
    5.       private function check_val()
    6.       {
    7.              if($this->val==='one')
    8.              {
    9.                     return true;
    10.              }
    11.              else
    12.              {
    13.                      return false;
    14.              }
    15.       }
    16.  
    17.      private function change_val($new)
    18.      {
    19.             $this->val==$new;
    20.             return $this;
    21.      }
    22. }
    23. $instance=new asdas;
    24. $instance->change_val('two')->check_val(); //false
    25.  
     
  3. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    А если это статика?
     
  4. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Просто у меня как состоит струтура
    PHP:
    1. abstract class ZConfig {
    2.  
    3.     public static $config = null;
    4.  
    5.     const File_Conf = '/config/config.ini';
    6.  
    7.  
    8.     /**
    9.      * Get a configuration object
    10.      *
    11.      */
    12.     public static function getConfig()
    13.     {
    14.         if (!self::$config['general']) {
    15.                 self::$config['general'] = parse_ini_file(ZPATH_PLATFORM.self::File_Conf);
    16.         }
    17.         return (object)self::$config['general'];
    18.     }
    19.  
    20.     /**
    21.      * Возврашает конфиг из файла
    22.      * @param   string   $file   Имя файла который нужно прочитать
    23.  
    24.      *
    25.      */
    26.     public static function get($file){
    27.         if(!isset(self::$config[$file])){
    28.             self::$config[$file] = parse_ini_file(ZPATH_PLATFORM.'/config/config.'.$file.'.ini');
    29.         }
    30.         return self::$config[$file];
    31.     }
    32.     public static function get_params($obj,$name){
    33.         return $obj->$name;
    34.     }
    35. }
    36.  
    и мне приходится делать вот такие вот вывороты
    Код (Text):
    1. ZConfig::get_params(ZConfig::getConfig(),'display_err')
    есть ли возможность делать каким то образом вот так
    Код (Text):
    1. ZConfig::getConfig().get_params('display_err');
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пхп всетки - суперкрутой шаблонизатор. Пока у него есть белые пятна, несмотря на долгую историю.
    Но вроде как ничто не мешает писать серверную часть на яве же.
     
  6. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Ну почему, если грамотно всё сделать, всегда можно вызывать
    $this->getRequest()->getParam('key') и т.д.
    Или как в AR Yii - User::model()->find(new CDbCriteria(array('condition'=>'some condition')));

    Хоть 100 вызовов.

    Чтобы у тебя такое работало, надо чтобы ZConfig::getConfig() возвращал объект ZConfig