Я просто хочу знать, возможно ли создать экземпляр объекта (или службы) в контроллере конструктора и обновить этот объект с помощью отличительного вызова ajax.
Во-первых, инъекция в моем контроллере работает нормально, я уже пытаюсь сделать это с помощью сеанса или cookie, но на самом деле myObj сложнее, чем одно число, чтобы увеличить, поэтому, похоже, это не то, что мне нужно.
class MyController extends Controller
{
private $myObj;
public function __construct(MyObj $myObj)
{
$this->myObj = $myObj;
}
public function indexAction(Request $request)
{
$aData['pageTitle'] = 'exemple';
$aData['pageSubtitle'] = 'on stackoverflow';
return $this->render('Bundle:page.html.twig', $aData);
}
public function ajaxAction(Request $request){
$this->myObj->increment_nbDomain();
return new JsonResponse('ok');
}
}
Мой объект
class myObj
{
public $nbDomain = 0;
public function increment_nbDomain(){
$this->nbDomain++;
}
}
Функция jQuery
$('.buttonPlus').on('click', function () {
$.ajax({
url: '{{ path('route_to_ajaxAction') }}',
type: "POST",
dataType: "json",
async: true,
success: function (data) {
console.log(data);
},
error: function (data) {
console.log(data);
}
});
});
nbDomain всегда равен нулю