Я не знаю, опубликовали ли вы весь код класса, но кажется, что импорт выполняется неправильно.Чтобы избежать ошибки неизвестной категории, убедитесь, что вы загрузили правильные классы:
При интеграции через composer вы можете загрузить все классы, используя автозагрузчик по умолчанию, и вам просто нужно указать, какие категориивы используете с оператором require (или require_once) и убедитесь, что вы установили SDK, используя composer install
или эквивалентный.Протестируйте следующий код (я уже тестировал для CloudRail v1.0.1), если он не работает должным образом, то это должно быть что-то либо в автозагрузке, либо в композере:
<?php
require_once __DIR__ . '/vendor/autoload.php';
use CloudRail\Service\Foursquare;
use CloudRail\Service\GooglePlaces;
use CloudRail\Service\Yelp;
use CloudRail\Settings;
Settings::$licenseKey = "[CLOUDRAIL_KEY]";
/**
* @var \CloudRail\Interfaces\PointsOfInterest
*/
$service = null;
/**
* @var string
*/
$serviceName = "GooglePlaces"; //TODO:Just change the interface name :)
switch ($serviceName){
case "Foursquare":
$service = new Foursquare( "[FOURSQUARE_KEY]","[FOURSQUARE_SECRET]]");
break;
case "Yelp":
$service = new Yelp( "[API_KEY]");
break;
case "GooglePlaces":
$service = new GooglePlaces( "[API_KEY]");
break;
}
$retrievedPOIs = $service->getNearbyPOIs( -15.7662,-47.8829,3000,"cafe",[]);
var_dump($retrievedPOIs);