私はKohanaのコントローラーを使いこなそうとする以前に質問を書いていましたが、私は与えてファイルを書き換えました。だから今、私はKohanaコントローラの中にこのPHPスクリプトを持っています。私がいくつかのサードパーティの機能を実行できるように、コントローラがレンダリングしているビューはPHPファイルを必要としています。私はそれに大きな問題を抱えていて、デバッグする必要がありました。問題は、インクルードされたファイル内の関数は、同じファイル内から関数外の変数にアクセスすることができないようです。それはコハナが何とかグローバルをクリアしているようですか?Kohanaグローバルはクリアされていますか?
例:
//controller.php
require_once("ccfunctions.php");
//ccfunctions.php
$test = 'something';
function test(){
global $test;
echo $test;
}
test();
//This does not produce anything
この1上の任意の考え?
EDIT: 実際には、上記の例はレンダリングされているビューファイルからも機能しません。インクルードファイルは忘れてしまいます。私はKohanaがMVCモデルを強制しようとしていることを知っていますが、これはばかげています。なぜ、関数を作成せず、ビューファイルからグローバル変数を呼び出せないのですか?
することができます...何か間違っている必要があります。あなたが何を記述しているかは、ヘルパーファイルが行うことです。なぜそれがあなたのために働いていないのかは、おそらくKohanaに関連しない問題によって引き起こされますが、私は間違っている可能性があります。問題がどちらの方法であるかを知ることに興味があります。 'test'関数で文字列リテラルをエコーして、関数自体が呼び出されているかどうか確認してみましたか? – Endophage
@Endophage:文字列リテラルは、関数内から罰金を表示します。奇妙な。ここで私の髪を引き裂く;)私は前にKohanaを使用していない、これは買収プロジェクトです。これまでのところうまくいきましたが、これは本当に私を悩ましています。 –
あなたの問題は特にkohanaとは関係ありませんが、変数の可視性の範囲の理解と関係しています。 – zerkms