0

初学者:我想知道我们是否可以在我们的应用程序中使用“use”关键字作为可选关键字。

我在我的应用程序中使用 Laravel 4。我有一个控制器和里面的功能。我将特定路线指向特定功能。

但是,此控制器中的一个功能需要使用外部类。我使用这样的“使用”关键字:

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

这将在控制器的开头,在类打开之前起作用。但是,我想知道是否可以仅在需要此类类的特定功能中激活这些 use 子句?我试过了,但它显然抛出了一个无效的语法错误。

如果我能对这个问题和背后的理论有答案,我会很高兴。我什至可能会问一个愚蠢的问题 :) [因为我知道我可以通过使用完整引用来引用这些类中的函数,例如Payum\Request\CaptureRequest\Function. 或者我可以在控制器文件的开头写这个,因为它不会给执行带来任何加载问题。]

我想要实现的示例:

//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 回答