Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 16494 программиста и 1681 робот. Сейчас ищут 1537 программистов ...

Pyrus Custom File Roles: differences from PEAR

Вернуться к: Differences from the PEAR Installer

Overview

Custom file roles (documented here) have changed substantially in Pyrus. Fortunately, the usage of roles in package.xml remains unchanged, and Pyrus's expectation of custom role implementation does not conflict or overlap with PEAR's at all, so custom role packages can easily be designed to work with both PEAR and Pyrus.

The biggest difference between how a custom role is implemented in Pyrus has to do with the new plugin system (documented here). Before reading any further, it may be a good idea to familiarize yourself with the way that plugins work in Pyrus by reading the documentation on plugins, then return back to finish reading about custom roles.

Pyrus modifies the XML description file for custom file roles slightly, here is the PEAR version of a role:

 <role version="1.0">  <releasetypes>php</releasetypes>  <releasetypes>extsrc</releasetypes>  <releasetypes>extbin</releasetypes>  <releasetypes>zendextsrc</releasetypes>  <releasetypes>zendextbin</releasetypes>  <installable>1</installable>  <locationconfig>php_dir</locationconfig>  <honorsbaseinstall>1</honorsbaseinstall>  <unusualbaseinstall />  <phpfile>1</phpfile>  <executable />  <phpextension />  <config_vars /> </role>

And the same role as implemented in Pyrus:

 <role version="2.0" xmlns="http://pear2.php.net/dtd/customrole-2.0">  <name>php</name>  <class>PEAR2\Pyrus\Installer\Role\Php</class>  <releasetypes>php</releasetypes>  <releasetypes>extsrc</releasetypes>  <releasetypes>extbin</releasetypes>  <releasetypes>zendextsrc</releasetypes>  <releasetypes>zendextbin</releasetypes>  <installable>1</installable>  <locationconfig>php_dir</locationconfig>  <honorsbaseinstall>1</honorsbaseinstall>  <unusualbaseinstall />  <executable /> </role>

The most obvious difference is that Pyrus now includes the name of the role, PEAR extracts the role name from the name of the file (which in the example above was Php.xml). In addition, the <phpfile> and <phpextension> elements have been removed.

The details of new tags like <class> and <autoloadpath> are documented in the full documentation of custom roles here.

This XML metadata file is identified by Pyrus through the use of the file role customrole, which is used in the custom role's package.xml. Here is an example from the <contents> of a package.xml:

 ...   <contents>    <dir name="data">     <file name="myrole.xml" role="customrole"/>     <file name="someotherdata.csv" role="data"/>    </dir>   </contents> ...



Вернуться к: Differences from the PEAR Installer

© 2024 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware