Я пытаюсь создать повторно используемый класс БД, который позволит мне получить доступ к базовой функции c crud для моей базы данных couchbase. Когда я пытаюсь выполнить эту функцию, я получаю следующую ошибку:
PHP Notice: Undefined variable: bucket in
/var/www/html/PHRETS/couchBase.php on line 26 PHP Fatal error:
Uncaught Error: Call to a member function upsert() on null in
/var/www/html/PHRETS/couchBase.php:26 Stack trace:
#0 /var/www/html/PHRETS/retsphp.php(72): couchDb::upsert('OpenHouse::b769...', Object(OpenHouse))
#1 {main} thrown in /var/www/html/PHRETS/couchBase.php on line 26
Итак, вопрос в том, как я могу получить доступ к объекту $ bucket из функции внутри класса?
Это мой код на диване базы. php
<?php
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;
$bucketName = "default";
// Establish username and password for bucket-access
$authenticator = new \Couchbase\PasswordAuthenticator();
$authenticator->username('Administrator')->password('Password');
// Connect to Couchbase Server - using address of a KV (data) node
$cluster = new CouchbaseCluster("couchbase://127.0.0.1");
// Authenticate, then open bucket
$cluster->authenticate($authenticator);
$bucket = $cluster->openBucket($bucketName);
class couchDb {
public function upsert($DocId, $doc)
{
$result = $bucket->upsert($DocId, $doc);
return ($result->cas);
}
}