symfony: Generowanie adresu URL route'a w kontrolerze modułu.

Prowadzenie blogu ma, a przynajmniej powinno mieć na celu niesienie pomocy Czytelnikom. Czasem jednak trzeba też pomóc sobie - autorowi. Najlepiej jest wtedy, kiedy przy okazji spełniania tego pierwszego wymagania, spełnia się przy okazji to drugie. Ze względu na to, że tworzenie wpisów pomaga mi w uporządkowaniu wielu informacji kołaczących się nieskładnie w głowie, czasem będę się dzielił z Wami krótkimi wpisami o problemach, których rozwiązań często zapominam. Jednym z takich problemów jest właśnie tytułowe generowanie adresu URL w symfony, pochodzącego z routingu projektu… w kontrolerze.

symfony: Zamiana adresu URL front-controllera backend.php na /admin.

Framework symfony jest na tyle złożonym tworem programistycznym, że czasami możemy po prostu “odbić się od ściany” próbując osiągnąć teoretycznie prostą rzecz. Moim zdaniem to dobrze, że wymaga on tak dużo od programisty - dzięki temu programista musi rozumieć, dlaczego i jak działają tworzone przez niego rozwiązania. W dzisiejszym wpisie chciałbym podjąć dosyć zaawansowaną kwestię związaną z modułem routingu - automatyczną zamianę adresu front-controllera backend.php [lub innego, nie będącego domyślnym] na “ładny” prefiks - np. /admin.

[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0×02: Poziomy użytkowników.

Przyznaję bez bicia, że od ostatniego wpisu w tej serii upłynęło [zbyt] wiele czasu, za co ponoszę winę jedynie ja, ponieważ dopisywałem po jedno - dwa zdania co jakiś czas, ale ogólnie post “wisiał” na liście szkiców i “grzał ławkę”, nie mogąc się doprosić o solidne dokończenie i wejście na “boisko” strony głównej niniejszego bloga. W związku z tym postaram się dzisiaj i za tydzień zamieścić ostatnie części, tak, aby można było zamknąć temat. Przy tworzeniu kolejnej tego typu serii będę musiał chyba od razu napisać wszystkie części i po prostu publikować je w pewnych odstępach czasu, bo w tym tempie to kolejny wpis ukazałby się pewnie w listopadzie. ;] Ale do rzeczy: w jednym z poprzednich wpisów omówiliśmy najprostszy system zarządzania uprawnieniami, czyli autoryzację na podstawie flagi dostępu do danej sekcji strony. Dzisiaj rozszerzymy to rozwiązanie pozwalając na większą kontrolę i możliwość konfiguracji miejsc, do których ma dostęp nasz użytkownik.

Na czym to polega?

Opisany wcześniej sposób autoryzacji nie jest optymalny, ponieważ w podstawowej wersji pozwala na podzielenie użytkowników na jedynie dwa typy - tych którzy mają dostęp do treści “ukrytych” i tych, którzy muszą się “obejść smakiem”. Wprowadzanie kolejnych kolumn opisanych jako obszary dostępu także nie zdaje egzaminu - przy rozrastającym się systemie musielibyśmy stworzyć tabelę posiadającą kilkadziesiąt, jeśli nie kilkaset kolumn w stylu “allow_[nazwa obszaru]“. Tutaj z pomocą przychodzi nowy pomysł - poziomy użytkowników.