本文整理匯總了PHP中Version::exists方法的典型用法代碼示例。如果您正苦於以下問題:PHP Version::exists方法的具體用法?PHP Version::exists怎麽用?PHP Version::exists使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Version
的用法示例。
在下文中一共展示了Version::exists方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: from_upload
public static function from_upload(array $data, $key_mode = false)
{
$create = array();
$file = $data['file'];
$user = $data['user'];
if ($key_mode) {
$keys = collect(function ($key) {
return $key->key;
}, Pki::find('all', array('select' => '`key`', 'conditions' => array('user_id' => $user->id))));
$sig = $data['sig'];
if (!static::verify($file, $sig, $keys)) {
throw new NimbleException('Invalid package signature');
}
}
$package_data = new PackageExtractor($file);
if ($user->pear_farm_url() !== $package_data->data['channel']) {
throw new Exception('Package channel ' . $package_data->data['channel'] . ' does not match ' . $user->pear_farm_url());
}
$name = $package_data->data['name'];
$version = $package_data->data['version']['release'];
$stability = $package_data->data['stability']['release'];
if (!Package::exists(array('name' => $name, 'user_id' => $user->id))) {
$package = new Package(array('name' => $name, 'user_id' => $user->id, 'category_id' => Category::find_by_name('Default')->id));
} else {
$package = Package::find('first', array('conditions' => array('name' => $name, 'user_id' => $user->id)));
}
if (!$package->new_record && Version::exists(array('version' => $version, 'package_id' => $package->id))) {
throw new NimbleException("There is already a {$version}. You cannot replace existing packages. Please bump the version number and try again." . " You can delete a version from the web interface if needed.");
}
$package->move_uploaded_file($file, $version);
$type = VersionType::find_by_name($stability);
$package->versions = array(array('raw_xml' => $package_data->get_package_xml(), 'version' => $version, 'meta' => serialize($package_data->data), 'version_type_id' => $type->id, 'summary' => $package_data->data['summary'], 'description' => $package_data->data['description'], 'min_php' => $package_data->data['dependencies']['required']['php']['min']));
$package->save();
return $package;
}
示例2: testDeleteBobsPackage
public function testDeleteBobsPackage()
{
$_SERVER['SERVER_NAME'] = 'bob.localhost.com';
$count = Version::count();
$p = Package::find_by_name('bobs_other_package');
$v = Version::find('first', array('package_id' => $p->id, 'version' => '0.0.1'));
$this->delete('delete', array(), array('id' => $v->package_id, 'version' => $v->id), array('user' => User::find_by_username('bob')->id));
$this->assertEquals($count - 1, Version::count(array('cache' => false)));
$this->assertFalse(Version::exists('id', $v->id));
$this->assertRedirect(url_for('PackageController', 'show', $p->id));
}