本文整理汇总了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;
}