本文整理汇总了PHP中Flight::mc方法的典型用法代码示例。如果您正苦于以下问题:PHP Flight::mc方法的具体用法?PHP Flight::mc怎么用?PHP Flight::mc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flight
的用法示例。
在下文中一共展示了Flight::mc方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mcCacheProps
private function mcCacheProps($filePath, $device, $channel)
{
$mc = Flight::mc();
$cache = $mc->get($filePath);
if (!$cache && Memcached::RES_NOTFOUND == $mc->getResultCode()) {
$buildpropArray = explode("\n", file_get_contents('zip://' . $filePath . '#system/build.prop'));
if ($device == $this->getBuildPropValue($buildpropArray, 'ro.product.device')) {
$api_level = intval($this->getBuildPropValue($buildpropArray, 'ro.build.version.sdk'));
$incremental = $this->getBuildPropValue($buildpropArray, 'ro.build.version.incremental');
$timestamp = intval($this->getBuildPropValue($buildpropArray, 'ro.build.date.utc'));
$url = $this->getBuildPropValue($buildpropArray, 'ro.build.ota.url');
$cache = array($device, $api_level, $incremental, $timestamp, Utils::getMD5($filePath), $url);
$mc->set($filePath, $cache);
$mc->set($incremental, array($device, $channel, $filePath));
} else {
throw new Exception("{$device}: {$filePath} is in invalid path");
}
}
assert($cache[0] == $device);
$this->api_level = $cache[1];
$this->incremental = $cache[2];
$this->timestamp = $cache[3];
$this->md5sum = $cache[4];
$this->url = $cache[5];
}
示例2: mcCacheProps
private function mcCacheProps($filePath, $device, $channel)
{
$mc = Flight::mc();
$cache = $mc->get($filePath);
if (true) {
$buildpropArray = explode("\n", file_get_contents($filePath . '.build.prop'));
if ($device == $this->getBuildPropValue($buildpropArray, 'ro.product.device') || $device == $this->getBuildPropValue($buildpropArray, 'ro.cm.device')) {
$api_level = intval($this->getBuildPropValue($buildpropArray, 'ro.build.version.sdk'));
$incremental = $this->getBuildPropValue($buildpropArray, 'ro.build.version.incremental');
$timestamp = intval($this->getBuildPropValue($buildpropArray, 'ro.build.date.utc'));
if (file_exists($filePath . '.url')) {
$url = explode("\n", file_get_contents($filePath . '.url'))[0];
} else {
$url = 'https://' . $_SERVER['HTTP_HOST'] . '/_builds/' . explode("/", $filePath)[4];
}
$cache = array($device, $api_level, $incremental, $timestamp, Utils::getMD5($filePath), $url);
$mc->set($filePath, $cache);
$mc->set($incremental, array($device, $channel, $filePath));
} else {
throw new Exception("{$device}: {$filePath} is in invalid path");
}
}
assert($cache[0] == $device);
$this->api_level = $cache[1];
$this->incremental = $cache[2];
$this->timestamp = $cache[3];
$this->md5sum = $cache[4];
$this->url = $cache[5];
}
示例3: mcFind
public static function mcFind($incremental)
{
$mc = Flight::mc();
list($device, $channel, $zip) = $mc->get($incremental);
if ($zip && !file_exists($zip)) {
$mc->delete($zip);
$mc->delete($incremental);
$zip = NULL;
$channel = NULL;
$device = NULL;
}
return array($device, $channel, $zip);
}