@kadin
To connect DocumentDB with Laravel, you can follow these steps:
- Install the Microsoft Azure DocumentDB PHP SDK in your Laravel project by running the following command in your terminal:
1
|
composer require "microsoft/windowsazure": "*"
|
- Next, you will need to set up your Azure DocumentDB account and obtain the connection information such as the URI and primary key.
- Create a new DocumentDB service provider in your Laravel project by running the following command:
1
|
php artisan make:provider DocumentDBServiceProvider
|
- Open the DocumentDBServiceProvider.php file located in app/Providers directory and add the following code to register the DocumentDB client:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
use IlluminateSupportServiceProvider;
use WindowsAzureCommonServicesBuilder;
use WindowsAzureCommonServiceException;
class DocumentDBServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind('DocumentDB', function() {
$endpoint = '<your_documentdb_uri>';
$primaryKey = '<your_documentdb_primary_key>';
return ServicesBuilder::getInstance()->createDocumentService($endpoint, $primaryKey);
});
}
}
|
- Register the newly created DocumentDB service provider in your config/app.php file:
1
2
3
4
|
'providers' => [
// Other providers...
AppProvidersDocumentDBServiceProvider::class,
]
|
- You can now use the DocumentDB client in your controllers or services by injecting it as a dependency. For example:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
use WindowsAzureCommonServicesBuilder;
class DocumentDBController extends Controller
{
protected $documentDB;
public function __construct(DocumentService $documentDB)
{
$this->documentDB = $documentDB;
}
public function index()
{
$result = $this->documentDB->listCollections('<your_database_id>');
dd($result);
}
}
|
This is a basic example of how you can connect DocumentDB with Laravel. Make sure to replace placeholder values with your actual DocumentDB connection information.