PEAR_DependencyDB::getDependentPackageDependencies()

PEAR_DependencyDB::getDependentPackageDependencies()  --  あるパッケージに依存しているインストール済みパッケージの、 実際の依存性の一覧を取得する

概要

require_once '/DependencyDB.php';

array|false PEAR_DependencyDB::getDependentPackageDependencies (PEAR_PackageFile_v1|PEAR_PackageFile_v2|array &$pkg)

説明

あるインストール済みパッケージについて、 拡張された依存性の完全なツリーを返します。

実例を見てみましょう。 パッケージ SOAP は Mail_Mime、HTTP_Request、Net_URL、Net_DIME に依存しています。またパッケージ HTTP_Request は Net_URL、Net_Socket に依存しています。このような場合、このメソッドは次のような配列を返します。

<?php
array(
    'pear.php.net' =>
        array(
            'mail_mime' =>
                array('name' => 'Mail_Mime',
                      'channel' => 'pear.php.net'),
            'http_request' =>
                array('name' => 'HTTP_Request',
                      'channel' => 'pear.php.net'),
            'net_url' =>
                array('name' => 'Net_URL',
                      'channel' => 'pear.php.net',
                      'min' => '1.0.12'),
            'net_dime' =>
                array('name' => 'Net_DIME',
                      'channel' => 'pear.php.net'),
            'net_socket' =>
                array('name' => 'Net_Socket',
                      'channel' => 'pear.php.net'),
        ),
);
?>

これは、実際の依存性の構造に依存していないことに注意しましょう。 上の例でいうと、実際に返されているのは HTTP_Request の Net_URL に対する依存性で、これは SOAP の Net_URL に対する依存性より厳しいものになっています。 言い換えると、同じような依存性が複数あった場合は、 最後に現れたものが返されるということです。

パラメータ

PEAR_PackageFile_v1|PEAR_PackageFile_v2|array &$pkg

このパラメータに配列を指定する場合、その書式は次のようになります。

<?php
array(
  'package' => 'パッケージ名',
  'channel' => 'チャネル名'
);
?>

例外・エラー

例外はスローされません。

注意

この関数は、スタティックにコールする ことはできません。