1

CodeIgniter は初めてですが、今のところ気に入っています。

Shopify API を CodeIgniter ライブラリに移植中ですが、小さな問題が発生しており、一生解決することはできません!

未定義の変数エラーが発生しました。これは非常に単純なものではないような気がしますが、なぜ機能しないのか理解できません。カスタム クラスの関連コードは次のとおりです。

class Shopify
{

public $_api_key;
public $_shared_secret;
//public $_shops_myshopify_domain;



public function __construct ()
{
    $this->_assign_libraries();

    $this->_api_key                     = $this->config->item('api_key', 'shopify');
    $this->_shared_secret               = $this->config->item('shared_secret', 'shopify');
    //$this->_shops_myshopify_domain        =$this->config->item('shops_myshopify_domain', 'bitauth');
}

public function shopify_app_install_url($shop_domain)
{
    return "http://$shop_domain/admin/api/auth?api_key=$_api_key";
}
 public function _assign_libraries()
 {
    if($CI =& get_instance())
    {
        $this->load     = $CI->load;
        $this->config   = $CI->config;

        $this->load->config('shopify', TRUE);

        return;
    }
 }[/code]

作成した構成ファイルのコードは次のとおりです。

/**
* Your shared secret
*/
$config['shared_secret'] = 'changed for posting on forum';

/**
* Your Shopify API key
*/
$config['api_key'] = 'changed for posting on forum';

コントローラー内の関連コードは次のとおりです。

    Class shopifyPermission extends CI_Controller {
    function __construct ()
    {
        parent::__construct();

        // Load the Shopify API library
        $this->load->library('shopify.php');
        // Require url helper to perform the header redirect
        $this->load->helper('url');
    }

    function index() {
        //require 'shopify.php';

        $shop_domain = "changed.myshopify.com";

        $url = $this->shopify->shopify_app_install_url($shop_domain);

        //redirect($url);

         $data['url'] = $url;

         $this->load->view('shopifyPermission_view', $data);
    }

}

私が得るエラーは次のとおりです: A PHP エラーが発生しました

重大度: 通知

メッセージ: 未定義の変数: _api_key

ファイル名: libraries/Shopify.php

ライン番号: 34

有効な API キーを持っていても、設定ファイルから API キーが取得されていないようです。エコーを実行すると、URL 全体が表示されますが、API キーがありません。私は何をすべきか途方に暮れており、助けていただければ幸いです!ありがとう!

4

1 に答える 1

3

$this追加するのを忘れたshopify_app_install_url()

public function shopify_app_install_url($shop_domain)
{
    return "http://$shop_domain/admin/api/auth?api_key={$this->_api_key}";
}
于 2012-02-28T22:26:17.470 に答える