2013-04-26 145 views
0

我想尝试FlawkApi库并复制了Steam帐户的示例页面。然而PHP使用声明失败

PHP是产生误差:

Fatal error: Class 'FlawkApi\Services\Steam' not found in C:\xampp\htdocs\SteamAccount\index.php on line 18

有问题的代码是这样的:

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,真实身份是在实际的代码)持有该:

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

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

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

有谁知道这是行不通的吗?

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

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

回答

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'); 
+1

Flawk使用作曲家。所以只需包含'vendor/autoload.php'。 – Evert 2013-04-26 11:00:32

+0

根据文档,它应该:[http://php.net/manual/en/language.namespaces.importing.php](http://php.net/manual/en/language.namespaces.importing.php ) – KoenDG 2013-04-26 11:03:39

+0

@Evert:那么,我必须首先在根中添加一个composer.json文件? – KoenDG 2013-04-26 11:04:24