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
boolean 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 function has to return TRUE when initialization succeeded, FALSE when it failed. In the latter case, the post install script it stopped.
The run() method
void 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.