Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak zorganizować obiektową aplikację
Pulpetto
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 2
Dołączył: 17.02.2013

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


Hej.
Jako, że dopiero zacząłem uczyć się pisania obiektowego w PHP mam pewien problem z organizacją kodu. Otóż ucząc się programowania pisałem sobie aplikację, która strasznie mi się rozrosła i spodobała. Ma m.in takie funkcjonalności jak: logowanie, rejestracja użytkowników, wysyłanie wiadomości między użytkownikami, dodawanie treści przez użytkowników, newsletter, formularz kontaktowy itd itp. Ogólnie rzecz ujmując pisząc sobie ten kod bardzo wzorowałem się na funkcjonalności skryptu a'la demotywatory i próbowałem napisać dla przećwiczenia coś o podobnej funkcjonalności (bardzo szeroko zakrojonej (IMG:style_emoticons/default/tongue.gif) ). Ogólnie pisanie tego to był jeden wielki bajzel: pisałem funkcjonalność, wrzucałem do pliku, ten lądował w katalogu "functions" i tak na funkcjach bazując miałem w index.php miliony include(); dołączając wszystkie te funkcje i sklejając je jeszcze w innych plikach. Podejście było takie sobie ale działało.

Teraz ucząc się pisać obiektowo chciałbym przepisać to sobie w ramach ćwiczeń ale właśnie bazując na klasach. Natomiast nie do końca wiem jak sobie zorganizować pracę. Planuję najpierw określić funkcjonalności (typu: logowanie, newsletter, wiadomości itd), potem podzielić to na klasy, a następnie... No właśnie i co dalej? Każdą klasę do osobnego pliku i później znowu w index.php wszystko na kupę includować i robić tam obiekty? Nie ma kto mi podpowiedzieć jak to powinno wyglądać dlatego zwracam się do was (IMG:style_emoticons/default/smile.gif) Czy może mi ktoś zaproponować jak zorganizować sobie pracę żeby było to ładnie zaprogramowane?
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Zakładając najpopularniejszą na dzisiejsze czasy architekturę MVC + modularność

Struktura katalogów
Kod
app
   |-layouts
   |-configs
   |-modules
        |-admin_panel
               |-controllers
               |-models
                      |-db (zależnie z czego korzystasz)
                      |-forms (obsługa formularzy)
               |-plugins
               |-views
                       |-templates
                       |-helpers
         |-  -=-
   |-plugins
   |bootstrap.php lub frontcontroller.php

public
   |-scripts
   |-css
   |-images
   |.htaccess
   |index.php

core(tu lądują klasy obsługujące wszystkie aspekty aplikacji, sama aplikacja tylko je rozszerza)


Zanim zaczniesz przygodę z projektowaniem aplikacji zobacz sobie w dowolny framework jak tam jest to rozwiązane (IMG:style_emoticons/default/smile.gif)


ps. to tylko pomysł, sam musisz dojść metodą prób i błędów(lub ucząc się od lepszych np. z Yii, Zenda lub Symfony), która struktura jest najwygodniejsza (IMG:style_emoticons/default/smile.gif)
ps2. zamiast include - poczytaj o autoloading
Go to the top of the page
+Quote Post
Pulpetto
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 2
Dołączył: 17.02.2013

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


Hmm no tak, czytając troszkę o Zendzie (jakiś czas temu bo teraz chciałbym zabrać się za coś prostszego - polecaliście Yii) poznałem w miarę tę architekturę ale szczerze mówiąc chyba nie jestem gotowy sam napisać aplikacji od zera trzymając się mvc. Chyba w takim razie rozsądniejszym wyjściem będzie nauczenie się korzystania z Yii - w sumie jak zacząłem o nim czytać to mi się spodobał.

Jedynie prosiłbym o wyprowadzenie mnie z błędu. Otóż często słyszałem o Zendzie czy Symfony, widziałem książki o nich itd itp. a o Yii dowiedziałem niedawno i mam wrażenie (mam nadzieję, że złudne), że Yii jest "gorszy", czy "nie tak profesjonalny" jak Zend czy Symfony. Czy tak jest? Chodzi mi też o to ile rzeczy, które można napisać w Zendzie można napisać także przy użyciu Yii - czy w pewnym momencie przy jakiejś szczególnie dużej aplikacji będzie trzeb się przerzucić na Zenda czy Symfony czy taki Yii da radę?


//Edit:
A to jeszcze z innej beczki pytanie. Co w wypadku gdybym chciał napisać mniejszą aplikację, bez użycia Frameworka i MVC? Jakiej konwencji wtedy się trzymać? Warto się wtedy przemęczyć z dołączaniem wszystkich plików i budowaniem jakiejś trochę zabałaganionej struktury?

Ten post edytował Pulpetto 19.02.2013, 23:17:33
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Sam nie napisałem pełnej aplikacji pod Yii ale z tego co widziałem powinien dać radę większym projektom. Frameworka warto używać nawet w małych stronkach z dwóch powodów:
- raz napisaną aplikacje kopiujesz i używasz ponownie gdzie indziej
- dzisiaj strona, może być niewielka ale w razie konieczności rozbudowy strona na frameworku to cud-miód przy edycji w porównaniu z własnymi "wymysłami"
Go to the top of the page
+Quote Post
Pulpetto
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 2
Dołączył: 17.02.2013

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


Dobrze, posłucham Cię (IMG:style_emoticons/default/smile.gif) zabiorę się za poznanie Yii - może jest prostszy niż Zend i uda mi się z nim dogadać na początek (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 07:36