Symfony Demo
  • Strona główna
  • Search
  • Choose language
    • English
    • Français
    • Deutsch
    • Español
    • Čeština
    • Nederlands
    • Русский
    • Українська
    • Română
    • Português (brasil)
    • Polski
    • Italiano
    • 日本語
    • Indonesia
    • Català
    • Slovenščina
    • Hrvatski
    • 中文 (中国)

To jest przykładowa aplikacja zbudowana przy pomocy frameworka Symfony, dla zademonstrowania polecanego sposobu tworzenia aplikacji przy jego użyciu.

Sprawdź dokumentację Symfony, aby uzyskać więcej informacji.

Kliknij poniższy przycisk, aby zobaczyć kod kontrolera oraz szablonu użytych podczas generowania tej podstrony.

Kod źródłowy użyty do wygenerowania tej podstrony

Kod kontrolerasrc/Controller/BlogController.php at line 151

/**
 * @Route("/search", name="blog_search")
 * @Method("GET")
 */
public function search(Request $request, PostRepository $posts): Response
{
    if (!$request->isXmlHttpRequest()) {
        return $this->render('blog/search.html.twig');
    }

    $query = $request->query->get('q', '');
    $limit = $request->query->get('l', 10);
    $foundPosts = $posts->findBySearchQuery($query, $limit);

    $results = [];
    foreach ($foundPosts as $post) {
        $results[] = [
            'title' => htmlspecialchars($post->getTitle()),
            'date' => $post->getPublishedAt()->format('M d, Y'),
            'author' => htmlspecialchars($post->getAuthor()->getFullName()),
            'summary' => htmlspecialchars($post->getSummary()),
            'url' => $this->generateUrl('blog_post', ['slug' => $post->getSlug()]),
        ];
    }

    return $this->json($results);
}

Kod szablonu Twigtemplates/blog/search.html.twig at line 1

{% extends 'base.html.twig' %}

{% block javascripts %}
    {{ parent() }}
    <script src="{{ asset('build/js/search.js') }}"></script>
{% endblock %}

{% block body_id 'blog_search' %}

{% block main %}
    <form action="{{ path('blog_search') }}" method="get">
        <div class="form-group">
            <input name="q"
                   class="form-control search-field"
                   placeholder="{{ 'post.search_for'|trans }}"
                   autocomplete="off"
                   autofocus
                   data-no-results-message="{{ 'post.search_no_results'|trans }}"
            >
        </div>
    </form>

    <div id="results">
    </div>
{% endblock %}

{% block sidebar %}
    {{ parent() }}

    {{ show_source_code(_self) }}
{% endblock %}

© 2025 - The Symfony Project

Licencja MIT