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

Class: PEAR_Downloader_Package

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

Class Overview


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


Author(s):

Version:

  • Release: 1.9.4

Copyright:

  • 1997-2009 The Authors

Methods


Inherited Variables

Inherited Methods


Class Details

[line 57]
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 133]

PEAR_Downloader_Package PEAR_Downloader_Package( PEAR_Downloader &$downloader)


Parameters:

PEAR_Downloader   &$downloader     

[ Top ]

alreadyValidated   [line 392]

void alreadyValidated( )


[ Top ]

canDefault   [line 923]

void canDefault( )


[ Top ]

detectDependencies   [line 358]

void detectDependencies( $params)


Parameters:

   $params     

[ Top ]

detectStupidDuplicates   [line 1246]

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 249]

PEAR_PackageFile_v1|PEAR_PackageFile_v2|PEAR_Error &download( )

Retrieve any non-local packages

[ Top ]

explicitState   [line 1337]

void explicitState( )


[ Top ]

fromDepURL   [line 320]

void fromDepURL( $dep)

Like initialize(), but operates on a dependency

Parameters:

   $dep     

[ Top ]

getChannel   [line 988]

void getChannel( )


[ Top ]

getDeps   [line 1061]

void getDeps( )


[ Top ]

getDownloader   [line 307]

void &getDownloader( )


[ Top ]

getDownloadURL   [line 918]

void getDownloadURL( )


[ Top ]

getGroup   [line 1037]

void getGroup( )


[ Top ]

getPackage   [line 932]

void getPackage( )


[ Top ]

getPackageFile   [line 302]

void &getPackageFile( )


[ Top ]

getPackagefileObject   [line 1502]

void &getPackagefileObject( PEAR_Config &$c, int $d, string 2)

For simpler unit-testing

Parameters:

string   2     
PEAR_Config   &$c     
int   $d     

[ Top ]

getPackageType   [line 957]

void getPackageType( )


[ Top ]

getPackageXmlVersion   [line 977]

void getPackageXmlVersion( )


[ Top ]

getParsedPackage   [line 907]

void getParsedPackage( )


[ Top ]

getShortName   [line 901]

void getShortName( )


[ Top ]

getType   [line 312]

void getType( )


[ Top ]

getURI   [line 999]

void getURI( )


[ Top ]

getVersion   [line 1010]

void getVersion( )


[ Top ]

initialize   [line 158]

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 968]

void isBundle( )


[ Top ]

isCompatible   [line 1021]

void isCompatible( $pf)


Parameters:

   $pf     

[ Top ]

isEqual   [line 1086]

void isEqual( array $param)


Parameters:

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

[ Top ]

isExtension   [line 1046]

void isExtension( $name)


Parameters:

   $name     

[ Top ]

isInstalled   [line 1172]

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


Parameters:

   $dep     
   $oper     

[ Top ]

isSubpackage   [line 946]

void isSubpackage( PEAR_PackageFile_v1|PEAR_PackageFile_v2 &$pf)


Parameters:


[ Top ]

mergeDependencies   [line 1350]

void mergeDependencies( &$params)


Parameters:

   &$params     

[ Top ]

removeDuplicates   [line 1286]

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


Parameters:

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

[ Top ]

removeInstalled   [line 402]

void removeInstalled( array &$params)

Remove packages to be downloaded that are already installed

Parameters:

array   &$params     of PEAR_Downloader_Package objects

[ Top ]

setDownloadURL   [line 886]

void setDownloadURL( $pkg)


Parameters:

   $pkg     

[ Top ]

setExplicitState   [line 1342]

void setExplicitState( $s)


Parameters:

   $s     

[ Top ]

setGroup   [line 1032]

void setGroup( $group)


Parameters:

   $group     

[ Top ]

setPackageFile   [line 896]

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 387]

void setValidated( )


[ Top ]

willDownload   [line 1481]

void willDownload( $param, $params)


Parameters:

   $param     
   $params     

[ Top ]


Documentation generated on Wed, 06 Jul 2011 23:31:02 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.