Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przykładowa aplikacja w PHP OOP
gagatek
post 28.12.2013, 17:43:24
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


chciałbym przeglądnąć i przeanalizować kod aplikacji napisanej w php obiektowym. Wydaje mi się że w ten sposób najlepiej bym zrozumiał cały proces tworzenia aplikacji obiektowych. Chodzi mi o przesyłanie danych wyświetlanie ich obsługę bazy danych. Czy wiecie skąd można by było taką przykładową aplikacje podejrzeć, jak jest zbudowana i zaimplementowana?
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 19)
com
post 28.12.2013, 17:48:09
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


google php oop examples mysql questionmark.gif
Go to the top of the page
+Quote Post
sf
post 28.12.2013, 17:49:44
Post #3





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

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


Zacznij pisać używając jakiegoś frameworka to zrozumiesz jego budowę wink.gif Zend Framework (1 na start), Symfony czy Kohana...


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
gagatek
post 28.12.2013, 18:05:17
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


Cytat(com @ 28.12.2013, 17:48:09 ) *
google php oop examples mysql questionmark.gif

Tak, to już przeglądałem. Ale nie do końca się rozumiemy. Nie chodzi mi o jakieś fragmenty jak połączenie z bazą, tworzenie obiektu, zwierzęta, koty itd itp. Chodzi mi o konkretną apl żeby można było zobaczyć jak to wszystko wygląda w całości i żeby zobaczyć jak powinna wyglądać poprawnie zrobiona apl w obiektowym php, jak te wszystkie "części" aplikacji ze sobą współgrają.

Cytat(sf @ 28.12.2013, 17:49:44 ) *
Zacznij pisać używając jakiegoś frameworka to zrozumiesz jego budowę wink.gif Zend Framework (1 na start), Symfony czy Kohana...

Czy uważasz że lepiej zacząć obiektowe programowanie od razu od frameworka? Znajomy ma książke do ZF Pana Gajdy. Tylko właśnie czy lepiej zacząć od czystego PHP czy Frameworka?
Go to the top of the page
+Quote Post
pedro84
post 28.12.2013, 18:22:18
Post #5





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Najpierw zacznij od przyswojenia teorii, popartej czytaniem i analizowaniem kodu źródłowego.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
com
post 28.12.2013, 18:29:18
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Tak wgl to czym wdg Ciebie są frameworki? przecież one są pisane w tym samym php, jedynie zaimplementowany jest w nich model projektowy mvc, a ponadto na nich opiera się te Twoje konkretne aplikacje... a oop z samego kodu się nie nauczysz bo jego można napisać na tyle sposobów ile jest programistów.. Trzeba zrozumieć czym wgl ono jest a wtedy tego typu pytania nie bd przychodziły Ci do głowy smile.gif
Go to the top of the page
+Quote Post
gagatek
post 28.12.2013, 19:43:53
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


teorie, podstawy znam, ale chodzi mi o taki ogólny szkielet prawidłowo napisanej apl a OOp
Go to the top of the page
+Quote Post
Turson
post 28.12.2013, 23:05:39
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


No to właśnie zajrzyj do jakiegoś frameworka, bo tam można dobry przykład OOP
Go to the top of the page
+Quote Post
em1X
post 11.01.2014, 10:06:42
Post #9





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


1) symfony2 - http://symfony.com/doc/current/cookbook/index.html
2) Zend Framework2 - http://framework.zend.com/manual/2.2/en/us...e/overview.html


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
marcinek37
post 21.01.2014, 18:49:29
Post #10





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


dołączam się do prośby - nie ma nic prostszego?
też szukam najbanalniejszego frameworka, w którym dla testu byłby tylko jeden moduł

