PEAR
[ class tree: PEAR ] [ index: PEAR ] [ all elements ]

Class: PEAR_Downloader_Package

Source Location: /PEAR-1.6.2/PEAR/Downloader/Package.php

Class Overview


Coordinates download parameters and manages their dependencies prior to downloading them.


Author(s):

Version:

  • Release: 1.6.2

Copyright:

  • 1997-2006 The PHP Group

Methods


Inherited Variables

Inherited Methods


Class Details

[line 61]
Coordinates download parameters and manages their dependencies prior to downloading them.

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.



[ Top ]


Method Detail

PEAR_Downloader_Package (Constructor)   [line 137]

PEAR_Downloader_Package PEAR_Downloader_Package( PEAR_Downloader &$downloader)


Parameters:

PEAR_Downloader   &$downloader   — 

[ Top ]

alreadyValidated   [line 356]

void alreadyValidated( )


[ Top ]

canDefault   [line 844]

void canDefault( )


[ Top ]

detectDependencies   [line 326]

void detectDependencies( $params)


Parameters:

   $params   — 

[ Top ]

detectStupidDuplicates   [line 1165]

array detectStupidDuplicates( array $params, &$errorparams, array $errorparams)

Detect duplicate package names with differing versions

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.

  • Return: array of stupid duplicated packages in PEAR_Downloader_Package obejcts

Parameters:

array   $params   —  array of PEAR_Downloader_Package objects
array   $errorparams   —  empty array
   &$errorparams   — 

[ Top ]

download   [line 233]

PEAR_PackageFile_v1|PEAR_PackageFile_v2|PEAR_Error &download( )

Retrieve any non-local packages

[ Top ]

explicitState   [line 1252]

void explicitState( )


[ Top ]

fromDepURL   [line 291]

void fromDepURL( $dep)

Like initialize(), but operates on a dependency

Parameters:

   $dep   — 

[ Top ]

getChannel   [line 910]

void getChannel( )


[ Top ]

getDeps   [line 983]

void getDeps( )


[ Top ]

getDownloader   [line 278]

void &getDownloader( )


[ Top ]

getDownloadURL   [line 839]

void getDownloadURL( )


[ Top ]

getGroup   [line 959]

void getGroup( )


[ Top ]

getPackage   [line 854]

void getPackage( )


[ Top ]

getPackageFile   [line 273]

void &getPackageFile( )


[ Top ]

getPackagefileObject   [line 1397]

void &getPackagefileObject( PEAR_Config &$c, int $d, [string $t = false])

For simpler unit-testing

Parameters:

PEAR_Config   &$c   — 
int   $d   — 
string   $t   — 

[ Top ]

getPackageType   [line 879]

void getPackageType( )


[ Top ]

getPackageXmlVersion   [line 899]

void getPackageXmlVersion( )


[ Top ]

getParsedPackage   [line 829]

void getParsedPackage( )


[ Top ]

getShortName   [line 823]

void getShortName( )


[ Top ]

getType   [line 283]

void getType( )


[ Top ]

getURI   [line 921]

void getURI( )


[ Top ]

getVersion   [line 932]

void getVersion( )


[ Top ]

initialize   [line 162]

bool|PEAR_Error initialize( string $param)

Parse the input and determine whether this is a local file, a remote uri, or an abstract package name.

This is the heart of the PEAR_Downloader_Package(), and is used in PEAR_Downloader::download()


Parameters:

string   $param   — 

[ Top ]

isBundle   [line 890]

void isBundle( )


[ Top ]

isCompatible   [line 943]

void isCompatible( $pf)


Parameters:

   $pf   — 

[ Top ]

isEqual   [line 1008]

void isEqual( array $param)


Parameters:

array   $param   —  Parsed array from PEAR_Registry::parsePackageName() or a dependency returned from getDepDownloadURL()

[ Top ]

isExtension   [line 968]

void isExtension( $name)


Parameters:

   $name   — 

[ Top ]

isInstalled   [line 1088]

void isInstalled( $dep, [ $oper = '=='])


Parameters:

   $dep   — 
   $oper   — 

[ Top ]

isSubpackage   [line 868]

void isSubpackage( PEAR_PackageFile_v1|PEAR_PackageFile_v2 &$pf)


Parameters:


[ Top ]

mergeDependencies   [line 1265]

void mergeDependencies( &$params)


Parameters:

   &$params   — 

[ Top ]

removeDuplicates   [line 1200]

void removeDuplicates( array &$params, [bool $ignoreGroups = false])


Parameters:

array   &$params   — 
bool   $ignoreGroups   —  ignore install groups - for final removal of dupe packages

[ Top ]

removeInstalled   [line 366]

void removeInstalled( array &$params)

Remove packages to be downloaded that are already installed

Parameters:

array   &$params   —  of PEAR_Downloader_Package objects

[ Top ]

setDownloadURL   [line 808]

void setDownloadURL( $pkg)


Parameters:

   $pkg   — 

[ Top ]

setExplicitState   [line 1257]

void setExplicitState( $s)


Parameters:

   $s   — 

[ Top ]

setGroup   [line 954]

void setGroup( $group)


Parameters:

   $group   — 

[ Top ]

setPackageFile   [line 818]

void setPackageFile( &$pkg, PEAR_PackageFile_v1|PEAR_PackageFile_v2 $pkg)

Set the package.xml object for this downloaded package

Parameters:

PEAR_PackageFile_v1|PEAR_PackageFile_v2   $pkg   — 
   &$pkg   — 

[ Top ]

setValidated   [line 351]

void setValidated( )


[ Top ]

willDownload   [line 1378]

void willDownload( $param, $params)


Parameters:

   $param   — 
   $params   — 

[ Top ]


Documentation generated on Mon, 11 Mar 2019 15:09:36 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.