SYMFONY

Symfony – framework (oparty o wzorzec MVC) służący do budowy dynamicznych aplikacji internetowych w języku PHP (OOP). Oficjalna strona projektu: symfony.com

Sonata Admin Bundle

SONATA ADMIN BUNDLE – instalacja i konfiguracja

Sonata Admin Bundle to system do zarządzania treścią na stronie internetowej (ang. Content Management System). Alternatywnym rozwiązaniem jest EasyAdmin, o którym pisałem w kilku poprzednich postach. Każde z rozwiązań ma swoje plusy i minusy. Najlepiej poznać oba systemy i wtedy zdecydować, który będzie dla nas wygodniejszy w obsłudze i kodowaniu. EasyAdmin napewno nadaje się do …

SONATA ADMIN BUNDLE – instalacja i konfiguracjaczytaj więcej »

Niestandardowe rozszerzenie Twig

Jeśli chcesz dodać do szablonu Twiga niestandardowe funkcje, filtry itp, musisz utworzyć własne rozszerzenie. Przed tym upewnij się, że Twoje rozszerzenie nie jest już zaimplementowane w standardzie Twiga. Pozwoli to uniknąć niepotrzebnych kolizji 😉 Aby korzystać z rozszerzeń Twiga musimy wpierw je zainstalować:

1. FUNKCJE W pierwszym przykładzie dodamy funkcję, która będzie losować kolor …

Niestandardowe rozszerzenie Twigczytaj więcej »

BASIC AUTH

BASIC AUTH – prosta autoryzacja HTTP

BASIC AUTH – to proste uwierzytelnianie (logowanie) realizowane przez przeglądarkę internetową. Może się zdarzyć, że będziemy chcieli zablokować dostęp do niektórych zasobów WWW np: plików do pobrania, katalogów na serwerze, strony internetowej itp., wtedy możemy skorzystać z prostej autoryzacji, bez konieczności tworzenia systemu logowania opartego o bazę danych. Aby zrobić to w Symfony 4 wystarczy …

BASIC AUTH – prosta autoryzacja HTTPczytaj więcej »

knpmenubundle

Dynamiczne menu w Symfony 4 i KnpMenuBundle

W poprzednim rozdziale pt: „KNPMENUBUNDLE” opisałem podstawy dotyczące tworzenia statycznego menu. Poszczególne sekcje wprowadzaliśmy manualnie do metody MyMenu w klasie Builder. Teraz zmodyfikujemy klasę tak, aby można było tworzyć menu dynamicznie, czyli generowane z tabeli w bazie danych. Do tego będą nam potrzebne jeszcze dwie klasy np: Menu i MenuRepository. Zakładam, że masz przygotowaną bazę …

Dynamiczne menu w Symfony 4 i KnpMenuBundleczytaj więcej »

SwiftMailer

Formularz kontaktowy – wysyłanie wiadomości e-mail

W Symfony wiadomość e-mail można wysłać standardowo w PHP, aczkolwiek lepiej wykorzystać w tym celu gotową bibliotekę Swift Mailer z szeregiem udogodnień, które nam oferuje. Oprócz własnego serwera pocztowego można używać poczty popularnych dostawców jak np: Mandrill, SendGrid oraz Amazon SES. W tym poście ugryziemy tak naprawdę dwa tematy: 1. Budowa formularzy w Symfony 4 …

Formularz kontaktowy – wysyłanie wiadomości e-mailczytaj więcej »

paginator

KnpPaginatorBundle

Paginacja lub stronicowanie służy do dzielenia treści (np. listy artykułów) na podstrony. Do przechodzenia pomiędzy poszczególnymi stronami służy pasek z numeracją i/lub przyciski nawigacyjne typu: ‹ poprzednia strona | następna strona ›. W Symfony mamy do tego gotowy moduł KnpPaginatorBundle. Instalacja bundla:

Konfiguracja (config/packages/paginator.yaml):

Do kontrolera dodajemy metodę paginate według schematu:

Przykładowy …

KnpPaginatorBundleczytaj więcej »

knpmenubundle

KnpMenuBundle

Pakiet KnpMenuBundle pozwala w prosty sposób implementować menu do strony. Można tworzyć dowolne zagnieżdżenia elementów menu, które są automatycznie renderowane. Oczywiście zalet jest więcej 🙂 W tym artykule skupimy się na podstawach, czyli instalacji, konfiguracji i użyciu menu w kontrolerze, a następnie wyrenderowaniu go na stronie. Zaczniemy od instalacji bundla z wiersza poleceń:

Następnie …

KnpMenuBundleczytaj więcej »

Użycie standardowego kontrolera Symfony4 w EasyAdmin

W EasyAdmin możemy użyć standardowego kontrolera Symfony z routingiem i widokiem. Dla przykładu zrobimy prościutką podstronę informacyjną – „About”, jak na poniższym obrazku. Podstrona informacyjna będzie includowana do layoutu EasyAdmina. Najpierw dodamy do konfiguracji menu – sekcję o nazwie About z parametrem route i wartością np: ‚about_admin’. W tym celu edytuj plik easy_admin.yaml (/config/packages/easy_admin.yaml):

Użycie standardowego kontrolera Symfony4 w EasyAdminczytaj więcej »

Zachowanie sluggable – automatyczne generowanie sluga

Slug występuje w adresie Url po nazwie domeny w formie pojedynczej frazy (np: /kontakt) lub kilku, oddzielonych znakiem myślnika „-” (np: /to-jest-przyklad-sluga). Separator można zmienić na inny, aczkolwiek Google preferuje taką postać. Ta forma linków nosi nazwę przyjaznych adresów Url (Friendly URL). Są one jednym z kluczowych czynników wpływających na pozycjonowanie stron internetowych w wyszukiwarkach. …

Zachowanie sluggable – automatyczne generowanie slugaczytaj więcej »

nadpisywanie widoków, szablonów

Nadpisywanie szablonów bundli

W Symfony 4 szablony aplikacji przechowujemy w katalogu templates/ (w katalogu głównym projektu). Nadpisywanie szablonów odbywa się poprzez skopiowanie struktury katalogów i podkatalogów (zasobów / widoków) danego bundla do nowej lokalizacji, czyli do katalogu templates/:

Dla przykładu nadpiszemy formularz logowania z pakietu FOSUserBUndle. Jak widać z rysunku poniżej, jest on dość ubogi, dlatego wzbogacimy …

Nadpisywanie szablonów bundliczytaj więcej »