PHP Класс PEAR_Downloader_Package

Input can come from three sources: - local files (archives or package.xml) - remote files (downloadable urls) - abstract package names The first two elements are handled cleanly by PEAR_PackageFile, but the third requires accessing pearweb's xml-rpc interface to determine necessary dependencies, and the format returned of dependencies is slightly different from that used in package.xml. This class hides the differences between these elements, and makes automatic dependency resolution a piece of cake. It also manages conflicts when two classes depend on incompatible dependencies, or differing versions of the same package dependency. In addition, download will not be attempted if the php version is not supported, PEAR installer version is not supported, or non-PECL extensions are not installed.
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$_analyzed boolean
$_config PEAR_Config
$_downloadDeps array
$_downloadURL array
$_downloader PEAR_Downloader
$_explicitGroup If this package is invoked with Package#group, this variable will be true
$_explicitState string | false This allows temporary reassignment of preferred_state for a parent package and all of its dependencies.
$_installRegistry PEAR_Registry Used to implement packagingroot properly
$_packagefile PEAR_PackageFile_v1 | PEAR_PackageFile | v2
$_parsedname array
$_rawpackagefile string | false Contents of package.xml, if downloaded from a remote channel
$_registry PEAR_Registry
$_type string Package type local|url
$_valid boolean
$_validated boolean

Открытые методы

Метод Описание
PEAR_Downloader_Package ( &$downloader )
_analyzeDownloadURL ( $info, $param, $pname, $params = null, $optional = false, $isdependency = false )
_detect1 ( $deps, $pname, $options, $params )
_detect2 ( $deps, $pname, $options, $params )
_detect2Dep ( $dep, $pname, $group, $params )
_fromFile ( &$param ) This will retrieve from a local file if possible, and parse out a group name as well. The original parameter will be modified to reflect this.
_fromString ( $param )
_fromUrl ( $param, $saveparam = '' )
alreadyValidated ( )
canDefault ( )
detectDependencies ( $params )
detectStupidDuplicates ( array $params, array &$errorparams ) : array Detect duplicate package names with differing versions
download ( ) : PEAR_PackageFile_v1 | PEAR_PackageFile_v2 | PEAR_Error Retrieve any non-local packages
explicitState ( )
fromDepURL ( $dep ) Like {@link initialize()}, but operates on a dependency
getChannel ( )
getDeps ( )
getDownloadURL ( )
getDownloader ( )
getGroup ( )
getPackage ( )
getPackageFile ( )
getPackageType ( )
getPackageXmlVersion ( )
getPackagefileObject ( &$c, $d ) For simpler unit-testing
getParsedPackage ( )
getShortName ( )
getType ( )
getURI ( )
getVersion ( )
initialize ( $param ) : boolean | PEAR_Error Parse the input and determine whether this is a local file, a remote uri, or an abstract package name.
isBundle ( )
isCompatible ( $pf )
isEqual ( $param )
isExtension ( $name )
isInstalled ( $dep, $oper = '==' )
isSubpackage ( &$pf )
mergeDependencies ( &$params )
removeDuplicates ( &$params, $ignoreGroups = false )
removeInstalled ( &$params ) Remove packages to be downloaded that are already installed
setDownloadURL ( $pkg )
setExplicitState ( $s )
setGroup ( $group )
setPackageFile ( PEAR_PackageFile_v1 | PEAR_PackageFile_v2 &$pkg ) Set the package.xml object for this downloaded package
setValidated ( )
willDownload ( $param, $params )

Описание методов

PEAR_Downloader_Package() публичный Метод

public PEAR_Downloader_Package ( &$downloader )

_analyzeDownloadURL() публичный Метод

public _analyzeDownloadURL ( $info, $param, $pname, $params = null, $optional = false, $isdependency = false )

_detect1() публичный Метод

public _detect1 ( $deps, $pname, $options, $params )

_detect2() публичный Метод

public _detect2 ( $deps, $pname, $options, $params )

_detect2Dep() публичный Метод

public _detect2Dep ( $dep, $pname, $group, $params )

_fromFile() публичный Метод

This will retrieve from a local file if possible, and parse out a group name as well. The original parameter will be modified to reflect this.
public _fromFile ( &$param )

_fromString() публичный Метод

public _fromString ( $param )

_fromUrl() публичный Метод

public _fromUrl ( $param, $saveparam = '' )

alreadyValidated() публичный Метод

public alreadyValidated ( )

canDefault() публичный Метод

public canDefault ( )

detectDependencies() публичный Метод

public detectDependencies ( $params )

detectStupidDuplicates() публичный Метод

