Cannot instantiate abstract class in library codeigniter
我刚安装了一个Google授权SDK。我想把它应用到代码点火器库中。
这是我的图书馆
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?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; } |
我只想正确地打电话给
我上面的代码将显示一个错误
"Message: Cannot instantiate abstract class rapidweb\googlecontacts\helpers\GoogleHelper".
有人能帮我吗??
供参考:
我们不能创建抽象类的实例。我们使用的方法的抽象类的抽象类都延伸在另一个类。在你的情况下,你是在试图instantiate的抽象类
这是不允许的。你可以简单地用在
关于抽象类的更多信息,你可以参考本PHP手册。
你不能创建抽象类的对象能够被认为是错误的。尝试一些像这样的东西
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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; } |
只是删除线
这是一个地方,你的instantiate googlehelper试图和你使用谷歌变元后,可googlehelper调用静态方法。所以,你需要instantiate它在所有。
如果它不是你能帮助的,如下:
1)创建你自己的类
1 2 3 4 | class MyGoogleHelper extends rapidweb\googlecontacts\helpers\GoogleHelper { //... } |
2)使用它,而不是rapidweb googlehelper googlecontacts助手
3)如果你非要在一些错误的类实现的方法的实现将是空的。whem,甚至精细的启动。