我是symfony的新手,并尝试使用FOSRest Bundle创建REST api。另外,我想在我的控制器中使用flysystem库作为服务。这很简单
.controller('MapCtrl', function($scope, $ionicLoading, $compile) {
function initialise() {
function onSuccess(position){
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var mapOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
}
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
});
$scope.map = map;
}
function onError(error){
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
navigator.geolocation.getCurrentPosition(onSuccess, onError);
}
google.maps.event.addDomListener(window, 'load', initialise);
});
这很好用,但我的想法是将此服务注入FileController,这样我就可以在我的控制器中的每个方法中使用$ filesystem服务。
我读到它,我必须将我的控制器作为服务,但后来出了问题。注射的正确方法是什么。
答案 0 :(得分:1)
我们使用这样的东西:
<强> YourBundle /资源/配置/ services.yml 强>
controller.file:
class: YourBundle\Controller\FileController
arguments:
- @yourFileService
- @service_container
<强> YourBundle /控制器/ FileController.php 强>
/**
* @Route("/file", service="controller.file")
*/
class FileController extends Controller
{
/**
* @var Filesystem
*/
private $filesystem;
/**
* @param Filesystem $filesystem
* @param $container
*/
public function __construct(
Filesystem $filesystem,
$container
) {
$this->filesystem = $filesystem;
$this->container = $container;
}