![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio, dość często rozmyślam nad różnorodnymi problemami, które napotkałem w swojej dotychczasowej karierze programisty.
Jednym z tych "problemów" jest dostarczenie klientowi pełnego interfejsu graficznego do obsługi jakiegoś serwisu. Wiadomo, pisanie tysiąca akcji (formularzy,list, itp.) nie leży do najprzyjemniejszych rzeczy. Prawdę mówiąc, ja tego nie nawidzę :-/. Najchętniej odesłałbym go do nauki phpMyAdmin/phpPgAdmin 'a (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Chciałbym Was zapytać jak Wy, radzicie sobie z tą "częścią" dostosowywania systemu do wymagań klienta? Sp 1. - piszemy wszystkie akcje administracyjne (narazie tak robię...) Sp 2. - piszemy "generator formularzy" który generuje je wg. schematu przekazujemy mu nazwy pól,typy i opis a on generuje resztę. Wiadomo, formularz dodawania newsa i artykułu jest podobny ;] Korzyści? Odpadają nam już administacyjne akcje-widoki. Minusy? To się gryzie z samą ideą gdyż generator generuje widok... Sp 3. - każda normalna akcja typu view. ma np. funkcję display() która pokazuje normalną treść oraz funkcja np. AdminDisplay() - widok dla administratora. Korzyści? Mniejsza ilość plików (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Macie jakieś inne pomysły? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie drugie - bynajmniej ja preferuję (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) - i jest cudowne.
A co do tego czy to się zgadza z założeniami czy nie - mnie to rybka (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) Napisanie czegoś takiego do łatwych nie należy - ja mając ustalony sposób nazewnictwa tabeli i pól jestem w stanie wygenerować ok 90% panelu administracyjnego (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 9.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No nie iwem czy 2 gryzie sie z MVC, w koncu generator moze wytworzyc dane ktore trafia do widoku, a widok odpowiednio sie ukrztaltuje wtedy... (stworzy sie odpowiedni formularz)
tez niedlugo bede pisal taki generator ale nie wiem czy sam pisac czy uzyc gotowca. Slyszalem cos o jakim generatorze QuickForm? ponoc walidacjie ma wbudowana na poziomie phpa jak i js... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) wiec moze ulatwic zycie. pzdr. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%) ![]() ![]() |
Cytat(radziel @ 2005-05-23 19:57:02) Ostatnio, dość często rozmyślam nad różnorodnymi problemami, które napotkałem w swojej dotychczasowej karierze programisty. Jednym z tych "problemów" jest dostarczenie klientowi pełnego interfejsu graficznego do obsługi jakiegoś serwisu. Wiadomo, pisanie tysiąca akcji (formularzy,list, itp.) nie leży do najprzyjemniejszych rzeczy. Prawdę mówiąc, ja tego nie nawidzę :-/. Najchętniej odesłałbym go do nauki phpMyAdmin/phpPgAdmin 'a (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Chciałbym Was zapytać jak Wy, radzicie sobie z tą "częścią" dostosowywania systemu do wymagań klienta? Sp 1. - piszemy wszystkie akcje administracyjne (narazie tak robię...) Sp 2. - piszemy "generator formularzy" który generuje je wg. schematu przekazujemy mu nazwy pól,typy i opis a on generuje resztę. Wiadomo, formularz dodawania newsa i artykułu jest podobny ;] Korzyści? Odpadają nam już administacyjne akcje-widoki. Minusy? To się gryzie z samą ideą gdyż generator generuje widok... Sp 3. - każda normalna akcja typu view. ma np. funkcję display() która pokazuje normalną treść oraz funkcja np. AdminDisplay() - widok dla administratora. Korzyści? Mniejsza ilość plików (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Macie jakieś inne pomysły? ja robie tak: mam model np katalog i rozne akcje (metody) w nim dostepne w zaleznosci od uprawnien danego uzytkownika, zalozmy ze zaloguje sie admin wtedy poprostu zminiam template na taki jaki odpowada adminowi, ew. formularze tworzy widok, niestety jeszcze nie zautomatyzowalem tego (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) co do QuickForm to zebym wiedzial ze mi to tyle namiesza to bym go nie uzyl ale teraz jak juz zaadoptowalem go do MVC to jest fajnie. Istnieje cos takiego jak QuicForm_controller ktory powstal do tworzenia wielostronnicowych formularzy przy pomocy QuicForm i jest zbudowany podobnie do klasycznego wzorca MVC, wystepuje tam pagecontroller aczkolwiek po tygodniu zmagania sie z tym rozwiazaniem stworzylem cos wlasnego co dziala lepiej wg mnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował squid 30.05.2005, 22:26:51 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Slyszalem cos o jakim generatorze QuickForm? @Ace - w PEAR-ze jest taki pakiet. |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
ja mam zamiar na dniach napisac taki generator formularza na podstawie zapytania z sqla. bede tworzyc kod klasy, formularz, itp. mam nadzieje ze da rade. ale jak da to bedzie pieknie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Taki kod znalazłem na Zendzie:
Klasa niezła, tylko przy pracy na kilku tabelach nie zdaje egzaminu :/ ... Ale mam przynajmniej zarys (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja na chwile obecna robie wszystko recznie. Staram sie tworzyc znormalizowane bazy danych dlatego tworzac jeden formularz zwykle musze "korzystac" z kilku relacji. Pobieram informacje do selectow, zapisuje dane z formularza. Lubie miec porzadek i staram sie dbac o bezpieczenstwo. Tak czy inaczej QuickForm jest dla mnie zbyt duzym uproszczeniem w negatywnym tego slowa znaczeniu.
Staram sie oczywiscie ulatwiac sobie robote. Staram sie pisac w miare uniwersalny kod do wielokrotnego uzytku. Podjalem tez probe napisania klasy, ktora na podstawie definicji tabel i ich wzajemnych relacji bedzie zdolna wygenerowac zapytanie sql dodajace, usuwajace lub zmieniajace wpis. Przy czym wczesniej sprawdzi czy wymagane dane są podane i czy ich format sie zgada. Klasa ma tez zaimplementowany prosty mechanizm antyflodowy uniemozliwiajacy dodanie dwoch identycznych, bezposrednio po sobie nastepujacych wpisow (np. przez odswierzenie strony). Narazie moje rozwiazanie jest malo elastyczne i czasmi sie zastanawiam czy mi ulatwia prace (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) czy raczej wrecz odwrotnie. Szczegolnie upierdliwe jest to definiowanie tabel i wymaganych wartosci. Mam jednak w planach automatyzacje tego procesu poprzez odczytanie definicji tabel zapisanych w formacie sql. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bigZbig @ 2005-06-07 14:48:32) [...] Podjalem tez probe napisania klasy, ktora na podstawie definicji tabel i ich wzajemnych relacji bedzie zdolna wygenerowac zapytanie sql [...] A w jaki sposób ustalasz/przechwytujesz relacje między tabelami? "Stywno" je definiujesz czy gdzieś przechowujesz? //Byłbym wdzięczny za kawałek kodu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 3.07.2003 Skąd: Szczecin->niebuszewo->*(next to window) Ostrzeżenie: (0%) ![]() ![]() |
Cytat(radziel @ 2005-06-07 14:53:56) Cytat(bigZbig @ 2005-06-07 14:48:32) [...] Podjalem tez probe napisania klasy, ktora na podstawie definicji tabel i ich wzajemnych relacji bedzie zdolna wygenerowac zapytanie sql [...] A w jaki sposób ustalasz/przechwytujesz relacje między tabelami? "Stywno" je definiujesz czy gdzieś przechowujesz? //Byłbym wdzięczny za kawałek kodu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) latwo jest wykryc relacje w dobrze zaprojektowanej bazie danych np. poprzez istnienie takich samych nazw kolumn w roznych tabelach (w projektowanych przezemnie bazach dancych najczesciej klucze obce maja ta sama nazwe co w tabeli pierwotnej). Nieco trudniej bylo by wykryc jakie typu jest to relacja 1:n czy 1:1 ale nie wiem czy to akurat byloby istotne |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja tez przyjmuje podobna zasadę co do nazewnictwa ale nie zawsze to sie sprawdza. Podam przyklad.
Kod PRACOWNIK
----- #id_pracownik imie nazwisko id_szef // gdzie id_sze jest kluczem obcym tabeli PRACOWNIK // id_szef jest tak naprawde identyfikatorem innego pracownika // mowiac inaczej kazdy jest pracownikiem, ale niektorzy sa tez szefami dla innych |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Ja też deinuje na sztywno tyleże robie to inaczej
Kod pracownicy : pracownik_id | nazwa szefowie : szef_id | nazwa polaczenia: pracownik | szef Pierwsze pole w tabelach autoicrementowanych zawiera po podkresleniu id natomiast w tabelach gdzie sa jakies odowlania tego id juz nie. Roziwązuje to mi problemy przy zapytaniach zożonych np. z JOIN'ami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I całą masę innych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:19 |