私はF3フレームワーク(Fat Free Framework)を使い始めています。シンプルで軽い。私はそれが私のコントローラが別のフォルダのApp/Controllersにあり、クラスと名前空間を使って素晴らしい作業をするように設定しました。私が問題を抱えているのは、これらのコントローラの1つからJSONファイルを読み込むことです。私のコードは以下の通りです:file_get_contentsまたはコントローラからJSONファイルを読み込み
$json = $f3->read('settings/templates.json');
$templates = json_decode($json);
var_dump($templates);
$fields = $templates->$template->fields;
私はそのようにして、この
$json = file_get_contents('settings/templates.json');
$templates = json_decode($json);
var_dump($templates);
$fields = $templates->$template->fields;
しかし、私は、ファイルが見つからないエラーが発生しますいずれかの方法のように、それを試してみました。だから何とか、F3はファイルを見つけることができません。私はこれをAUTOLOADに含める必要があるかどうか、またはこれを行うためのより良い方法があるかどうかはわかりません。
私はそうのようなデータベースとして、それを試してみましたが、それがファイルを見つけ、何とかこれがないと思える:私はちょうどにDBクラスとジグを使用してすべきではないよう
$db = new \DB\Jig ('settings/' , \DB\Jig::FORMAT_JSON);
$user= new \DB\Jig\Mapper($db, 'templates.json');
var_dump($templates);
$fields = $templates->$template->fields;
それはそうです単純なJSONファイルを読んでください。誰かがこれにいくつかの光を発することができますか?
EDIT:Okは以下の回答を助けましたが、私の特定のケースでは、すべて(構文が正しい)でした。私はあなたが直面している問題は、フレームワークではなく、親戚・パスのご理解とは関係ありません
$f3->set('AUTOLOAD','App/Controllers/');
ファイルが見つからないというエラーを取得している場合は、問題があなたのロジックではありません。 '__DIR__'定数を使ってファイルの絶対パスを使ってみてください。この定数はそれを呼び出すphpファイルのディレクトリのパスを返します。あなたの設定ディレクトリがどこにあるのか分かりませんが、このようなものが役に立ちます: '__DIR__。 '../ settings/templates.json'' – Sehael
それはうまく動作しますが、F3のドキュメントでは「正しい」方法ではないと感じるのを助けることができません.... – garek007
'$ f3-> read(' settings/templates.json ') 'が動作するはずです。1)' settings/'フォルダは' index.php'の外にあります。2) 'cd'で作業ディレクトリを変更しませんでした。それは事実ですか? – xfra35