我刚刚安装了google auth SDK。我想在CodeIgniter库中应用它。
这是我的图书馆
<?php
class Chatlibrary{
function linkauth(){
$customConfig = (object) array(
'clientID' => 'myIdGoogle',
'clientSecret' => 'MySecretId',
'redirectUri' => 'MyRedirectUri',
'developerKey' => ''
);
require_once 'autoload.php';
$google = new rapidweb\googlecontacts\helpers\GoogleHelper;
$client = GoogleHelper::getClient($customConfig);
$authUrl = GoogleHelper::getAuthUrl($client);
return $authUrl;
}
我只想正确拨打rapidweb\googlecontacts\helpers\GoogleHelper
。
我上面的代码将显示错误
“消息:无法实例化抽象类Rapidweb \ googlecontacts \ helpers \ GoogleHelper”。
任何人都可以帮助我吗?
答案 0 :(得分:1)
只需删除行$google = new rapidweb\googlecontacts\helpers\GoogleHelper;
这是您尝试实例化GoogleHelper的地方,以后不再使用$ google变量,而是调用GoogleHelper的静态方法。因此,您根本不需要实例化它。
如果没有帮助,您可以执行以下操作:
1)创建自己的课程
class MyGoogleHelper extends rapidweb\googlecontacts\helpers\GoogleHelper
{
//...
}
2)使用它而不是Rapidweb \ googlecontacts \ helpers \ GoogleHelper
3)如果在类的某些未实现方法上遇到错误,请实施whem,即使是空方法也可以开始。
答案 1 :(得分:1)
您无法为错误的抽象类创建对象..尝试这样的事情
<?php
use rapidweb\googlecontacts\helpers\GoogleHelper;
class Chatlibrary extends GoogleHelper {
function linkauth(){
$customConfig = (object) array(
'clientID' => 'myIdGoogle',
'clientSecret' => 'MySecretId',
'redirectUri' => 'MyRedirectUri',
'developerKey' => ''
);
$client = GoogleHelper::getClient($customConfig);
$authUrl = GoogleHelper::getAuthUrl($client);
return $authUrl;
}
答案 2 :(得分:1)
仅供参考:
我们无法创建抽象类的实例。要使用抽象类的方法,我们必须将抽象类扩展到另一个类中。在您的情况下,您尝试将抽象类实例化为
$google = new rapidweb\googlecontacts\helpers\GoogleHelper;
这是不允许的。您可以按照Chatlibrary
和MihanEntalpo
的回答,在Shibon
类中扩展上述类,就可以访问所有抽象类的方法。
有关抽象类的更多信息,请参考this PHP手册。