當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Wire::get方法代碼示例

本文整理匯總了PHP中Wire::get方法的典型用法代碼示例。如果您正苦於以下問題:PHP Wire::get方法的具體用法?PHP Wire::get怎麽用?PHP Wire::get使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Wire的用法示例。


在下文中一共展示了Wire::get方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: _getDot

 /**
  * Get a property via dot syntax: field.subfield (static)
  *
  * Static version for internal core use. Use the non-static getDot() instead.
  *
  * @param string $key 
  * @param Wire $from The instance you want to pull the value from
  * @return null|mixed Returns value if found or null if not
  *
  */
 public static function _getDot($key, Wire $from)
 {
     $key = trim($key, '.');
     if (strpos($key, '.')) {
         // dot present
         $keys = explode('.', $key);
         // convert to array
         $key = array_shift($keys);
         // get first item
     } else {
         // dot not present
         $keys = array();
     }
     if (Wire::getFuel($key) !== null) {
         return null;
     }
     // don't allow API vars to be retrieved this way
     if ($from instanceof WireData) {
         $value = $from->get($key);
     } else {
         if ($from instanceof WireArray) {
             $value = $from->getProperty($key);
         } else {
             $value = $from->{$key};
         }
     }
     if (!count($keys)) {
         return $value;
     }
     // final value
     if (is_object($value)) {
         if (count($keys) > 1) {
             $keys = implode('.', $keys);
             // convert back to string
             if ($value instanceof WireData) {
                 $value = $value->getDot($keys);
             } else {
                 $value = self::_getDot($keys, $value);
             }
         } else {
             $key = array_shift($keys);
             // just one key left, like 'title'
             if ($value instanceof WireData) {
                 $value = $value->get($key);
             } else {
                 if ($value instanceof WireArray) {
                     if ($key == 'count') {
                         $value = count($value);
                     } else {
                         $a = array();
                         foreach ($value as $v) {
                             $a[] = $v->get($key);
                         }
                         $value = $a;
                     }
                 }
             }
         }
     } else {
         // there is a dot property remaining and nothing to send it to
         $value = null;
     }
     return $value;
 }
開發者ID:gusdecool,項目名稱:bunga-wire,代碼行數:74,代碼來源:WireData.php

示例2: objectToString

 /**
  * Render an object to a string
  * 
  * @param Wire|object $value
  * @return string
  * 
  */
 protected function objectToString($value)
 {
     if ($value instanceof WireArray && !$value->count()) {
         return '';
     }
     if ($value instanceof Page) {
         return $value->get('title|name');
     }
     if ($value instanceof Pagefiles || $value instanceof Pagefile) {
         $out = $this->renderInputfieldValue($value);
     } else {
         $className = get_class($value);
         $out = (string) $value;
         if ($out === $className) {
             // just the class name probably isn't useful here, see if we can do do something else with it
             $this->renderIsUseless = true;
         }
     }
     return $out;
 }
開發者ID:Smubs,項目名稱:ProcessWire,代碼行數:27,代碼來源:MarkupFieldtype.php

示例3: objectToString

 /**
  * Render an object to a string
  * 
  * @param Wire|object $value
  * @return string
  * 
  */
 protected function objectToString($value)
 {
     if ($value instanceof Page) {
         return $value->get('title|name');
     }
     $className = get_class($value);
     $out = (string) $value;
     if ($out === $className) {
         // just the class name probably isn't useful here, see if we can do do something else with it
         $this->renderIsUseless = true;
     }
     return $out;
 }
開發者ID:Rizsti,項目名稱:Processwire_Compatibility,代碼行數:20,代碼來源:MarkupFieldtype.php


注:本文中的Wire::get方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。