Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Programowanie obiektowe
Forum PHP.pl > Forum > PHP
mayu11
Witam, piszę struktualnie i wiele słyszałem, że OOP jest wiele lepsze...


1. Czy możecie podać jakieś konkretne przykłady w czym?
2. Czy gdy używam "function xx()" to też jest jakaś część OOP?
3. Czy wszystko można rozpisać obiektowo?


Nie dotyczące programowania obiektowego.
Wstęp do pytania 1:
Ostatnio widziałem coś podobnego do tego:
  1. if($cośtam : $cośtam2 ?

1. Co oznacza ten zapis?
Mikz
Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
1. Czy możecie podać jakieś konkretne przykłady w czym?

Czy przeczytałeś jakikolwiek kurs który dotyczy programowania obiektowego?
Wszędzie masz masę przykładów.

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
2. Czy gdy używam "function xx()" to też jest jakaś część OOP?

Może być to zarówno obiektowe jak i proceduralne. Zależy czy deklaracja jest w kontekście klasy (np. public function xx() ) czy w kontekście globalnym (tak jak napisałeś).

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
3. Czy wszystko można rozpisać obiektowo?

Wszystko można, lecz nie zawsze jest sens.

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
Ostatnio widziałem coś podobnego do tego:
  1. if($cośtam : $cośtam2 ?

1. Co oznacza ten zapis?


Nie tak wygląda ten zapis.
To wygląda tak:
  1. echo $warunek ? 'spełniony' : 'niespełniony';

Tłumaczy się na:
  1. if ($warunek)
  2. echo 'spełniony';
  3. else
  4. echo 'niespełniony';


Można stosować zarówno przy echo, jak i przy argumentach funkcji i w ogóle w wielu miejscach jest to wygodne, ale nie należy przesadzać bo nie jest nadzwyczajnie czytelne.
Crozin
Cytat
if($cośtam : $cośtam2 ?
Jak już to raczej mogło tam być
  1. if($cośtam : $cośtam2 ? $costam3)
I jest to po prostu zwykła instrukcja IF, a w jej wnętrzu tzw. Ternary operator.

Co do pytań:
1) Pozwala na łatwiejsze odwzorowanie typowych sytuacji/problemów,
2) Częścią OOP jest wszystko to co w jakiś sposób operuje na obiektach - chociaż to nie do końca dobrze napisałem
3) W gruncie rzeczy to tak
Mikz
Cytat(Crozin @ 2.07.2010, 21:39:57 ) *
  1. if($cośtam : $cośtam2 ? $costam3)


Przepraszam za offtopa, ale wygląda mi to nieco bezsensownie. Albo jedno albo drugie, po co łączyć oba ze sobą?
Crozin
Cytat
Przepraszam za offtopa, ale wygląda mi to nieco bezsensownie. Albo jedno albo drugie, po co łączyć oba ze sobą?
Nie pytaj mnie tylko autora kodu, który widział autor wątku. winksmiley.jpg
  1. if($a ? $b : $c)
Można zapisać jako:
  1. if (($a && $b) || $c)

Jednak pod względem składni jest to zapis jak najbardziej poprawny, chociaż jakiegoś konkretnego, logicznego przypadku użycia dla czegoś takiego też nie potrafię znaleźć.

Cytat
Nie tak wygląda ten zapis.
To wygląda tak:
  1. echo $warunek ? 'spełniony' : 'niespełniony';

A guzik prawda. Ten operator nie ma kompletnie nic wspólnego z echo czy jakąkolwiek inną instrukcją języka.
mayu11
Dziękuję za odpowiedzi, czytałem wiele artykułów na temat OOP, jednak troszkę mnie to przeraża [Potrzebne źródło 1 => Potrzebne źródło2]
Może jak w nowej szkole ktoś będzie to rozumiał i będzie się mu chciało mi to przekazać to się zdecyduję, ale tymczasowo nie za bardzo mnie do tego ciągnie.

Nowy projekt 'Zarny' zacznę strukturalnie.
Jeszcze raz dziękuję i pozdrawiam.
Mikz
Cytat(Crozin @ 2.07.2010, 21:51:28 ) *
A guzik prawda. Ten operator nie ma kompletnie nic wspólnego z echo czy jakąkolwiek inną instrukcją języka.

