1

次のスクリプトは、次の名前のディレクトリ内にありますpackage_1

<?php
namespace ashaar;
class Ghazal {
    public function nameIt() {
        echo "Dekh to dil ke jaan se utha hai <br />";
    }
}

次のスクリプトは、次の名前のディレクトリ内にありますpackage_2

<?php
namespace package_1\ashaar;
require 'first.php';
$obj = new Ghazal();
$obj->nameIt();

上記のスクリプト(ディレクトリパッケージ2内)を実行すると、エラーが発生します:

Warning: require(\package_1\first.php): failed to open stream: No such file 
or directory in /opt/lampp/htdocs/package_2/second.php on line 3

Fatal error: require(): Failed opening required '\package_1\first.php'
(include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/package_2/second.php
 on line 3

何故ですか ?

4

4 に答える 4

0

場所を次のように変更します

include_once("..\package_1\first.php");
于 2013-02-18T07:40:46.200 に答える
0

場所を次のように変更します。

require '..\package_1\first.php';
于 2013-02-18T07:34:43.740 に答える
0

first.php

<?php
namespace ashaar;
class Ghazal {
    public function nameIt() {
        echo "Dekh to dil ke jaan se utha hai <br />";
    }
}

second.php

<?php
namespace ashaar;
require_once('../package_1/first.php');
$obj = new Ghazal();
$obj->nameIt();

package_1\ashaarそれを含めたときに何をしたのかfirst.phpはパッケージの中にありますpackage_1

于 2013-02-18T12:02:17.570 に答える
-1

そのような名前空間を使用する必要があると思います。

first.php..。

<?php
namespace package_1\ashaar;
class Ghazal {
    public function nameIt() {
        echo "Dekh to dil ke jaan se utha hai <br />";
    }
}

second.php..。

<?php

namespace package_2;
require '../package_1/first.php';
use package_1\ashaar\Ghazal;


$obj = new Ghazal();
$obj->nameIt();

use別の名前空間でコードを使用するために不可欠なキーワードを参照してください。

于 2013-02-18T08:05:55.847 に答える