Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Return, jaki sens, jakie zadania?
teez
post 28.02.2013, 17:41:46
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


Witam!

Właśnie rozpoczynam naukę OOP z książką PHP obiekty, wzorce, narzędzia. Po paru lekcjach otrzymałem m.innymi taki kod:

  1. <?php
  2. class ShopProduct {
  3. public $numPages;
  4. public $playLength;
  5. public $title;
  6. public $producerMainName;
  7. public $price;
  8.  
  9. function __construct($title, $firstName, $price, $numPages = 0, $playLength = 0){
  10. $this->title = $title;
  11. $this->producerMainName = $firstName;
  12. $this->price = $price;
  13. $this->numPages = $numPages;
  14. $this->playLength = $playLength;
  15. }
  16. function getProducer() {
  17. return "{$this->producerMainName}";
  18. }
  19. function getSummaryLine() {
  20. $base = "{$this->title} ( {$this->producerMainName} )";
  21. return;
  22. }
  23. }
  24.  
  25.  
  26. ?>


I teraz mam pytanie, po co return? Do czego tu służy? Jakie ma zadanie? Pewnie błaha sprawa, ale przeszukując google natrafiam jedynie na zagraniczne witryny. Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
buliq
post 28.02.2013, 17:53:12
Post #2





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


hmm, metoda jest niepełna. Co chcesz zrobić z tym $base? Co to za próba wywołania?

$this->title ( {$this->producerMainName} )

To przecież nie ma sensu.


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
teez
post 28.02.2013, 17:57:54
Post #3





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


Mniejsza o kod, chodzi mi o zadania return. Kiedy go używać i do czego głównie służy.

Trochę potestowałem i użyłem return do
  1. function drukuj(){
  2. return "{$this->title}</br>".
  3. "{$this->producerMainName}</br>".
  4. "{$this->price}</br>".
  5. "{$this->numPages}</br>";
  6. }


Lecz, czy ma ono jeszcze jakieś inne zadania?

Ten post edytował teez 28.02.2013, 18:05:02
Go to the top of the page
+Quote Post
viking
post 28.02.2013, 18:05:34
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Do natychmiastowego przerwania wykonywania funkcji i zwrócenia wartości. Jeśli tak wygląda kod w kursie to go zwyczajnie wyrzuć do kosza.


--------------------
Go to the top of the page
+Quote Post
teez
post 28.02.2013, 18:07:41
Post #5





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

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


Kod w kursie tak nie wygląda. Sam po prostu pomieszałem. Ok, temat do zamknięcia.
Go to the top of the page
+Quote Post
buliq
post 28.02.2013, 18:08:46
Post #6





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Polubiłbym post wyżej.

To co wyrzuca return uzyskujesz w miejscu wywołania, musisz tego jeszcze użyć jakoś np echo $this->drukuj();


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
Fifi209
post 13.03.2013, 00:34:03
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


I takie coś:
  1. return "{$this->producerMainName}";


Polecałbym zmienić na:
  1. return $this->producerMainName;


Unikniesz wielu kłopotów, a poza tym... Doczytaj o używaniu cudzysłowów "


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
matix
post 18.03.2013, 09:16:47
Post #8





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


A ja od siebie dorzucę:

  1. function getSummaryLine() {
  2. return sprintf("%s (%s)", $this->title, $this->producerMainName);
  3. }


Cóż za code review:D

Ten post edytował matix 18.03.2013, 09:19:58


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
Fifi209
post 18.03.2013, 12:35:00
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


@up
To akurat jest poprawne, mam na myśli sposób formatowania.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
thek
post 18.03.2013, 13:35:04
Post #10





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




True... Poprawny i często stosowany, zwłaszcza w przypadku wyjątków.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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: 24.07.2025 - 15:31