próbuję pisać swój własny ( http://www.speedyshare.com/FHVGe/mvc.rar ), ale stanąłem na widokach i nie wiem co dalej :/
Go to the top of the page
+Quote Post
em1X
post 21.01.2014, 23:09:37
Post #11





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Laravel jest hitem ostatnich miesięcy...
http://laravel.com/docs/quick

Ten post edytował em1X 21.01.2014, 23:09:59


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
zegarek84
post 22.01.2014, 14:10:33
Post #12





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(marcinek37 @ 21.01.2014, 18:49:29 ) *
próbuję pisać swój własny ( http://www.speedyshare.com/FHVGe/mvc.rar ), ale stanąłem na widokach i nie wiem co dalej :/

przepraszam, że nie mam czasu na przeglądanie kodu więc rzucę tylko hasłami jeśli chodzi o widoki gdzie samo PHP jest w sumie systemem szablonów i jako takie były jego pierwsze w sumie początki... luknij po prostu na poniższe tematy jako wstęp jeśli na siłę próbujesz zrozumieć co się dzieje w gotowych FW, a dalej po prostu skorzystaj z jakiegoś gotowca ;]
PHP Template, Includowanie pliku
[PHP]Podstawy obiektowości, na przykładzie bloga


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
marcinek37
post 23.01.2014, 14:20:39
Post #13





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


generalnie w tym pliku: http://www.speedyshare.com/FHVGe/mvc.rar
wykorzystałem bardzo podobny kod, o którym pisałeś w jednym w tametów
ja jednak szukam pomysłu na jego lepsze wykorzystanie (bądź po prostu poprawne wykorzystanie)

1. powiedzmy, że mam dwa główne szablony:
- zielony.php
- niebieski.php

oba są tak naprawdę ramami strony, mają top, lewe i prawe menu, stopkę, a na środku (content) jest jedynie zmienna $content, która czeka na wartość

2. następnie mam kilka plików wizualnych, np. news.php albo info.php, w których jest div i kilka zmiennych typu $title, $text, $photo
controller ładuje plik wizualizacyjny newsa, za pomocą skryptu zmienne są zamieniane przez wartości "wyplute" przez model

3. dopiero wtedy to, o o czym mowa w punkcie 2. jest ładowane do tego, o czym mowa w punkcie 1.

i to mi się nie podoba, bo Twoja funkcja jest wykorzystywana dwukrotnie (dokładnie tak, jak w moim skrypcie, do którego linka podałem na początku postu)
oczywiście mógłbym to zignorować i budować aplikację dalej, ale sądzę, że jak w końcu postanowiłem porządnie programować, to nie mogę sobie na to pozwolić
Go to the top of the page
+Quote Post
em1X
post 23.01.2014, 14:24:34
Post #14





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Jak szukasz lepszych/poprawnych, to przestań pisać własne rozwiązania i wynajdywać koło od początku, tylko skorzystaj z gotowych/sprawdzonych/testowanych rozwiązań.


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
marcinek37
post 23.01.2014, 14:42:21
Post #15





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


rozumiem, czyli Wy robicie dokładnie tak samo?
w kontrolerze ładujecie widok contentu, zamieniacie zmienne na wartości "wyplute" przez model
następnie całość wysyłacie również w kontrolerze do ogólnych ram szablonu?

piszę coś swojego od podstaw i nie chcę na samym początku zrobić mega bubla
Go to the top of the page
+Quote Post
zegarek84
post 23.01.2014, 14:47:55
Post #16





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(marcinek37 @ 23.01.2014, 14:20:39 ) *
...
i to mi się nie podoba, bo Twoja funkcja jest wykorzystywana dwukrotnie (dokładnie tak, jak w moim skrypcie, do którego linka podałem na początku postu)
oczywiście mógłbym to zignorować i budować aplikację dalej, ale sądzę, że jak w końcu postanowiłem porządnie programować, to nie mogę sobie na to pozwolić

włączać/wyłączać szablon/widok, zagłębiać szablony/widoki możesz tylko buforując strumienie wyjścia przez ob_start itd... przejrzyj kody źródłowe popularnych FW klas z widokami które dają znacznie większe możliwości ale też i są znacznie bardziej rozbudowane... jak dokopiesz się do podstawowych rozwiązań znajdziesz tam kombinację ob_start itd...

OOP - to programowanie zorientowane obiektowo, wykonywanie kodu jak się analizuje jest jakby od wejścia w dół/głąb porównując do programowania proceduralnego/liniowego... przy OOP możesz nawet odwrócić sterowanie, daje to wiele możliwości, ale podstawowy problem leży w tym, iż wielu myli OOP z programowaniem obiektowym, gdzie to nie do końca to samo...

jeśli masz kilka warstw widoku to musisz kilka razy zbuforować wyjście... przykład pseudokodu
// TRESC
ob_start();
$tresc = ob_get_contents();
ob_end_clean();

// SZABLON
ob_start();
...
echo $tresc;
...
$strona = ob_get_contents();
ob_end_clean();

niby wydaje się to drugie buforowanie nie potrzebne, jednak jeśli np. widoki masz proste gdzie nie popełnisz błędów a dodatkowo chcesz przechwycić wyświetlane błędy by je ładnie wyświetlić czy coś w ten deseń np. jak w ZF to będzie Ci potrzebne jeszcze jedno buforowanie... oczywiście jeślii nie zamierzasz wyświetlać danego widoku czy go generować to go nie wyświetlasz...



--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
marcinek37
post 23.01.2014, 15:38:46
Post #17





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


ok, teraz rozumiem
czyli wychodzi na to, że wykonałem to poprwnie w moim szkielecie - sądziłem, że może istnieje jakieś lepsze rozwiązanie

ostatnio widziałem coś takiego, że ładowany był tylko content, ale on z kolei miał na początku i na końcu indludowane pliki typu "top.php" i "footer.php"
ale wydaje mi się, że to gorsze rozwiązanie

i tak przy okazji, czym się różni programowanie obiektowe od OOP?
skoro OOP to skróc od object-oriented programming, co w tłumaczeniu brzmi właśnie programowanie obiektowe
Go to the top of the page
+Quote Post
zegarek84
post 23.01.2014, 23:45:43
Post #18





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(marcinek37 @ 23.01.2014, 15:38:46 ) *
...
i tak przy okazji, czym się różni programowanie obiektowe od OOP?
skoro OOP to skróc od object-oriented programming, co w tłumaczeniu brzmi właśnie programowanie obiektowe

OOP (ang. object-oriented programming) (dosłowne tłum. to "programowanie zorientowane obiektowo") jest rozwinięciem poprzednich technik (prog. liniowe, proceduralne, i właśnie obiektowe). OOP to jest bardziej filozofia budowania aplikacji, niż metoda programowania. Jako tłumaczenie OOP można by też napisać, że jest to "myślenie zorientowane obiektowo". OOP zawsze też jest programowaniem obiektowym, ale programowanie obietowe nie koniecznie musi być programowaniem zorientowanym obiektowo... korzystając np. z PDO możesz rozszerzyć klasę i ją dostosować do własnych potrzeb programując obiektowo, ale obiekty te mogą być jakby luźne w aplikacji i większość tej aplikacji może być napisana z wykorzystaniem kodu poprzez rozszerzenie klas, tworzenie potrzebnych instancji obiektu ale aplikacja może być napisana jakby w stylu proceduralnym z wykorzystaniem tych obiektów...

w OOP najczęściej na wejściu masz jeden obiekt/klasę startujący, gdzie przekazujesz sterowanie aplikacji i zagłębiasz się w głąb hierarchi elementów kompozycji (dynamiczne dodatkowe obiekty najczęściej będące składowymi obiektu) lub sterując dynamicznie aplikacją tworzysz w metodach odpowiednie obiekty gdzie znowu możesz się zagłębiać, taka struktura drzewiasta jakby inne if'y dla mnie... zależy jak aplikacja jest zaprojektowana ale w ten sposób często można też odwrócić sterowanie jeśli coś po drodze jakiś obiekt niżej w hierarchii zadecyduje (typowe kontrolery np.), przy aplikacjach pisanych w C++ czy JAVA wiele obiektów sterujących najczęściej będzie utworzona raz i zapisana w zmiennych obiektu nadrzędnego (kompozycja) gdyż aplikacje tego typu najczęściej działają inaczej niż typowe aplikacje PHP, na ogół po prostu stale (wyjątkiem będzie napewno większość aplikacji konsolowych)... JAVA niby wymusza paradygmat OOP przez utworzenie na start obiektu z metodą main(...), co nie znaczy, że dalej wszyscy będą pisali aplikację w stylu OOP...

sorki, że się rozpisałem i nie wiem, czy mnie zrozumiałeś ;p


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Greg0
post 24.01.2014, 00:28:00
Post #19





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


Może jakiś micro-framework? Silex lub Slim? Co prawda nie ma tam MVC ale przykład zbudowania aplikacji oop jak najbardziej.
Go to the top of the page
+Quote Post
marcinek37
post 24.01.2014, 21:01:59
Post #20





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


zgłupiałem po przeczytaniu postu zegarka84...

zrozumiałem tylko tyle, że OOP to bardziej złożona aplikacja
generalnie nie można napisać frameworka opartego na schemacie MVC bez OOP - dobrze rozumiem?

problem w tym, że jestem samoukiem i niektórych informatycznych pojęć nigdy nie zrozumiem :/
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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 - 07:53