[PHP]Kalkulator OOP |
[PHP]Kalkulator OOP |
29.03.2013, 12:02:43
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) |
Witam, czas najwyższy przerzucić się na OOP, a więc zacząłem standardowo od napisania kalkulatora i (najpierw kod)
index.php :
kalkulator.class.php
i teraz tak: powyższy kod działa, z tym, że na stałe jest wpisane dodawanie, a ja chciałbym zrobić jakieś warunki if($_POST['dzialanie']=="-") to odejmowanie itd, niestety nie wiem jak stworzyć w OOP warunki, a drugie pytanie czy ten kod, który wstawiłem ma w ogóle coś wspólnego z OOP ? ;> Dzięki z góry... -------------------- |
|
|
29.03.2013, 12:12:28
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
Cytat niestety nie wiem jak stworzyć w OOP warunki A co ma warunek wspólnego z OOP?? Nic.... Do robienia warunków używa się IF, niezależnie czy to OOP czy nie..... IF chyba umiesz używac?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
29.03.2013, 12:16:03
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 26.07.2012 Ostrzeżenie: (0%) |
Ten post edytował falcon85 29.03.2013, 12:16:46 |
|
|
29.03.2013, 12:17:42
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) |
Ok, dzięki Wam w takim razie, myślałem, że w OOP robi się to jakoś inaczej...
-------------------- |
|
|
29.03.2013, 12:18:28
Post
#5
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 4 Dołączył: 10.08.2009 Ostrzeżenie: (0%) |
Warunki OOP? Co masz na myśli? Warunki masz wszędzie takie same bez względu na to czy piszesz strukturalnie czy obiektowo. Warunek to warunek. Jeżeli zaś chodzi o Twoją klasę, to utwórz sobie więcej metod np. "dodaj", "odejmij" etc. W pliku index.php sprawdzaj jaki operator został wybrany i wywołuj odpowiednią metodę z klasy "kalkulator". Prosty przykład:
index.php
kalkulator.class.php
|
|
|
29.03.2013, 13:10:02
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 24.03.2013 Ostrzeżenie: (0%) |
Warunki OOP? Co masz na myśli? Warunki masz wszędzie takie same bez względu na to czy piszesz strukturalnie czy obiektowo. Warunek to warunek. Jeżeli zaś chodzi o Twoją klasę, to utwórz sobie więcej metod np. "dodaj", "odejmij" etc. W pliku index.php sprawdzaj jaki operator został wybrany i wywołuj odpowiednią metodę z klasy "kalkulator". Prosty przykład: <?php include('kalkulator.class.php'); $kalkulator = new kalkulator; switch($_POST['dzialanie']) { case '+': echo $kalkulator->dodaj($_POST['pierwsza'], $_POST['druga']); break; case '-': echo $kalkulator->odejmij($_POST['pierwsza'], $_POST['druga']); break; // etc } ?> [/php] Ty chyba sobie żartujesz z tym switchem.
Ten post edytował g2g3 29.03.2013, 13:11:09 |
|
|
29.03.2013, 18:55:02
Post
#7
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) |
switch też może być...
ważniejsze to chyba zwalidować. Coś na kształt: $pierwsza = intval($_POST['pierwsza']) albo $pierwsza = floatval($_POST['pierwsza']) wtedy upewniamy się, że na pewno będziemy operować na liczbach (bo użytkownik może cokolwiek wpisać, nawet jakieś głupoty). Ten post edytował PrinceOfPersia 29.03.2013, 18:56:03 -------------------- |
|
|
29.03.2013, 19:19:24
Post
#8
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 4 Dołączył: 10.08.2009 Ostrzeżenie: (0%) |
@g2g3: widzę, że specjalista się trafił. Powiedz co jest złego w podanym przeze mnie przykładzie?
@PrinceOfPersia: zamiast korzystać z funkcji "intval()", lepiej rzutować te zmienne na inta imo. Walidacja to podstawa, ale o to trzeba się już samemu postarać. @Down: Podałem jeden ze sposobów rozwiązania problemu i nigdzie nie napisałem, że tak się powinno pisać obiektowo, także oszczędź sobie te durne komentarze, bo się ośmieszasz. Poza tym, interesujące jest to, że potrafisz określić czyjąś wiedzę po przeczytaniu kilku wypowiedzi na forum, zdumiewające. Polecam iść się mądrzyć gdzie indziej, panie "ekspert". Dyskusję uważam za zamknięta, nie mam zamiaru offtopować, a w dodatku szkoda mi czasu na takich delikwentów Ten post edytował devbazy 30.03.2013, 16:30:13 |
|
|
30.03.2013, 14:10:57
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 1 Dołączył: 24.03.2013 Ostrzeżenie: (0%) |
@g2g3: widzę, że specjalista się trafił. Powiedz co jest złego w podanym przeze mnie przykładzie? @PrinceOfPersia: zamiast korzystać z funkcji "intval()", lepiej rzutować te zmienne na inta imo. Walidacja to podstawa, ale o to trzeba się już samemu postarać. To co napisałeś w ogóle mija się z pisaniem obiektowym, mądrujesz się, a wiedzy brak. Uwierz, mam większe doświadczenie. Kolega który to propsuje chyba ma podobnie. |
|
|
Wersja Lo-Fi | Aktualny czas: 11.06.2024 - 07:12 |