-2

想要从包含的 php 中调用函数。我愿意:

<?php
include 'http://localhost:9090/myapp-backend/login.php';
$lg = new Login();
$lg->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一个函数中使用类时,我得到函数不存在的错误。
怎么了?

4

3 回答 3

3

include远程文件将仅包括结果(由远程服务器生成),而不包括您的代码

使用include本地(本地 FS)获取源 - 因为您指的是 localhost

于 2013-10-01T12:46:53.757 回答
2

为了确保它是跨平台兼容的(使用带有常量的 PHP 5 __DIR__),您可以使用更像这样的东西(尽管我倾向于使用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' );

见:http ://uk3.php.net/manual/en/function.dirname.php

于 2013-10-01T12:57:36.777 回答
-1

您必须使用系统中的路径,而不是虚拟目录。例如:

include 'C:/myapp-backend/login.php';
于 2013-10-01T12:47:03.323 回答