Takie pytanko OOP

0

Witam Wszystkich,

Mam takie pytanko.
Przymierzam się do zrobienia dość dużego projektu opartego na php + baza danych.
I zanim rozpocznę pisanie kodu to chciałbym się spytać o taką rzecz:

Czy wszystkie moje klasy zapisywane do jednego pliku i robić include w pliku.php które będzie korzystała z tych klas

Czy robić kila plików w których będę miał klasy i potrzebne klasy będe ładował do pliku.php?

0

Robić kilka plików.

Szczególnie że jeśli dopiero zaczynasz, to Twoje klasy będą się pewnie rozrastały do sporych rozmiarów. To taka nie intuicyjna, ironiczna sprawa: gdy masz zakodować coś skomplikowanego, to jedynie doświadczony, dobry programista będzie w stanie podzielić to na niewielkie, zgrabne, współpracujące ze sobą klasy (przy odrobinie szczęścia nawet nie przesadzi i nie zrobi miliona malutkich klas ;) ).

Ja polecam nawet zastosowanie konwencji znanej z języka Java -- jedna klasa, jeden plik. Niektórzy nazywają pliki, które zawierają pojedynczą klasę, w stylu NazwaKlasy.class.php.

0

A co z dołączaniem ich do użytku jeżeli będzie ich bardzo dużo?

0

@szeryf_tu_byl:
Ha! Dobre pytanie!

Masz co najmniej dwie opcje. Pierwsza to liczyć na to, że nie będzie katastrofy i że użyć require_once (include_once) nie będzie aż tak wiele. Bo zbyt duża ich liczba może świadczyć o zbyt skomplikowanych zależnościach -- klasa mogłaby wtedy mieć zbyt wielu współpracowników.

W dobrym kodzie każda klasa współpracuje z kilkoma klasami (zwykle 3 lub mniej, czasem trochę więcej szczególnie gdy używasz jakichś skomplikowańszych kontenerów) i robi Ci się z tego takie drzewko. Dołączasz ze dwie klasy, z którymi będziesz współpracował, a one już dołączają swoich współpracowników, którzy dołączają swoich i nawet nie wiesz kiedy, a masz te kilka czy kilkanaście include'ów.

To jednak nie do końca pro rozwiązanie. W małych projektach jest OK, ale jeśli od początku uważasz, że z dołączaniem klas mogą być problemy...

...to poczytaj o automatycznym ładowaniu klas (ang. autoload). To zostało stworzone specjalnie po to, by rozwiązać Twoje problemy :). Do tego warto ogarnąć funkcje SPL związane z autoload.

0

A jeszcze się spytam o taką rzecz, czy jest ono prawidłowe.
Mam przygotowane formularze do rejestracji osób, firm.
Dane z formularza chcę zapisać do bazy danych wiec utworzyłem sobie katalogu \skrypty
w katalogu tym mam skrypty php pobierające dane z formularza ( mehtod='POST' )

Czy tworzenie skryptu dla każdego formularza i trzymanie ich w określonym katalogu jest prawidłowym podejściem?

0

Poczytaj o wzorcu projektowym MVC (Model-View-Controller), to jedno najsensowniejszych rozwiązań wielu problemów (miedzy innymi Twojego) z jakimi można się spotkać przy większym projekcie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1