codeigniter のライブラリとして作成したこのクラスがあります
class Openstack{
function __construct($params = array())
{
//namespace OpenCloud;
// note that we have to define these defaults BEFORE including the
// connection class
define('RAXSDK_OBJSTORE_NAME','cloudFiles');
define('RAXSDK_OBJSTORE_REGION','ORD');
require_once('lib/rackspace.php');
// these hold our environment variable settings
define('AUTHURL', 'https://identity.api.rackspacecloud.com/v2.0/');
define('USERNAME', "#####");
define('TENANT', "$$$$$");
define('APIKEY', "asdfasdfasdfasdfasdfasdfasdf");
// establish our credentials
$connection = new Rackspace(AUTHURL,
array( 'username' => USERNAME,
'tenantName' => TENANT,
'apiKey' => APIKEY ));
$ostore = $connection->ObjectStore();...
問題は、次を使用して関数を呼び出すときです。
public function test_upload(){
$this->load->library('opencloud/openstack');
$this->openstack->upload_file("thisworks.pdf", "static/news/10_12.pdf");
}
新しいRackspaceがある場所の上の行を指しているクラスRackspaceが見つからないというエラーが表示されます...
Rackspace.php 内には、Rackspace というクラス名があります。
class Rackspace extends OpenStack{ ...
なぜ見つからないのかわかりません...ファイルをロードしていることはわかっています。そこに何かをエコーしようとしたところ、表示されたからです....
何が起こっているのか分かりますか?
編集:rackspace.phpファイルの上部には
namespace OpenCloud;
私が作成したライブラリ ファイル クラス Openstack にはそれがありません...そこに入れると、「存在しないクラス: Openstack」というエラーが表示されました。