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


PHP PhabricatorApplicationSearchEngine::getEngineByClassName方法代碼示例

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


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

示例1: renderPanelContent

 public function renderPanelContent(PhabricatorUser $viewer, PhabricatorDashboardPanel $panel, PhabricatorDashboardPanelRenderingEngine $engine)
 {
     $class = $panel->getProperty('class');
     $engine = PhabricatorApplicationSearchEngine::getEngineByClassName($class);
     if (!$engine) {
         throw new Exception(pht('The application search engine "%s" is not known to Phabricator!', $class));
     }
     $engine->setViewer($viewer);
     $engine->setContext(PhabricatorApplicationSearchEngine::CONTEXT_PANEL);
     $key = $panel->getProperty('key');
     if ($engine->isBuiltinQuery($key)) {
         $saved = $engine->buildSavedQueryFromBuiltin($key);
     } else {
         $saved = id(new PhabricatorSavedQueryQuery())->setViewer($viewer)->withEngineClassNames(array($class))->withQueryKeys(array($key))->executeOne();
     }
     if (!$saved) {
         throw new Exception(pht('Query "%s" is unknown to application search engine "%s"!', $key, $class));
     }
     $query = $engine->buildQueryFromSavedQuery($saved);
     $pager = $engine->newPagerForSavedQuery($saved);
     if ($panel->getProperty('limit')) {
         $limit = (int) $panel->getProperty('limit');
         if ($pager->getPageSize() !== 0xffff) {
             $pager->setPageSize($limit);
         }
     }
     $results = $engine->executeQuery($query, $pager);
     return $engine->renderResults($results, $saved);
 }
開發者ID:denghp,項目名稱:phabricator,代碼行數:29,代碼來源:PhabricatorDashboardPanelTypeQuery.php

示例2: getSearchEngine

 private function getSearchEngine(PhabricatorDashboardPanel $panel)
 {
     $class = $panel->getProperty('class');
     $engine = PhabricatorApplicationSearchEngine::getEngineByClassName($class);
     if (!$engine) {
         throw new Exception(pht('The application search engine "%s" is not known to Phabricator!', $class));
     }
     if (!$engine->canUseInPanelContext()) {
         throw new Exception(pht('Application search engines of class "%s" can not be used to build ' . 'dashboard panels.', $class));
     }
     return $engine;
 }
開發者ID:truSense,項目名稱:phabricator,代碼行數:12,代碼來源:PhabricatorDashboardQueryPanelType.php


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