Zgadza się, to był tylko przykład, tylko bardziej sensowny niż ten z if() smile.gif. Aha, przepraszam jeżeli to pytanie odebrałeś personalnie, wiem że nie Ty wymyśliłeś tą treść i wyraziłem tylko swoje zdziwienie.

Cytat(mayu11 @ 2.07.2010, 21:53:17 ) *
Dziękuję za odpowiedzi, czytałem wiele artykułów na temat OOP, jednak troszkę mnie to przeraża
(...)
Nowy projekt 'Zarny' zacznę strukturalnie.
Jeszcze raz dziękuję i pozdrawiam.


Bez sensu, lepiej poświęcić trochę czasu teraz na zrozumienie o co w tym chodzi niż potem poświęcić 4x więcej czasu na próby przerabiania proceduralnego kodu. Naprawdę winksmiley.jpg

Poszukaj po prostu lepszych artykułów :]. Aha, no i oczywiście pytaj jeśli nie rozumiesz, tylko raczej w dziale "Przedszkole" bo tu mogą Cię zjechać za zbyt proste pytania.
Crozin
Cytat
Bez sensu, lepiej poświęcić trochę czasu teraz na zrozumienie o co w tym chodzi niż potem poświęcić 4x więcej czasu na próby przerabiania proceduralnego kodu. Naprawdę
Dobrze napisany kod proceduralny nie musi wymagać przepisania. Więcej... źle napisany obiektowy jest większą udręką niż strukturalny.

btw: kod strukturalny a proceduralny to dwie inne rzeczy - więcej w wiki.
Mikz
Cytat(Crozin @ 2.07.2010, 22:15:03 ) *
btw: kod strukturalny a proceduralny to dwie inne rzeczy - więcej w wiki.

Przepraszam, masz rację, zgeneralizowałem trochę.

Cytat(Crozin @ 2.07.2010, 22:15:03 ) *
Dobrze napisany kod proceduralny nie musi wymagać przepisania. Więcej... źle napisany obiektowy jest większą udręką niż strukturalny.

Tutaj masz rację, ale problem przychodzi w momencie w którym musisz dodać nową funkcjonalność lub przerobić starą (np. dodać więcej możliwości).
Wtedy robi się nieprzyjemnie.

No, ale ja jestem zwolennikiem obiektowości, może stąd taka moja opinia. Po prostu uważam że przy dużych projektach obiektowość wielokrotnie ratuje od utonięcia w g*wnie.

mayu11 -> Generalnie żeby nie było że nic nie wnoszę do tematu, napiszę tylko że jeśli zależy Ci na elastycznym i czytelnym kodzie, przyswój sobie OOP, choćby po to żeby decyzję o tym, czy swój nowy projekt napisać obiektowo, podjąć świadomie. Polecę Ci ten artykuł po to żebyś miał jaśniejszy pogląd na sytuację.
pedro84
Cytat(Mikz @ 2.07.2010, 22:18:28 ) *
Tutaj masz rację, ale problem przychodzi w momencie w którym musisz dodać nową funkcjonalność lub przerobić starą (np. dodać więcej możliwości).
Wtedy robi się nieprzyjemnie.

Zależy o jakiej funkcjonalności mówisz, zauważ, że jak kod masz fatalnie napisany, to nawet to, że jest pisany obiektowo niezbyt wiele zmieni.

Cytat(Mikz @ 2.07.2010, 22:18:28 ) *
No, ale ja jestem zwolennikiem obiektowości, może stąd taka moja opinia. Po prostu uważam że przy dużych projektach obiektowość wielokrotnie ratuje od utonięcia w g*wnie.

Popieram w stu procentach. Mnie nie raz ratowała winksmiley.jpg

@autor: OOP zawsze warto poznać i wykorzystywać w swoich projektach. Może trochę dziwnie to zabrzmi, ale jakoś ciężko byłoby mi napisać (w sensie - dać się do tego przekonać) bez użycia OOP.
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.