Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: traits zmiana nazwy implementowanej metody
Forum PHP.pl > Forum > PHP > Object-oriented programming
starach
Nieco się chyba oszukałem. Czytając dokumentację do traits zrozumiałem że za pomocą as można zmienić widoczność i nazwę metodzie którą implementuje dany trait.

  1. trait TCostam
  2. {
  3. public function getCostam()
  4. {
  5. return $this->blah;
  6. }
  7. }
  8.  
  9. class A
  10. {
  11. use TCostam {
  12. getCostam as protected getPluskPlask;
  13. }
  14. protected $blah = 'plusk plask';
  15. public function getCostam() { return 'costam'; }
  16. }


Niestety w takim przypadku skubaniec mi się zawiesza. Nic kompletnie się nie dzieje. Żaden fatal error po prostu udaje że go nie ma. Doczytałem w dokumentacji że za pomocą as mogę nadać funkcji alias. Czy jest jakaś możliwość zmiany nazwy funkcji wdrażanej przez dany trait?
Pyton_000
  1. use TCostam {
  2. TCostam::getCostam as protected getPluskPlask;
  3. }

questionmark.gif
starach
Cytat(Pyton_000 @ 31.07.2015, 09:27:24 ) *
  1. use TCostam {
  2. TCostam::getCostam as protected getPluskPlask;
  3. }

questionmark.gif


Nie to nie było to ... typowy "ja" skopiowałem linijkę use TCostam; tak że były dwa razy w klasie i nie zauważyłem...
by_ikar
Dokładnie tak jak @Pyton pokazał: http://php.net/manual/en/language.oop5.tra...traits.conflict pytanie którą dokumentacje czytałeś ?
starach
Dokumentację czytałem dobrą ( właśnie tą ) tylko chyba przy użyciu nie tych oczu co trzeba. ^^
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-2024 Invision Power Services, Inc.