PEAR Manual
Prev | Chapter 25. Post-installation Scripts | Next

# Structure of a post-install script

The post-install script class must contain two methods, one named init(), and the other named run(). The init() method is called at the same time as all other post-install scripts. The run() method is called at the conclusion of each parameter group in order to process the user's responses to queries.

## The init() method

``void init` (PEAR_Config $config, PEAR_PackageFile_v2 $self, string|null $lastInstalledVersion)`

PEAR_Config `$xml`

  The current configuration used for installation.

PEAR_PackageFile_v2 `$self`

  The package.xml contents as abstracted by this object.

string|`NULL` `$lastInstalledVersion`

  The last version of this package that was installed. This is a very important parameter, as it is the only way to determine whether a package is being installed from scratch, or upgraded from a previous version. Using this parameter, it is possible to determine what incremental changes, if any, need to be performed.

## The run() method

``bool run` (array $infoArray, string $paramGroupId)`

array `$infoArray`

  if `$paramGroupId` is `_undoOnError`, then $infoArray will contain a list of successfully completed parameter group sections. This can be used to restore any system changes made by the installation script.

  Otherwise, `$infoArray` contains the results of the user input from the most recent <paramgroup> section.

string `$paramGroupId`

  This variable either contains `_undoOnError` or the contents of the most recent <paramgroup>'s <id> tag. Note that paramgroup id cannot begin with an underscore (`_`), and so `_undoOnError` can only be triggered by the PEAR installer.

Prev | Home | Next
Post-installation Scripts | Up | Core components