想从包含的php调用函数。我这样做:
<?php
include 'http://localhost:9090/myapp-backend/login.php';
$lg = new Login();
$lg->login();
?>
的login.php:
<?php
class Login
{
public function login () {
//*some code
}
}
结束错误:
Fatal error: Class 'Login' not found in D:\xampp\htdocs\myapp\index.php on line 3
当我不在login.php
中使用类只是一个函数时,我得到错误,该函数不存在。
怎么了?
答案 0 :(得分:3)
include
将仅包含 result (由远程服务器生成),而不包含代码的 source 。
在本地使用include
(本地FS)获取来源 - 因为您指的是localhost
答案 1 :(得分:2)
为了确保它的跨平台兼容性(使用带有常量__DIR__
的PHP 5),你可以使用更像这样的东西(尽管我也倾向于使用require_once
这样的文件比包括)。
//assuming you're calling the include from the a file at the root of the web server
include realpath( __DIR__ . '/myapp-backend/login.php' );
//or using require_once
require_once realpath( __DIR__ . '/myapp-backend/login.php' );
尽管Windows对使用'/'或'\'作为目录分隔符非常轻率。
请参阅:http://php.net/manual/en/function.realpath.php
对于旧版本的PHP(具有__FILE__
常量而不是__DIR__
常量),您可以使用以下内容 - 但实际上,这不再是必需的:
require_once realpath( dirname( __FILE__ ) . '/myapp-backend/login.php' );
答案 2 :(得分:-1)
您必须使用系统中的路径,而不是虚拟目录。 E.g:
include 'C:/myapp-backend/login.php';