2013-06-20 3 views
0

Стартер: Мне было интересно, можем ли мы использовать ключевое слово «use» как необязательное в наших приложениях.Дополнительные пространства имен с ключевым словом «use»

Я использую Laravel 4 в своем приложении. У меня есть контроллер и функции внутри него. Я направляю конкретные маршруты к определенным функциям.

Однако, одна функция в этом контроллере должна использовать внешний класс. Я использую ключевое слово «use» следующим образом:

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

Это будет работать в начале контроллера перед открытием Класса. Однако мне было интересно, могу ли я активировать эти предложения использования только в этой конкретной функции, которая требует таких классов? Я попробовал это, но, по-видимому, он сделал неверную синтаксическую ошибку.

Я был бы рад, если бы у меня был ответ на этот вопрос и теорию за этим. Я даже могу задавать глупый вопрос :) [Потому что я знаю, что могу ссылаться на функции в этих классах, используя полную ссылку, например 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; 

     ... 
    } 

ответ

1

Нет, ты не сможешь , От PHP manual:

Ключевое слово использования должно быть объявлено в самой внешней области области (глобальная область) или внутри декларации пространства имен. Это связано с тем, что импорт выполняется во время компиляции, а не во время выполнения, поэтому его нельзя блокировать.

Смежные вопросы