PHP使用语句失败

时间:2013-04-26 10:48:26

标签: php namespaces

我想试用FlawkApi库并复制Steam帐户的示例页。

PHP正在生成错误:

  

致命错误:找不到类'FlawkApi \ Services \ Steam'   第18行的C:\ xampp \ htdocs \ SteamAccount \ index.php

有问题的代码是:

use FlawkApi\Services\Steam;

// include bootstrap
require_once (__DIR__.'/bootstrap.php');

// initiate Steam with example gamerid and httpClient
$FlawkApi = new Steam($gamerIds['steam']['id'], $httpClientProvider());

最后一行是第18行。

Bootstrap.php认为:

// error reporting on
error_reporting(E_ALL);
ini_set('display_errors', 1);

// include some example gamer ids
require_once (__DIR__.'/init.php');

init.php保留了这个(这里修改了ID,真实ID在实际代码中):

$gamerIds = array(
    'steam' =>
    array(
        'id' => 'myId'
    )
);

$httpClientProvider = function() {
            return new \FlawkApi\Common\Http\Client\FlawkClient();
        };

这是一个简单的使用声明,PHP正在倒下。我的PHP版本是5.4.7,是从最新的XAMPP版本安装的。

有谁知道这不起作用?

编辑:初始化composer.json,它创建了vendor文件夹。然后我需要vendor / autoload.php,但它仍会产生相同的错误。

EDIT2:这是文件夹结构和composer.json文件的屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

我认为您可以使用spl_autoload_register注册函数,如果找不到类,可以加载该类。

e.g

function my_autoloader($class) {
   if(file_exists(__DIR__ . $class . ".php"))
        require_once(__DIR__ . $class . ".php");
}

spl_autoload_register('my_autoloader');