Esempio n. 1
0
 public function actionIndex($metaProviderClassName = 'qeti\\Yii2PODataAdapter\\implementation\\MetadataProvider', $queryProviderMap = '@vendor/qeti/Yii2PODataAdapter/implementation/QueryProvider.php')
 {
     yii::$classMap['qeti\\SimplePOData\\QueryProvider'] = $queryProviderMap;
     $op = new OperationContextAdapter(yii::$app->request);
     $host = new ServiceHost($op);
     $host->setServiceUri("/odata.svc/");
     $service = new DataService(yii::$app->db, $metaProviderClassName::create());
     $service->setHost($host);
     $service->handleRequest();
     $odataResponse = $op->outgoingResponse();
     $response = yii::$app->response;
     foreach ($odataResponse->getHeaders() as $headerName => $headerValue) {
         if (!is_null($headerValue)) {
             $response->headers->set($headerName, $headerValue);
         }
     }
     return $odataResponse->getStream();
 }
Esempio n. 2
0
use POData\OperationContext\ServiceHost;
use qeti\SimplePOData\DataService;
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/OperationContextAdapter.php';
require __DIR__ . '/RequestAdapter.php';
require __DIR__ . '/QueryProvider.php';
require __DIR__ . '/models/MetadataProvider.php';
require __DIR__ . '/models/Product.php';
// DB Connection
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = '******';
$password = '******';
$db = new \PDO($dsn, $user, $password);
// Realisation of QueryProvider
$db->queryProviderClassName = '\\QueryProvider';
// Controller
$op = new OperationContextAdapter($_GET);
$host = new ServiceHost($op);
$host->setServiceUri("/odata.svc/");
$service = new DataService($db, \models\MetadataProvider::create());
$service->setHost($host);
$service->handleRequest();
$odataResponse = $op->outgoingResponse();
// Headers for response
foreach ($odataResponse->getHeaders() as $headerName => $headerValue) {
    if (!is_null($headerValue)) {
        header($headerName . ': ' . $headerValue);
    }
}
// Body of response
echo $odataResponse->getStream();