Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Drzewo
Forum PHP.pl > Inne > Hydepark
Nightwalker
Witam,
Od jakiegoś czasu zastanawiam się jak lepiej pisać większe skrypty, tzn czy ograniczając do kilku plików (chodzi mi o pliki wywolywane przez usera w przegladarce) tak jak jest to w IPB, czy kazda 'funckje (logowanie, wylogowanie, rejestracja) w osobnym pliki tak jak ma to miejsce w phpfussion, jakie jest Wasze zdanie na ten temat?

Pozdravki
sf
Jeden plik jedna klasa ;-) Tylko plik uruchomieniowy zawiera wywolanie obiektu na bazie klas(y).
em1X
Zgrywanie kazdej funkcji do osobnego pliku to juz chyba przerost formy nad trescia tongue.gif Chyba lepiej poustawiac w jakies funkcjonalne bloki typu klasa per plik.

Poza tym: poucz sie UML. Diagram klas bardzo ułatwia pracę..
Master Miko
A może tak podajcie wszyskie linki z których czerapliście najwięcej... a potem może ktoś z góry wrzuci to na oop5 na wiki? Bo jak patrzyłem teraz to tak mało jakoś info na ten temat jest... a jest to najważniejsze w dobrym programowaniu w php5... a nawet PODSTAWA.
Nightwalker
Mi chodzi o to czy pisać w postaci np

index.php?showtopic=33

czy

showtopic.php?id=33

Oraz

index.php?act=rules

czy

rules.php

Jak wg Was (zaawanasowanych) jest lepiej

Pozdravki
Master Miko
Wszystko zależy od projektu i od admina. Rób tak, żeby było jak najwygodniej i zwracaj wiele uwagi na wydajność.

poza tym. Jeśli jest to mały skrypt-system który zajmuje mniej niż 50kb oczywiście opłaca się to robić przez index.php?act=rules (np. księga gości). Ale jeżeli to jest jakiś większy projekt, czy forum, czy portal to wygodniej jest to robić w oddzielnych plikach. Wszystko zależy od Twojej koncepcji

I tak jak mówił em1X poucz się UML.
Nightwalker
hmm, przykładowo IPB jest bardzo dużym skryptem a większość plików wykonywalnych jest przez index.php ;]

Aktualnie pisze system a'la photobucket (wgrywanie zdjec, rejestracja, albumy, komentowanie itp), jak lepiej zorganizować "drzewo" (dodam że skrypt nie ujrzy światła dziennego) ?

Co do UML to przy wolnej chwili koniecznie o tym poczytam winksmiley.jpg

Pozdravki
Master Miko
no tak IPB jest dużym skryptem, ale jak widać autorom było wygodniej (i może wydajniej) napisać większość w pliku index smile.gif

Rozumiem, że w sensie drzewo chodzi Ci o rozplanowanie plików? Ja bym zrobił tak - wszystko w index.php i tylko wgrywanie zdjęć w oddzielnym pliku.
SongoQ
@em1X
Cytat
Zgrywanie kazdej funkcji do osobnego pliku to juz chyba przerost formy nad trescia


Mozesz swoja wypowiedz uzasadnic?
ActivePlayer
u mnie logiczny podzial katalogow wyglada mniejwiecej tak:
Kod
/actions - uzywa tego co w models i classes
/models - wszystko co ma kontakt ze zrodlem danych i na nich operuje
/classes - klasy
/configs - konfigi
/filters - przed i po skrypcie includuje to stad.
   /pre
   /after
/cache - na smieci smartowe i inne
/templates
index.php - standard
panel.php - zwyczajowo bo potrzebny czasem jest :)

index.php
- includuje calosc plików (wiem ze to nie jest optymalne ale.... olalem to:) -a tak po prawdzie to napisalem skrypcik ktory sklada wszystkie .php do jednego pliku i potem tylko on jest includowany )
- uruchamia wszystko w filters/pre
- uruchamia akcje ktorej zada user
- uruchamia wszystko w filters/after
i domyslnie display'uje smarta na ekran
athabus
Ja też piszę wszystko przez index.php?cośtam
Próbuje pisać zgodnie z MVC i wydaje mi się, że tak jest najłatwiej. Przy czym jedna kwestia nie daje mi spokoju: niektórzy piszą "wszystko w index" - mam nadzieję że to tylko taki skrót myślowy biggrin.gif
U mnie plik index to po prostu taki wielki zawiadowca, który poza zawiadowaniem i includowaniem niczego konkretnego nie robi
em1X
Cytat(SongoQ @ 25.05.2006, 08:28 ) *
@em1X

Mozesz swoja wypowiedz uzasadnic?


Wyobrazasz sobie 1000 funkcji w oddzielnych plikach ? Jak tak to przepraszam blink.gif
mike
Cytat(em1X @ 25.05.2006, 11:22 ) *
Wyobrazasz sobie 1000 funkcji w oddzielnych plikach ? Jak tak to przepraszam blink.gif

A Ty widziałes aplikację, która ma 1000 funkcji, nie związanych ze sobą?
Bo właśnie takie powinny iśc do oddzielnych plików.

Jeśli są powiązane jakoś ze sobą, to wtedy budujesz klasę.
em1X
Nie kazałem widziec, kazałem sobie wyobrazic winksmiley.jpg
Radarek
Cytat(sf @ 16.05.2006, 06:15 ) *
Jeden plik jedna klasa ;-) Tylko plik uruchomieniowy zawiera wywolanie obiektu na bazie klas(y).


Cytat(em1X @ 16.05.2006, 09:06 ) *
Zgrywanie kazdej funkcji do osobnego pliku to juz chyba przerost formy nad trescia tongue.gif Chyba lepiej poustawiac w jakies funkcjonalne bloki typu klasa per plik.

Poza tym: poucz sie UML. Diagram klas bardzo ułatwia pracę..


Cytat(SongoQ @ 25.05.2006, 06:28 ) *
@em1X

Mozesz swoja wypowiedz uzasadnic?


Panowie, panowie. sf pisał o klasach, a em1X o funkcjach. 1 klasa = 1 plik to bardzo dobre rozwiązanie, wiesz gdzie szukać implementacji klasy. Z funkcjami to raczej bez sensu, jak już coś to zbiór powiązanych ze sobą funkcji w 1 pliku. Nie ma się o co spierać;).
em1X
Przeczytalem `funkcje`. Jezeli chodzi o klasa per plik to jestem jak najbardziej za.. sam stosuje taka konwencje Classname.class.php. Porządek to podstawa party.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.