本文整理匯總了PHP中XenForo_Autoloader::autoloaderClassToFile方法的典型用法代碼示例。如果您正苦於以下問題:PHP XenForo_Autoloader::autoloaderClassToFile方法的具體用法?PHP XenForo_Autoloader::autoloaderClassToFile怎麽用?PHP XenForo_Autoloader::autoloaderClassToFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類XenForo_Autoloader
的用法示例。
在下文中一共展示了XenForo_Autoloader::autoloaderClassToFile方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: autoloaderClassToFile
public function autoloaderClassToFile($class)
{
static $classes = array('XenForo_CodeEvent', 'XenForo_Template_Abstract', 'XenForo_ViewRenderer_Json');
if (in_array($class, $classes, true)) {
$class = 'DevHelper_' . $class;
}
$classFile = parent::autoloaderClassToFile($class);
$strPos = 0;
if (substr($class, 0, 9) !== 'DevHelper') {
$strPos = strpos($class, 'ShippableHelper_');
}
if ($strPos > 0) {
// a helper class is being called, check its version vs. ours
$classVersionId = 0;
if (file_exists($classFile)) {
$classContents = file_get_contents($classFile);
$classVersionId = DevHelper_Helper_ShippableHelper::getVersionId($class, $classFile, $classContents);
if ($classVersionId === false) {
die('Add-on class version could not be detected: ' . $classFile);
}
}
$oursClass = 'DevHelper_Helper_' . substr($class, $strPos);
$oursFile = parent::autoloaderClassToFile($oursClass);
if (file_exists($oursFile)) {
$oursContents = file_get_contents($oursFile);
$oursVersionId = DevHelper_Helper_ShippableHelper::getVersionId($oursClass, $oursFile, $oursContents);
if ($oursVersionId === false) {
die('DevHelper class version could not be detected: ' . $oursFile);
}
} else {
die('DevHelper file could not be found: ' . $oursFile);
}
if ($classVersionId < $oursVersionId) {
if (!DevHelper_Helper_ShippableHelper::update($class, $classFile, $oursClass, $oursContents)) {
die('Add-on file could not be updated: ' . $classFile);
}
// die('Add-on file has been updated: ' . $classFile);
}
}
return $classFile;
}