Zainstalowałem świeżą wersję symfony i przykładowy LiveComponent ze strony https://symfony.com/bundles/ux-live-component/current/index.html . Okazuje się że działa jak zwykły twig. Nie widzę żadnych błędów. Czy może ktoś już miał z tym taki problem. Nie wiem czy to jest problem z tą wersją ?

- Rejestracja:około rok
- Ostatnio:3 miesiące
- Postów:13
Tak jak powyżej napisałem przykładowy kod liveComponent z dokumentacji Symfony
src>Twig>Components>
namespace App\Twig\Components;
use Symfony\UX\LiveComponent\Attribute\AsLiveComponent;
use Symfony\UX\LiveComponent\DefaultActionTrait;
#[AsLiveComponent]
class RandomNumber
{
use DefaultActionTrait;
public int $max = 1000;
public function getRandomNumber(): int
{
return rand(0, 1000);
}
}
templates>components>
<div {{ attributes }}>
<strong>{{ this.randomNumber }}</strong>
<button
data-action="live#$render"
>Generate a new number!</button>
</div>
i renderuję to
{{ component('RandomNumber', { max: 500 }) }}
No i działa jak zwykły twig a nie jak liveComponent

- Rejestracja:około rok
- Ostatnio:3 miesiące
- Postów:13
Wywołanie ajax zasymulowałem w ten sposób. W testowym kontrolerze dodałem
class TestController extends AbstractController
{
#[Route('/test', name: 'app_test')]
public function index(Request $request): Response
{
if($request->isXmlHttpRequest()){
return $this->json(['message' => 'To jest żądanie AJAX!']);
}
return $this->render('test/index.html.twig', [
'controller_name' => 'TestController',
]);
}
}
i w index.html.twit wywołałem
{% extends 'base.html.twig' %}
{% block title %}Hello TestController!{% endblock %}
{% block body %}
<style>
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
</style>
<div class="example-wrapper">
<h1>Hello {{ controller_name }}! ✅</h1>
<button id="ajaxButton">Wyślij żądanie AJAX</button>
<script>
document.getElementById('ajaxButton').addEventListener('click', function () {
fetch('/test', {
method: 'GET',
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
})
.then(response => response.json())
.then(data => {
alert(data.message);
})
.catch(error => console.error('Error:', error));
});
</script>
This friendly message is coming from:
<ul>
<li>Your controller at <code>/app/src/Controller/TestController.php</code></li>
<li>Your template at <code>/app/templates/test/index.html.twig</code></li>
</ul>
{{component('RandomNumber')}}
</div>
{% endblock %}
Jeżeli chodzi o błędy to w korzystam z profilera oraz firebuga i tam nic nie znajduję. Może trzeba w jakiś specjalny sposób dokopać się do tych logów z błędami. Nie jestem specjalistą w Symfony (cały czas jeszcze próbuję ogarnąć ten famework). Dziwi mniej jednak fakt że jest to czysta instalacja robię wszystko krok po kroku zgodnie z dokumentacją i nie działa.