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


PHP serendipity_plugin_api::getClassByInstanceID方法代碼示例

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


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

示例1:

 /**
  * Instantiates a plugin class
  *
  * @access public
  * @param   string      The ID of the plugin to load
  * @param   int         The owner of the plugin (can be autodetected)
  * @param   string      The path to a plugin (can be autodetected)
  * @param   string      The filename of a plugin (can be autodetected)
  * @return
  */
 function &load_plugin($instance_id, $authorid = null, $pluginPath = '', $pluginFile = null)
 {
     global $serendipity;
     if ($pluginFile === null) {
         $class_name = '';
         // $serendipity['debug']['pluginload'][] = "Init probe for plugin $instance_id, $class_name, $pluginPath";
         $pluginFile = serendipity_plugin_api::probePlugin($instance_id, $class_name, $pluginPath);
     } else {
         $is_internal = false;
         // $serendipity['debug']['pluginload'][] = "getClassByInstanceID $instance_id, $is_internal";
         $class_name = serendipity_plugin_api::getClassByInstanceID($instance_id, $is_internal);
     }
     if (!class_exists($class_name) && !empty($pluginFile)) {
         // $serendipity['debug']['pluginload'][] = "Classname does not exist. Including $pluginFile.";
         include $pluginFile;
     }
     if (!class_exists($class_name)) {
         $serendipity['debug']['pluginload'][] = "Classname {$class_name} still does not exist. Aborting.";
         return false;
     }
     // $serendipity['debug']['pluginload'][] = "Returning new $class_name($instance_id)";
     $p = new $class_name($instance_id);
     if (!is_null($authorid)) {
         $p->serendipity_owner = $authorid;
     } else {
         $sql = "SELECT authorid from {$serendipity['dbPrefix']}plugins WHERE name = '" . $instance_id . "'";
         $owner = serendipity_db_query($sql, true);
         if (is_array($owner) && isset($owner[0])) {
             $p->serendipity_owner = $owner[0];
         }
     }
     $p->pluginPath = $p->act_pluginPath = $pluginPath;
     if (empty($p->act_pluginPath)) {
         $p->act_pluginPath = $class_name;
     }
     $p->pluginFile = $pluginFile;
     return $p;
 }
開發者ID:Juuro,項目名稱:Dreamapp-Website,代碼行數:48,代碼來源:plugin_api.inc.php


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