![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Wiecie co, jak wejdą te Traitsy w php a to już nie długo, to jak najszybciej będę chciał się przebranżowić z php na inny język, najbliżej mi do c++ albo javy.
Straszne rzeczy się będą działy w php... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Aj tam, a kto ci każe z nich korzystać? Nie chcesz to nie używaj.
Gorzej, gdy będziesz musial poprawiać kod po kimś, ale z tym zawsze są problemy niezależnie od traitsów a zalezne od wyobraźni pierwszego autora kodu (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Przecież te Traitsy nie będą miały nic wspólnego z polimorfizmem, co innego gdyby się dało użyć traitsu tylko takiego samego typu interfejsu, ale nie, tam sobie będziesz mógł zrobić latająco-szczekający-pływający but.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
tez nie widze korzysci tego mechanizmu...jedyne co to bedzie spaghetti code....czy jest odpowiednik tych traits'ow w python'ie czy C#?!?Pytam bo moze jest a nie wiem chociaz watpie
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie przesadzajcie, po pierwsze co całkiem użyteczny mechanizm jeśli będzie z głową używany (jak wszystko w programowaniu), po drugie od czego jest phpDoc, trzeba pisać komentarze.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wymienię parę elementów, które tylko skorzystają na traitsach.
EventDispatcher Iterator Collection Mocki/Stuby Dlaczego?
Oczywiście php znów spieprzył sprawę ponieważ traitsy powinno móc dodawać przy tworzeniu instancji klasy
Jak naprawdę głęboko się zastanowicie to Traitsy odwalają za was cała masę roboty. Należy ich tylko umiejętnie używać. Jak wyglądałby powyższy przykład w aktualnym php?
Zastanówcie się zanim zaczniecie wieszać psy nad rzeczami, które po prostu nie rozumiecie. Nie zamierzam dyskutować nad sensem traitsów z osobami, które nie wyszły z poziomu "Po co obiekty? Przecież wystarczą mi tablice i prefixowane funkcje!" oraz tych które nie rozumieją, że przy tworzeniu klas bardzo ważny jest ich minimalizm a nie pakowanie całej masy funkcjonalności (bardzo często nie korespondujących z założeniem klasy) bo "potem mogą się przydać". To takie uprzedzenie przed głupimi postami właśnie w powyższym stylu (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) ![]() ![]() |
Ja Panowie może i nie mam tyle doświadczenia co Wy i chciałem się zapytać jak interpretujecie poniższy cytat:
"A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies." - interpretacja to nie tłumaczenie... IMO mogą się przydać w mniejszych i większych aplikacjach. Gdy masz swoje biblioteki klas, lub kogoś klasy i chciałbyś użyć po części z wcześniejszych kodów - używasz traits i masz "jakby nową klasę" z funkcjami kilku wcześniej napisanych. Taki pakiet funkcji wyciągniętych ze starszego kodu. Skomplikowałem to :/. Czasem szybciej coś zbudować mając wszystko w jednym miejscu, które Tobie pasuje. Fakt można zrobić wtedy kombajn do wszystkiego i niczego, ale np. (ja tak myślę i prosiłbym o nakierowanie - bez wulgaryzmów hehe o ile błędnie myślę): Mam wiele klas, w nich wiele metod. Buduję nową aplikację i potrzebuje po jednej metodzie pasującej do mojej przyszłej aplikacji z każdej klasy - używam traits, aby mieć wszystko w jednym miejscu i później już z górki. Trochę to takie na siłę i pewnie nie będę tego używał - podobnie jak systemów szablonu. Mi marzy się framework, który można po swojemu ustawić. Tzn. Jakaś baza softu + klasy, funkcje pisane przez wszystkich innych i mnie. Mały framework, ale wariat. Te traits'y mogłyby takiemu frameworkowi pomóc. Np. wyobraźcie sobie wiele wiele wiele klas w chmurze, z chmury te kawałki klas sobie doklejasz do swojego serwisu poprzez panel administracyjny -> zagrożenie olbrzymie, ale w teorii fajnie by to funkcjonowało. Ale wiadomo teoria z praktyką ma nie za dużo wspólnego i IMO traitsy będą, nie każdy tego będzie używał, ale czy to tak wielce zmienia cały PHP żeby od niego odchodzić? Ten post edytował ixpack 25.10.2011, 12:57:12 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Straszne rzeczy się będą działy w php... Już się dzieją straszne rzeczy w php-cu nawet pomimo możliwości jaki oferuje. Ale to nie wynika koniecznie z języka ale naturalnego schematu "Wpadnięcia w sidła sukcesu". To tak samo jak z internetem i trollami.
Powód edycji: [wookieb]:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Nie dali wielodziedziczenia bo można byłoby burdel robić, to dają traitsy by robić jeszcze większy. Nie no dla mnie osom.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#12
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Pomysł połączenia interfejsu + traits (w jedno) to dopiero chory pomysł - interfejs powinien pozostać interfejsem, inaczej stal by się klasą.
Cytat("cojack") Wiecie co, jak wejdą te Traitsy w php a to już nie długo, to jak najszybciej będę chciał się przebranżowić z php na inny język, najbliżej mi do c++ albo javy. Przecież w Javie masz multidziedziczenie którego 'ulepszoną wersją' i rozwiązująca wiele problemów as własnie traits. Ponadto: "Traits class, a template class in the C++ programming language" Więc proszę rozwiń jakoś swoją myśl. A tak korzystając z traits możesz w klasie wskazać że korzystasz z konkretnego interfejsu (który jest już) i korzystając z triats zaimplementować go z głową. Od jakiegoś czasu jest w PHP GoTo i jak była wprowadzana to ludzie też mówili że będzie masakra. W gronie dobrych programistów Traits to świetne rozwiązanie w projektach, jeżeli myślisz ze czas zmienić język z tego powodu że ktoś będzie tego głupio używał, może powinieneś pomyśleć o zmianie ekipy?
Powód edycji: [hwao]:
|
|
|
![]()
Post
#13
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Cytuj cytuj (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
poczytalem troche o tych traitsach i na pierwszy rzut oka to wydaja sie niepotrzebne jednak ten wpis http://blog.wsoczynski.pl/2011/03/22/jezyk...hp-pt-3-traits/ rozjasnil mi troche idee ciekawa ta roznica pomiedzy dziedziczeniem poziomym a pionowym
|
|
|
![]()
Post
#16
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytuj cytuj (IMG:style_emoticons/default/smile.gif) Dodaj sobie do stopki: "@wookieb - cytowany przez najlepszych" (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie no jak ktoś ma zamiar wszędzie, do każdej jednej klasy używać triatsa to będzie to przesada. Ale tak jak są podobne obiekty, które mają podobną funkcjonalność triats dla nich jest całkiem fajnym rozwiązaniem. No tak mamy dziedziczenie, klasy abstrakcyjne, problem w tym że nie da się więcej niż jednej klasy dziedziczyć. A ludzie co robią konkretne spaghetti to pewnie nawet nie będą wiedzieć o takiej funkcjonalności (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Boje się traitsów po phpcon... (IMG:style_emoticons/default/wink.gif) -> https://twitter.com/#!/supernrm/status/...483177193943041
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
@normanos carpe diem
btw: widze ze php idzie na dobra droge nawet type hinting wprowadzili nie jest zle Ten post edytował marcio 25.10.2011, 14:05:26 |
|
|
![]()
Post
#20
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
@normanos carpe diem btw: widze ze php idzie na dobra droge nawet type hinting wprowadzili nie jest zle Przydałby się ten type hinting do każdego typu danych, a nie tylko Object i Array (IMG:style_emoticons/default/wink.gif) Ale to też podobno ma być. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 02:44 |