Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pisanie skryptow, Organizacja kodu
track
post 28.01.2005, 21:26:10
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam wszystkich grupowiczow. Nie wiedzialem gdzie rzucic taki post, wiec umieszczam go tutaj. Mam takie pytanie do specjalistow. Chodzi o organizacje kodu przy pisaniu skryptow. Przykladowy skrypt rejestrujacy uzytkownikow. Najpierw pojawia sie formularz, pozniej formularz jest przesylany do analizy (czy wszystkie pola zostaly podane) i w podejmowana jest jakas akcja. Moze pytanie jest nastepujace. Jaka powinna byc najlepsza struktura takowego skryptu.

1. Jeden plik np. register.php, a w nim 2 zdefiniowane funkcje
- pierwsza wyswietlajaca funkcje
- druga dodajaca uzytkownika
i wiadomo, ze po przeslaniu formularza z registe.php --> register.php sprawdzane sa wartosci pol i wtedy, gdy pola sa puste wywolywana jest formularz(), a gdy nie to rejestruj() i wszystko gra.

2. Bez funkcji, a np. formularz w oddzielnym pliku, czy moze wszystko w jednym pliku?

Czy to zalezy od programisty, czy moze sa jakies ogolno przyjete reguly pisania?

Mam jeszcze jedno pytanie. Czy istnieje jakas mozliwosc sprawdzenia czy formularz jest zostal wyslany (tak jak podalem w 1 punkcie)? Czy musze definiowac przykladowe pole HIDDEN i je sprawdzac?

Z gory dzieki za odpowiedz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
sf
post 28.01.2005, 21:59:10
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Wszystko zależy od programisty. Na początek do użytku strukturalnego mogę polecić taki schemat.

/* index.php */

zalaczenie pliku z konfiguracja, do obslugi bazy danych i innych

sprawdzanie czy uzytkownik jest zalogowany, jak nie to include formularz logujacy

sprawdzenie akcji (action) (czyli np. jesli zostal wyslany formularz) i wykonanie podanych instrukcji, mozna tez sprawdzic czy dany uzytkownik ma prawa do tej akcji - sprawdzamy za pomoca isset, jesli pojawil sie jakis blad to zapisujemy go do zmiennej $error, mozna tez dodac zmienna do informacji, ze cos sie tam udalo

// wyswietlanie

wyswietlenie gory (header)

jezeli jakies bledy w action sie pojawily to wyswietlamy go
jezeli jest jakas informacja z action to mozna ja wyswietlic

wyswietlenie strony (page)

wyswietlenie dolu (footer)

/* koniec pliku */

Akcje (action) i strony (page) trzymamy w osobnych katalogach. Np.
./action/addnews.php
./action/deletenews.php
./page/news.php

Model tez zaczerpnolem ze strony phorum.org (wersja 3 forum, katalog admin -> index.php). 5 wersja ma juz chyba troche inna budowe nie przegladalem jej do konca.

W formularzach trzeba ustawiac w <form action="?page=nazwe_ktora_ma_byc_zaladowana_po_wykonaniu_akcji" method="post">

Ten post edytował sf 28.01.2005, 22:03:18


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
Leezard
post 29.01.2005, 10:33:27
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 19.09.2004
Skąd: Uć

Ostrzeżenie: (0%)
-----


no to teraz ja mam pytanie do sf:

radzisz umieszczac wszystko w jednym pliku i formularze submitowac do $PHP_SELF z odpowiednia nazwa akcji? wiec teraz zalozmy ze na stronie index.php mam formularz rejestracji i chce go wyslac, robie wiec submit formularza do action=?register, tak?
I co sie teraz dzieje? czy index.php parsuje sobie tego urla ktorego dostal i wywoluje odpowiiedni plik akcji czyli register.php? jesli tak to co po wykonaniu skryptu register.php? czy wracamy do index.php przekazujac w header() odpowiednie zmienne do informacji usera o roznych rzeczach, czy jak? I co w przypadku jesli na index.php mamy jakies linki ktore odnosza nas do innych stron? czy one tez maja byc z href=?nazwa_strony, i rowniez parsowane przez index.php i wywolywana ma byc odpowiednia akcja (tylko co ona robi?)

troche sporo pytan, ale temat jak dla mnie dosyc ciekawy, chcialbym zaczac pisac takie rzeczy w sposob jak najbardziej efektywny, bo obecny zdaje sie nie byc optymalny przy duzych projektach, a wykorzystanie jakigos takiego modelu wykonywania zadan jest dosyc ciekawe winksmiley.jpg


z gory dzieki za info, i moze jakies zrodelka, gdzie to jest opisane od poczatku jakos, albo pod jakimi haslami tego szukac


--------------------
Nie rób nic na siłę - weź większy młotek ;)
Go to the top of the page
+Quote Post
track
post 29.01.2005, 13:07:36
Post #4





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ja osobiscie wszystkie mam zazwyczaj jeden plik "index.php" i do niego includuje wszystkie pliki wywolywane przez jakikolwiek link w postaci <a href=index.php?id=strona>xxx</a>. Tylko moje pytanie nie tyczylo sie includowania do index.php. Chodzilo mi oto, czy lepiej takie rzeczy jak formularz i proces rejestracji zrobic jako funkcje i pozniej odpowiednio od wymagan wstawiac jedno albo drugie.

Ogolnie chodzi mi oto, czy lepiej wrzucac poszczegolne czesci pliki jako funkcje i zawierac wszystko w jednym pliku (formularz rejestracyjny itd.) czy lepiej rozbijac wszystko na male pliki?
Go to the top of the page
+Quote Post
Nievinny
post 29.01.2005, 13:20:07
Post #5





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Myślę, że jeden plik z klasą wystarczy + szablon formularza (jeśli używasz smarty lub innego parsera templatów)

W klasie byłyby funkcje odpowiadające za poszczególne działania. Zgodne z PHP5 (i z 4 też, bo jeśli nie piszesz pod 5, ale i tak się przyda bo kiedyś będziesz musiał wykonać migrację) i takrze będziesz miał trochę OOP w swoim kodzie...

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:53