Silexを使用したプロジェクトに取り組んでいます。use
特定のファイルに、オートローダーに特定のphpファイルを含めるようにステートメントを追加しました。ファイルの後半で、そのクラスを使用します。開発サーバーではすべて問題ありませんが、本番環境に移行するとFatal error: Class not found
メッセージが表示されます。編集:両方のサーバーがPHP5.4.4を使用するようになりました。
これを引き起こしている可能性のあるインストール固有の問題はありますか?composerによって生成された両方の名前空間自動ロードファイルが同じであることを確認できます。
完全を期すために、ここにincludeステートメントがあります。
use Instaphp;
コードの後半でのクラスの使用法は次のとおりです。
$app['instaphp'] = $app->share(function() use ($app) {
if($app['tagframe.instagram_token'] === null) {
return Instaphp\Instaphp::Instance();
} else {
return Instaphp\Instaphp::Instance($app['tagframe.instagram_token']);
}
});
$app['instaphp.config'] = $app->share(function() use ($app) {
return Instaphp\Config::Instance();
});
正確なエラーは次のとおりです。
Fatal error: Class 'Instaphp\Config' not found in /var/www/silexsandbox/src/TagFrame/Silex/TagFrameServiceProvider.php on line 89
更新:私が取り組んでいるかなり大きなコードベースの他の場所ではそのようなエラーは発生していないことを追加する必要があります。したがって、すべての名前空間が機能しないほど単純ではないことを知っています。