Wordnik の php API Fatal error: Class 'Example' not found in Swagger.php on line 212 で次のエラーが発生します。
Swagger.php を編集して機能させました。以下は元の関数です。
function swagger_autoloader($className) {
$currentDir = substr(__FILE__, 0, strrpos(__FILE__, '/'));
if (file_exists($currentDir . '/' . $className . '.php')) {
include $currentDir . '/' . $className . '.php';
} elseif (file_exists($currentDir . '/models/' . $className . '.php')) {
include $currentDir . '/models/' . $className . '.php';
}
}
私が変更した作業コードは
function swagger_autoloader($className)
{
include $currentDir . '/models/' . $className . '.php';
}
より詳しい情報
私のファイル構造は次のとおりです。WORDNIK (start.php を含む)>>>WORDNIK (Swagger.php を含む)>>MODELS (Example.php を含む)
- 私はphp 5.4.3でwampserver 2.2を使用しています
更新/編集
次のコードを使用する
function swagger_autoloader($className) {
echo "dirname(__FILE__)= ",dirname(__FILE__);
$currentDir = substr(__FILE__, 0, strrpos(__FILE__, '/'));
echo "currentDir=".$currentDir."</br>";
echo "className=".$className."</br>";
echo "__FILE__=",__FILE__."<br/>";
die();
私は結果を得る
dirname(__FILE__)=D:\wamp\www\wordnik\wordnik
- 現在のディレクトリ=
- className=例
__FILE__=D:\wamp\www\wordnik\wordnik\Swagger.php
vcampitelli で提案されているように、またはいずれ__DIR__
かを使用してdirname(__FILE__)
動作します。
私の質問
本来の機能が働かないのはなぜ?
重要でない情報
例に苦労している人々のために、ここに私のstart.phpファイルがあります
<?php
require('./wordnik/Swagger.php');
require('./wordnik/WordApi.php');
require('./wordnik/AccountApi.php');
require('./wordnik/WordsApi.php');
require('./wordnik/WordListApi.php');
require('./wordnik/WordListsApi.php');
$myAPIKey = 'replace_this_with_your_real_api';
$client = new APIClient($myAPIKey, 'http://api.wordnik.com/v4');
$wordApi = new WordApi($client);
$example = $wordApi->getTopExample('irony');
print $example->text;
?>