0

スターター: アプリケーションで「use」キーワードをオプションとして使用できるかどうか疑問に思っていました。

アプリケーションで Laravel 4 を使用しています。その中にコントローラーと機能があります。特定のルートを特定の機能に誘導します。

ただし、このコントローラーの 1 つの関数は外部クラスを使用する必要があります。次のように「use」キーワードを使用します。

use Payum\Request\CaptureRequest;
use Payum\AuthorizeNet\Aim\PaymentFactory;

これは、クラスを開く前のコントローラーの開始時に機能します。ただし、これらの種類のクラスを必要とするこの特定の関数でのみこれらの use 句をアクティブにできるかどうか疑問に思っていましたか? 試してみましたが、無効な構文エラーが発生したようです。

この問題とその背後にある理論について答えていただければ幸いです。私はばかげた質問をしているかもしれません:) [ Payum\Request\CaptureRequest\Function. または、これを Controller ファイルの先頭に記述するだけで、実行時にロードの問題が発生することはありません。]

私が達成したいことの例:

//use Payum\Request\CaptureRequest;
//use Payum\AuthorizeNet\Aim\PaymentFactory;
////// instead of using the reference here...

class MotawordController extends BaseController {

    function first()
    {
       ...
    }

    function second()
    {

        use Payum\Request\CaptureRequest;
        use Payum\AuthorizeNet\Aim\PaymentFactory;

        ...
    }
4

1 に答える 1

1

いいえ、できません。PHPマニュアルから:

use キーワードは、ファイルの最も外側のスコープ (グローバル スコープ) または名前空間宣言内で宣言する必要があります。これは、インポートが実行時ではなくコンパイル時に行われるためです。そのため、ブロック スコープにすることはできません。

于 2013-06-20T17:55:33.397 に答える