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

Class: PEAR_Downloader_Package

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

Class Overview


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


Author(s):

Version:

  • Release: 1.8.0

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

void alreadyValidated( )


[ Top ]

canDefault   [line 913]

void canDefault( )


[ Top ]

detectDependencies   [line 345]

void detectDependencies( $params)


Parameters:

   $params   — 

[ Top ]

detectStupidDuplicates   [line 1235]

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

PEAR_PackageFile_v1|PEAR_PackageFile_v2|PEAR_Error &download( )

Retrieve any non-local packages

[ Top ]

explicitState   [line 1330]

void explicitState( )


[ Top ]

fromDepURL   [line 307]

void fromDepURL( $dep)

Like initialize(), but operates on a dependency

Parameters:

   $dep   — 

[ Top ]

getChannel   [line 978]

void getChannel( )


[ Top ]

getDeps   [line 1051]

void getDeps( )


[ Top ]

getDownloader   [line 294]

void &getDownloader( )


[ Top ]

getDownloadURL   [line 908]

void getDownloadURL( )


[ Top ]

getGroup   [line 1027]

void getGroup( )


[ Top ]

getPackage   [line 922]

void getPackage( )


[ Top ]

getPackageFile   [line 289]

void &getPackageFile( )


[ Top ]

getPackagefileObject   [line 1493]

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

void getPackageType( )


[ Top ]

getPackageXmlVersion   [line 967]

void getPackageXmlVersion( )


[ Top ]

getParsedPackage   [line 897]

void getParsedPackage( )


[ Top ]

getShortName   [line 891]

void getShortName( )


[ Top ]

getType   [line 299]

void getType( )


[ Top ]

getURI   [line 989]

void getURI( )


[ Top ]

getVersion   [line 1000]

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

void isBundle( )


[ Top ]

isCompatible   [line 1011]

void isCompatible( $pf)


Parameters:

   $pf   — 

[ Top ]

isEqual   [line 1076]

void isEqual( array $param)


Parameters:

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

[ Top ]

isExtension   [line 1036]

void isExtension( $name)


Parameters:

   $name   — 

[ Top ]

isInstalled   [line 1161]

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


Parameters:

   $dep   — 
   $oper   — 

[ Top ]

isSubpackage   [line 936]

void isSubpackage( PEAR_PackageFile_v1|PEAR_PackageFile_v2 &$pf)


Parameters:


[ Top ]

mergeDependencies   [line 1343]

void mergeDependencies( &$params)


Parameters:

   &$params   — 

[ Top ]

removeDuplicates   [line 1275]

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


Parameters:

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

[ Top ]

removeInstalled   [line 389]

void removeInstalled( array &$params)

Remove packages to be downloaded that are already installed

Parameters:

array   &$params   —  of PEAR_Downloader_Package objects

[ Top ]

setDownloadURL   [line 876]

void setDownloadURL( $pkg)


Parameters:

   $pkg   — 

[ Top ]

setExplicitState   [line 1335]

void setExplicitState( $s)


Parameters:

   $s   — 

[ Top ]

setGroup   [line 1022]

void setGroup( $group)


Parameters:

   $group   — 

[ Top ]

setPackageFile   [line 886]

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

void setValidated( )


[ Top ]

willDownload   [line 1472]

void willDownload( $param, $params)


Parameters:

   $param   — 
   $params   — 

[ Top ]


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