| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
PEAR_PackageFileManager クラスの概要PEAR_PackageFileManager クラスの概要 –
PEAR :: PackageFileManager は、PEAR の package.xml ファイルの
<filelist></filelist>
セクションを更新して現在の状態を反映し、リリースの準備をする
PEAR :: PackageFileManager は、PEAR の package.xml ファイルの <filelist></filelist> セクションを更新して現在の状態を反映し、リリースの準備をします。PEAR_PackageFileManager クラスは、プラグインシステムを使用して パッケージ内のファイル一覧を生成します。これにより、標準的な ディレクトリの再帰パース (file 型のプラグイン) だけでなく より高度な仕組みが使用可能となります。例えば CVS ブラウザである PEAR_PackageFileManager_Cvs は、CVS からローカルにチェックアウトした ファイルの一覧を取得し、その際にローカルにある他のファイルは 無視します。 その他のオプションとしては、ファイルの拡張子に応じたロールの指定 (たとえば、拡張子 .php のファイルには role="php" を指定するなど)・ディレクトリへのロールの指定 ("tests" という名前のディレクトリには、デフォルトで role="tests" が指定されます)・例外などがあります。 例外とは、* や ? のワイルドカードを用いて指定したパス名で、 これらに対してはデフォルトロールではなく別のものを指定します。 たとえば、debug.tpl というテンプレートは通常は data となるでしょう。 ですが、これは docs ロールに含まれるべきです。 ファイルをパッケージから取り除くには、これらのオプションとともに ignore オプションを使用します。 リリースの際に必要となるオプションは version、baseinstalldir、 state および packagedirectory (package.xml の作成対象となる パッケージが存在する場所へのフルパス) です。 使用例: 1 <?php
2 require_once('PEAR/PackageFileManager.php');
3 $packagexml = new
PEAR_PackageFileManager;
4 $e = $packagexml->
setOptions(
5 array('baseinstalldir' => 'PhpDocumentor',
6 'version' => '1.2.1',
7 'packagedirectory' => 'C:/Web Pages/chiara/phpdoc2/',
8 'state' => 'stable',
9 'filelistgenerator' => 'cvs', // cvs から作成します。ディレクトリから作成する場合は file を使用します。
10 'notes' => 'We\'ve implemented many new and exciting features',
11 'ignore' => array('TODO', 'tests/'), // TODO、そして tests/ 以下の全ファイルを無視します。
12 'installexceptions' => array('phpdoc' => '/*'), // baseinstalldir ="/" for phpdoc
13 'dir_roles' => array('tutorials' => 'doc'),
14 'exceptions' => array('README' => 'doc', // README は data になってしまいますが、これで doc となります。
15 'PHPLICENSE.txt' => 'doc'))); // ライセンスファイルについても同様です。
16 if (PEAR::isError($e)) {
17 echo $e->getMessage();
18 die();
19 }
20 $e = $test->
addPlatformException('pear-phpdoc.bat', 'windows');
21 if (PEAR::isError($e)) {
22 echo $e->getMessage();
23 exit;
24 }
25 $packagexml->
addRole('pkg', 'doc'); // 新しいロールのマッピングを追加します。
26 if (PEAR::isError($e)) {
27 echo $e->getMessage();
28 exit;
29 }
30 // ファイル内の @PHP-BIN@ を PHP 実行ファイルへのパスに置き換えます! すばらしい。
31 $e = $test->
addReplacement('pear-phpdoc', 'pear-config', '@PHP-BIN@', 'php_bin');
32 if (PEAR::isError($e)) {
33 echo $e->getMessage();
34 exit;
35 }
36 $e = $test->
addReplacement('pear-phpdoc.bat', 'pear-config', '@PHP-BIN@', 'php_bin');
37 if (PEAR::isError($e)) {
38 echo $e->getMessage();
39 exit;
40 }
41 //
debugPackageFile()を使用することに注意してください - 「非常に」重要です。
42 if (isset($_GET['make']) || $_SERVER['argv'][1] == 'make') {
43 $e = $packagexml->
writePackageFile();
44 } else {
45 $e = $packagexml->
debugPackageFile();
46 }
47 if (PEAR::isError($e)) {
48 echo $e->getMessage();
49 die();
50 }
51 ?>
さらに、package.xml ファイルを 1 から手で作成することも可能です。 新しいオプションである package、summary、description や addMaintainer() メソッドを使用することができます。 PEAR_PackageFileManager のクラス階層
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「PEAR_PackageFileManager クラスの概要」をGoogle検索
|