Wpis z mikrobloga

Mireczki z pod tagu #webdev. Piszę sobie w ramach nauki w vanilla #php (front-end też) projekcik taki żeby wsadzić co nie co na gita, żeby nie świecił pustkami. Projektem tym jest dziennik elektroniczny, taki jak teraz w większości szkół jest. Mam jednak problem z zaprojektowaniem bazy danych, jakieś tam proste relacje z użytkownikami, ocenami, przedmiotami to nie problem, problem jest w tym że ja chce rozdzielić użytkowników na "rodzaje" osób, a dokładniej na Nauczycieli, Uczniów, Rodziców + oczywiście panelik admina. Teraz pytanie, jak to rozdzielić? Logowanie działa na zasadzie sprawdzania Peselu/emaila oraz hasła z tabeli (tabela użytkownicy będzie miała podstawowe dane na temat każdej osoby - dopiero w tabelach nauczyciele lub uczniowie będą zależne od osoby informacje (klasa do której uczęszcza, jakiej klasy ma wychowawstwo itp.)), jakie tabele/relacje zapisać i jak to ogólnie ogarnąć? Ma ktoś jakiś sensowny pomysł? Baza we współpracy z #mysql .
  • 8
a nie możesz dać po prostu kolumny na uprawnienia


@kuskoman: Tak to nie jest dobry pomysł. Każde typ powinien mieć oddzielną tabele. Mniej danych, większe bezpieczeństwo.
@Dawiducik: Nie zaczynaj od projektowania bazy danych. Zaprojektuj to na obiektach, w jaki sposób się ze sobą komunikują. Do tego możesz użyć na przykład PhpSpec.

Swoją drogą uczenie się "vanilla #php" trochę bez sensu, bo zamiast uczyć się jak faktycznie pisać systemy komputerowe to 99% czasu spędzisz na mało istotnych rzeczach w stylu "jak zrobić połączenie z bazą, żeby to miało sens", a i tak nie będzie miało sensu, bo
@DanioPL: @Dawiducik: Oczywiście, że nauka "vanilla php" jest ważna, oczywiście, jeśli chcesz poznać język a nie framework. Zabawna była dyskusja na PHPers, w której do dość banalnego zadania związanego z przetwarzaniem HTML-a szukano bundli i bibliotek frameworkowych, choć odpowiednie biblioteki (w tym wypadku tidy) są standardowym rozszerzeniem PHP.

Co będzie, jeśli poznawszy Symfony wylądujesz w firmie, w której pracują w ZF2, Kohanie, CodeIgniterze, CakePHP, Slimie, Phalconie albo w ogóle mają
@DanioPL: Dzięki wielkie za ten kawał tekstu, chociaż nie uważam że "czyste php" jest świetnym pomysłem, bo już się naczytałem na ten temat, że nie ma potrzeby wynajdywać koła drugi raz, po prostu chce coś więcej popisać na podstawach, nauczyć się składni, a dopiero potem wkraczać we frameworki. Tak samo jeśli chodzi o tą zajebistość pisania w czystym php to również się nie zgodzę, bo nikt pewnie nie przyjmuje do pracy
@singollo: ale co oznacza "znasz język", potrafisz napisać foreacha? Potrafisz napisać ifa? Jak chcesz nauczyć się PHP to porób tutoriale w necie, są strony gdzie musisz rozwiązać zadania w danym języku przecież. Serio myślisz, że pomoże mu napisanie wiecznie psującego się kolosa i wrzucenie tego na github? :D Pisanie w czystym PHP systemu o tym poziome skomplikowania jedynie spowoduje, że dostaniesz raka dupy, a w efekcie nie będziesz umiał nic.

Co
@DanioPL: foreach to jest zaledwie znajomość składni. Ale fajnie by było, żeby ktoś znał podstawowe interfejsy, wbudowane klasy, potrafił napisać lambdę czy wywołać metodę statyczną na klasie o nieznanej nazwie.
Poza tym - o ile się orientuję - to jeden z aktualnych trendów polega na oddzielaniu logiki biznesowej od frameworka.