我有项目A,它有a.php我有项目B有b.php如何从 b.php 访问 a.php.所有这些项目都与 HOME 位于同一根请帮忙
<?php
class B {
function getB() {
return "B";
}
}
<?php
include '/projectB/B.php';
class AA {
function getA() {
$objB=new B();
echo $objB->getB();
}
}
$obj=new AA();
$obj->getA();
?>
抛出的错误是在 C:''wamp''www''projectA''AA 中找不到类 B.php
位于另一个目录中,则路径可以是相对路径(相对于当前文件 a.php 目录)或绝对路径(基于服务器的绝对文件路径)。
相对示例:
<?php
include('../a.php'); // one directory back, as the file path is always relative to the file in which include (or require or any of the others) is being called.
?>
绝对示例:
<?php
include('/path/to/server/root/some/folder/a.php'); // absolute path
?>
希望这有帮助。
更新
你一直说"这是错误的"或"它不起作用",但你真的没有很好地解释你的文件结构。因此,我将假设您的文件夹结构如下所示,例如:
- 网页根目录
- 项目A
- 答.php
- 项目B
- 乙.php
- 项目A
现在,如果你在 a.php 内部,你可以要求 b.php如下所示:
require_once('../ProjectB/b.php');
如果您在 b.php 内部并希望包含 a.php,则可能如下所示:
include_once('../ProjectA/a.php');
请注意,我已经使用了包含和要求,由您来研究使用哪个。
只需要从b.php要求a.php这是代码:
require_once("a.php");
如果 a.php 和 b.php 位于同一文件夹中:
在 b.php:
<?php
include_once(__DIR__ . '../projectA/A.php');
?>
__DIR__
是 b.php 中文件夹的动态路径。
http://php.net/manual/en/language.constants.predefined.php
如果 A 包含在 B 中非常重要.php则使用要求:
<?php
require_once(__DIR__ . '../projectA/a.php');
?>
被限制在创建它们的"空间"内。从理论上讲,您不能交叉授粉类。
您有两种选择:
1) 创建一个单例类(参见函数中的全局 PHP 类?
2) 从 BB 类扩展 AA 类,例如:
Class AA extends class B{
// Yada yada yada
}
值得阅读以下两个资源:
http://php.net/manual/en/keyword.extends.php
http://php.net/manual/en/language.oop5.inheritance.php