If a user requests to install Date 1.4.6 and Date 1.4.7, for instance, this is a logic error. This method detects this situation.
public detectStupidDuplicates ( array $params, array &$errorparams ) : array
$params array array of PEAR_Downloader_Package objects
$errorparams array empty array
Результат array array of stupid duplicated packages in PEAR_Downloader_Package obejcts

download() публичный Метод

Retrieve any non-local packages
public download ( ) : PEAR_PackageFile_v1 | PEAR_PackageFile_v2 | PEAR_Error
Результат PEAR_PackageFile_v1 | PEAR_PackageFile_v2 | PEAR_Error

explicitState() публичный Метод

public explicitState ( )

fromDepURL() публичный Метод

Like {@link initialize()}, but operates on a dependency
public fromDepURL ( $dep )

getChannel() публичный Метод

public getChannel ( )

getDeps() публичный Метод

public getDeps ( )

getDownloadURL() публичный Метод

public getDownloadURL ( )

getDownloader() публичный Метод

public getDownloader ( )

getGroup() публичный Метод

public getGroup ( )

getPackage() публичный Метод

public getPackage ( )

getPackageFile() публичный Метод

public getPackageFile ( )

getPackageType() публичный Метод

public getPackageType ( )

getPackageXmlVersion() публичный Метод

getPackagefileObject() публичный Метод

For simpler unit-testing
public getPackagefileObject ( &$c, $d )

getParsedPackage() публичный Метод

public getParsedPackage ( )

getShortName() публичный Метод

public getShortName ( )

getType() публичный Метод

public getType ( )

getURI() публичный Метод

public getURI ( )

getVersion() публичный Метод

public getVersion ( )

initialize() публичный Метод

This is the heart of the PEAR_Downloader_Package(), and is used in {@link PEAR_Downloader::download()}
public initialize ( $param ) : boolean | PEAR_Error
Результат boolean | PEAR_Error

isBundle() публичный Метод

public isBundle ( )

isCompatible() публичный Метод

public isCompatible ( $pf )

isEqual() публичный Метод

public isEqual ( $param )

isExtension() публичный Метод

public isExtension ( $name )

isInstalled() публичный Метод

public isInstalled ( $dep, $oper = '==' )

isSubpackage() публичный Метод

public isSubpackage ( &$pf )

mergeDependencies() публичный Метод

public mergeDependencies ( &$params )

removeDuplicates() публичный Метод

public removeDuplicates ( &$params, $ignoreGroups = false )

removeInstalled() публичный Метод

Remove packages to be downloaded that are already installed
public removeInstalled ( &$params )

setDownloadURL() публичный Метод

public setDownloadURL ( $pkg )

setExplicitState() публичный Метод

public setExplicitState ( $s )

setGroup() публичный Метод

public setGroup ( $group )

setPackageFile() публичный Метод

Set the package.xml object for this downloaded package
public setPackageFile ( PEAR_PackageFile_v1 | PEAR_PackageFile_v2 &$pkg )
$pkg PEAR_PackageFile_v1 | PEAR_PackageFile_v2

setValidated() публичный Метод

public setValidated ( )

willDownload() публичный Метод

public willDownload ( $param, $params )

Описание свойств

$_analyzed публичное свойство

public bool $_analyzed
Результат boolean

$_config публичное свойство

public PEAR_Config $_config
Результат PEAR_Config

$_downloadDeps публичное свойство

public array $_downloadDeps
Результат array

$_downloadURL публичное свойство

public array $_downloadURL
Результат array

$_downloader публичное свойство

public PEAR_Downloader $_downloader
Результат PEAR_Downloader

$_explicitGroup публичное свойство

If this package is invoked with Package#group, this variable will be true
public $_explicitGroup

$_explicitState публичное свойство

This allows temporary reassignment of preferred_state for a parent package and all of its dependencies.
public string|false $_explicitState
Результат string | false

$_installRegistry публичное свойство

Used to implement packagingroot properly
public PEAR_Registry $_installRegistry
Результат PEAR_Registry

$_packagefile публичное свойство

public PEAR_PackageFile_v1|PEAR_PackageFile|v2 $_packagefile
Результат PEAR_PackageFile_v1 | PEAR_PackageFile | v2

$_parsedname публичное свойство

public array $_parsedname
Результат array

$_rawpackagefile публичное свойство

Contents of package.xml, if downloaded from a remote channel
public string|false $_rawpackagefile
Результат string | false

$_registry публичное свойство

public PEAR_Registry $_registry
Результат PEAR_Registry

$_type публичное свойство

Package type local|url
public string $_type
Результат string

$_valid публичное свойство

public bool $_valid
Результат boolean

$_validated публичное свойство

public bool $_validated
Результат boolean