Yii 2:在require_once中使用一个类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii 2:在require_once中使用一个类相关的知识,希望对你有一定的参考价值。
我正在使用第三方扩展程序:
(这是在我的控制器内)
require_once Yii::$app->basePath.'/vendor/campaignmonitor/createsend-php/csrest_subscribers.php';
$wrap = new CS_REST_Subscribers($list_id, $auth);
但是,这会返回一个错误,即找不到CS_REST_subscribers类。
当类在文件中时,如何正确使用此类。不幸的是,这个扩展名较旧,并且没有命名空间。
答案
您需要使用composer使用以下命令安装它
composer require "campaignmonitor/createsend-php" "6.0.0"
它使用最简单的方法,即分别自动加载每个类。我们定义了我们想要在composer.json
文件中自动加载的类的路径数组,如果你看到包目录中的vendor/campaignmonitor/createsend-php/composer.json
文件
"autoload": {
"classmap": [
"csrest_administrators.php",
"csrest_campaigns.php",
"csrest_clients.php",
"csrest_general.php",
"csrest_events.php",
"csrest_lists.php",
"csrest_people.php",
"csrest_segments.php",
"csrest_subscribers.php",
"csrest_templates.php",
"csrest_transactional_classicemail.php",
"csrest_transactional_smartemail.php",
"csrest_transactional_timeline.php"
]
}
所以你不需要include
或require
语句,你可以直接调用你想要的任何类,例如在你的action
或view
中添加以下行
$authorize_url = CS_REST_General::authorize_url(
'1122',//'Client ID for your application',
'http://example.com/redirect-page',//Redirect URI for your application,
'ViewReports'//The permission level your application requires,
);
print_r($authorize_url);
打印以下内容
对于知识库,如果您想使用不使用自动加载器或psr4的第三方代码,您可以通过Yii tutorial
以上是关于Yii 2:在require_once中使用一个类的主要内容,如果未能解决你的问题,请参考以下文章
[Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]