Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法在库codeigniter中实例化抽象类_Php_Codeigniter_Google Auth Library - Fatal编程技术网

Php 无法在库codeigniter中实例化抽象类

Php 无法在库codeigniter中实例化抽象类,php,codeigniter,google-auth-library,Php,Codeigniter,Google Auth Library,我刚刚安装了一个GoogleAuthSDK。我想在CodeIgniter库中应用它 这是我的图书馆 <?php class Chatlibrary{ function linkauth(){ $customConfig = (object) array( 'clientID' => 'myIdGoogle', 'clientSecret' => 'MySecretId', 'r

我刚刚安装了一个GoogleAuthSDK。我想在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;
    }

只需删除行
$google=new rapidweb\googlecontacts\helpers\GoogleHelper

这是您尝试实例化GoogleHelper的地方,以后不再使用$google变量,而是调用GoogleHelper的静态方法。所以,您根本不需要实例化它

如果没有帮助,您可以执行以下操作:

1) 创建自己的类

MyGoogleHelper类扩展了rapidweb\googlecontacts\helpers\GoogleHelper { //... }
2) 使用它而不是rapidweb\googlecontacts\helpers\GoogleHelper


3) 如果在类的一些未实现的方法上出现错误,请实现whem,即使是空的也可以作为开始。

只需删除行
$google=new rapidweb\googlecontacts\helpers\GoogleHelper

这是您尝试实例化GoogleHelper的地方,以后不再使用$google变量,而是调用GoogleHelper的静态方法。所以,您根本不需要实例化它

如果没有帮助,您可以执行以下操作:

1) 创建自己的类

MyGoogleHelper类扩展了rapidweb\googlecontacts\helpers\GoogleHelper { //... }
2) 使用它而不是rapidweb\googlecontacts\helpers\GoogleHelper


3) 如果您在类的一些未实现的方法上遇到错误,请实现whem,即使是空的方法也可以作为开始。

您无法为抽象类创建对象,这就是错误。。试试这样的东西

<?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;
}

您无法为出现错误的抽象类创建对象。。试试这样的东西

<?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;
}
供参考:

我们不能创建抽象类的实例。要使用抽象类的方法,我们必须在另一个类中扩展抽象类。在您的例子中,您试图将抽象类实例化为

$google=new-rapidweb\googlecontacts\helpers\GoogleHelper

这是不允许的。您可以简单地在
Chatlibrary
类中扩展上述类,如
MihanEntalpo
Shibon
所述,并且您可以访问抽象类的所有方法

有关抽象类的更多信息,请参阅PHP手册。

FYI:

我们不能创建抽象类的实例。要使用抽象类的方法,我们必须在另一个类中扩展抽象类。在您的例子中,您试图将抽象类实例化为

$google=new-rapidweb\googlecontacts\helpers\GoogleHelper

这是不允许的。您可以简单地在
Chatlibrary
类中扩展上述类,如
MihanEntalpo
Shibon
所述,并且您可以访问抽象类的所有方法


有关抽象类的更多信息,请参阅PHP手册。

@AgustinoWhickey reffer此链接查看有关抽象类的更多信息@AgustinoWhickey reffer此链接查看有关抽象类的更多信息