Ton*_*ana 3 php namespaces laravel adwords-apiv201402 laravel-5.3
在我的Laravel应用程序的每个控制器中,我使用了所有这个命名空间:
use App\User;
use App\Http\Controllers\Controller;
use Google\Auth\OAuth2;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\App;
use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201609\cm\CampaignService;
use Google\AdsApi\AdWords\v201609\cm\OrderBy;
use Google\AdsApi\AdWords\v201609\cm\Paging;
use Google\AdsApi\AdWords\v201609\cm\Selector;
use Google\AdsApi\AdWords\v201609\cm\SortOrder;
use Google\AdsApi\Common\OAuth2TokenBuilder;
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来避免在我的控制器中重复所有这些代码.我试图把它放在一个基本控制器,然后扩展所有其他控制器,但它没有工作.
我会很感激任何建议.
如果您使用的是PHP 7,则可以对这些进行分组.
例
use Google\AdsApi\AdWords\v201609\cm\CampaignService;
use Google\AdsApi\AdWords\v201609\cm\OrderBy;
use Google\AdsApi\AdWords\v201609\cm\Paging;
use Google\AdsApi\AdWords\v201609\cm\Selector;
use Google\AdsApi\AdWords\v201609\cm\SortOrder;
Run Code Online (Sandbox Code Playgroud)
变
use Google\AdsApi\AdWords\v201609\cm\{CampaignService, OrderBy, Paging, Selector, SortOrder};
Run Code Online (Sandbox Code Playgroud)
您还可以执行以下某些操作,这些操作应适用于旧版本的PHP.
use Google\AdsApi\AdWords;
$adWordsServices = new AdWords\AdWordsServices;
$campaignService = new AdWords\v201609\cm\CampaignService;
Run Code Online (Sandbox Code Playgroud)
这会减少您需要导入的内容,但要求您填写实例化时未导入的名称空间的其余部分.
http://php.net/manual/en/language.namespaces.importing.php#language.namespaces.importing.group
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |