Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] sprintf('%s at %s (%s)'
estiv
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.09.2010

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


witam,
mam taki przyklad z symfony

  1. public function __toString()
  2. {
  3. return sprintf('%s at %s (%s)', $this->getPosition(), $this->getCompany(), $this->getLocation());
  4. }


moglby ktos wytlumaczyc jak to dziala? tzn wiem ze przerabia na stringa, ale co konkretnie robi to
Kod
%s at %s (%s)

?
czemu po prostu nie moglo by byc samego
return $this->getPosition();
i tak dla kazdego? pewnie tak, zeby mniej pisac, ale moglby ktos wytlumaczyc dzialanie tego wzorca?

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
essey
post
Post #2





Grupa: Zarejestrowani
Postów: 118
Pomógł: 5
Dołączył: 9.07.2003
Skąd: Wołów/Wrocław

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


Zasada działania jest bardzo prosta. Całość jest opisana pięknie tutaj: sprintf.

A po chłopsku tłumacząc. Sprintf służy do zwracania ciągu znaków o określonym formatowaniu.
W tym wypadku zwrócony zostanie np: 'Pozycja at Firma (lokalizacja)'.
Alternatywą tej funkcji było by:
  1. public function __toString()
  2. {
  3. $string = $this->getPosition() .' at '. $this->getCompany() .' ('. $this->getLocation() .')';
  4. return $string;
  5. }
Z tymi nawiasami, kropkami itd. oszaleć można, a i tak ich mało (IMG:style_emoticons/default/winksmiley.jpg) Definitywnie sprintf jest wygodniejsze i przejrzystsze.

Pomogłem choć troszkę?

Ten post edytował essey 24.09.2010, 23:23:03
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: 19.09.2025 - 18:41