Doctrine: Funkcje SQL w zapytaniach do bazy danych.

Od kiedy programiści stron internetowych [i nie tylko] dostali w swoje ręce pierwsze biblioteki wspomagające technikę ORM - mapowania obiektowo-relacyjnego, stało się jasne, że w bardzo wielu przypadkach oszczędzą nam one samodzielnego pisania zapytań SQL i związanych z tym problemów i błędów. Za bardzo przyjemną abstrakcją tychże bibliotek kryje się jednak jeden problem - ze względu na fakt, iż próbuje ona zastąpić nam całkowicie leżącą niżej warstwę bazy danych, bardzo często nie mamy możliwości skorzystania z natywnych funkcji SQLa. W niniejszym wpisie pokażę, jak sobie z tym poradzić wykorzystując bibliotekę ORM Doctrine.

Linkdump #40: Chłopcy PeHaPowcy.

Ze wszystkich języków programowania, jakich tematykę poruszam / poruszałem na tym blogu, PHP zajmuje zaszczytne, pierwsze miejsce pod względem liczby wpisów. Zastanawiający jest zatem fakt, że w Linkdumpie jest go relatywnie najmniej. W ramach poprawy tej statystyki zapraszam do zapoznania się z listą dziesięciu wyselekcjonowanych linków o PHP właśnie.

[Życie] Prezentacja z seminarium dyplomowego.
W życiu każdego studenta przychodzi czas, kiedy w końcu trzeba zacząć pisać pracę dyplomową. W moim przypadku, jako, że podjąłem studia dwustopniowe, jest to praca inżynierska - w związku z czym pojawił się nowy przedmiot do zaliczenia. Przedmiot zwie się “Seminarium Dyplomowe”, a jego zaliczenie warunkuje [m. in.] przygotowanie dwóch prezentacji - jednej na temat ogólnoinformatyczny, a drugiej związanej z tematem samej pracy. Ze względu na fakt, że miałem dzisiaj okazję przedstawić swój pierwszy temat, chciałbym się z Wami podzielić tym, co przygotowałem.
[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.