Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] sprintf('%s at %s (%s)'
Forum PHP.pl > Forum > Przedszkole
estiv
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
essey
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 winksmiley.jpg Definitywnie sprintf jest wygodniejsze i przejrzystsze.

Pomogłem choć troszkę?
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.