为什么 "include" 在示例代码中不起作用?
Why doesn't the "include" work in the example code?
方向结构如下
源文件夹
- 引擎
- Classes
- CalendarClass.php
- 数据库
- 其他
- DBLink.php
- 字体
- 图片
- JS
页数
- Calendar.php
风格
当我尝试将 DBLink.php class 包含到 CalendarClass.php 时,我收到以下错误消息:
警告:包括(../Database/DBLink.php):无法打开流:D:\apache\htdocs\Engine\Classes\CalendarClass.[= 中没有这样的文件或目录第 3 行 92=]
警告: include(): 在 D 中打开 '../Database/DBLink.php' 以包含 (include_path='D:\apache\php\PEAR') 失败:\apache\htdocs\Engine\Classes\CalendarClass.php 第 3 行
致命错误:Class 'DBLink' 未在第 10 行的 D:\apache\htdocs\Engine\Classes\CalendarClass.php 中找到[=12] =]
CalendarClass.php内容:
<?php
include "../Database/DBLink.php";
class CalendarClass{
private $link;
function __construct() {
$this->link = new DBLink();
}
function UpdateCalendar(){
$this->link->ClearCalendar();
}
}
?>
将 DbLink.php 包含到 CalendarClass.php 中的正确方法是什么?
解决方案:将包含更改为包含 __DIR__ . "/../Database/DBLink.php"
你需要使用
__DIR__ . "/../Database/DBLink.php";
PHP 正在查找此文件,但从另一个 root path
.
开始
您需要提供完整路径,以便 PHP 查找正确的路径。
__DIR__
提供文件所在目录的路径。
更简单的方法是使用 autoloading
方向结构如下
源文件夹
- 引擎
- Classes
- CalendarClass.php
- 数据库
- 其他
- DBLink.php
- Classes
- 字体
- 图片
- JS
页数
- Calendar.php
风格
- 引擎
当我尝试将 DBLink.php class 包含到 CalendarClass.php 时,我收到以下错误消息:
警告:包括(../Database/DBLink.php):无法打开流:D:\apache\htdocs\Engine\Classes\CalendarClass.[= 中没有这样的文件或目录第 3 行 92=]
警告: include(): 在 D 中打开 '../Database/DBLink.php' 以包含 (include_path='D:\apache\php\PEAR') 失败:\apache\htdocs\Engine\Classes\CalendarClass.php 第 3 行
致命错误:Class 'DBLink' 未在第 10 行的 D:\apache\htdocs\Engine\Classes\CalendarClass.php 中找到[=12] =]
CalendarClass.php内容:
<?php
include "../Database/DBLink.php";
class CalendarClass{
private $link;
function __construct() {
$this->link = new DBLink();
}
function UpdateCalendar(){
$this->link->ClearCalendar();
}
}
?>
将 DbLink.php 包含到 CalendarClass.php 中的正确方法是什么?
解决方案:将包含更改为包含 __DIR__ . "/../Database/DBLink.php"
你需要使用
__DIR__ . "/../Database/DBLink.php";
PHP 正在查找此文件,但从另一个 root path
.
您需要提供完整路径,以便 PHP 查找正确的路径。
__DIR__
提供文件所在目录的路径。
更简单的方法是使用 autoloading