phore / objectstore
Object store for local files, google, aws
Installs: 4 510
Dependents: 7
Suggesters: 2
Security: 0
Stars: 2
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- php: >=7.1
- ext-json: *
- ext-openssl: *
- ext-yaml: *
- phore/core: *
- phore/http-client: *
Requires (Dev)
- aws/aws-sdk-php: ^3.151
- google/cloud-storage: *
- microsoft/azure-storage-blob: *
- phore/filesystem: *
- phpunit/phpunit: 8.5.x-dev
Suggests
- google/cloud-storage: If using Google Cloud services
- microsoft/azure-storage-blob: Access Azure
- phore/filesystem: If using filesystem driver
This package is auto-updated.
Last update: 2025-02-25 12:22:06 UTC
README
Install
composer requre phore/objectstore
Basic usage
$store = new ObjectStore(\Phore\ObjectStore\ObjectStoreDriverFactory::Build("gcs://<bucket-name>?keyfile=/run/secrets/google-key-1"));
$store = new ObjectStore(new GoogleCloudStoreDriver(__DIR__ . "/file/to/identity.json", "bucketName")); $store->object("object/some.json")->put("Some Data"); if ($store->has("object/some.json")) echo "Object existing"; echo $store->object("object/some.json")->get();
Driver
The object store can be created with
$objectStore = ObjectStore::Connect('gcs://some-bucket?keyfile=/run/secrets/xyz');
Available Drivers: Configuration options
driver | driver class | example |
---|---|---|
Google Bucket | PhoreGoogleCloudStoreDriver |
gcs://<bucket-name>?keyfile=/run/secrets/google-key-1 |
Google Bucket Native Driver (Requires google/cloud-storage ) |
GoogleCloudStoreDriver |
gcsnd://<bucket-name>?keyfile=/run/secrets/google-key-1 |
Azure Block Storage | -- |
azbs://<bucket-name>?account=<account>&keyfile=/run/secrets/az-key-1 |
Azure Block Storage Native Driver (Requires microsoft/azure-storage-blob ) |
AzureObjectStoreDriver |
azbsnd://<bucket-name>?account=<account>&keyfile=/run/secrets/az-key-1 |
AWS S3 Block Storage Native Driver (Requires aws/aws-sdk-php ) |
S3ObjectStoreDriver |
s3nd://<bucket-name>?account=<accountId>&keyfile=/run/secrets/keyfile®ion=<region> |
Filesystem driver | FileSystemObjectStoreDriver |
file://path/ |
See the Configuration options page for full driver documentation
Develop
The google native drivers require a secret as service account. Create the secret using
./kickstart.sh secrets edit google_test