Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%)
|
Posiadam klasę HFilters:
IFilter wygląda następująco:
Mam problem z zaimplementowaniem kolejności wykonywania metod pre() i post() w HFilter wg ustalonwej wagi podanej w metodzie add(). Czy ktoś ma jakiś pomysł? Ten post edytował sf 7.03.2007, 13:30:49 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Proste.
Zamiast HFilters::aFilterList daj HFilters::aPreFilterList i HFilters::aPostFilterList. Potem przy wrzucaniu daj:
A na końcu wykonaj filtry, uwzględniając powyższe zmiany. P.S. Zamiast pętli po tablicach nie lepiej użyć iteratorów? P.S.2 Po co Ci & w konstruktorze? update (po przemyśleniu) Tak w ogóle to moim zdaniem źle się za to zabrałeś. Skoro (na to przynajmniej) metody pre() i post() są widocznie rozłączne to czemu nie dasz:
Miałbyś wtedy łańcuchy filtrów. Każdy taki łańcuch wywołałby wszystkie swoje filtry niezależnie i w dowolnej kolejności. Byłoby troszkę ładniej i przejrzyściej zorganizowane. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%)
|
Nie sprawdzi się jeśli ustawimy dla dwóch filtrów taką samą wagę, jeden nadpisze drugi.
P.S. Zamiast pętli po tablicach nie lepiej użyć iteratorów? W tym przypadku nie robi to raczej różnicy.. bo implemetnacja i tak nie wychodzi nigdzie na zewnątrz. Chyba, że itereatory są szybsze. P.S.2 Po co Ci & w konstruktorze? Mój głupi błąd. Dopisek: To musi być jedna klasa ponieważ np. załóżmy, że mamy filtr benchmark.. nie chce tworzyć benchmarkStart i benchmarkEnd. Wole to umieścić w jednej klasie. Ten post edytował sf 7.03.2007, 13:53:37 |
|
|
|
sf Filtry i kolejność wykonywania 7.03.2007, 13:29:42 
mike_mech Cytat(sf @ 7.03.2007, 13:51:43 ) Nie ... 7.03.2007, 13:55:07
sf Implementacja wcale nie jest taka prosta. Poniewa... 7.03.2007, 15:52:49 
mike_mech Cytat(sf @ 7.03.2007, 15:52:49 ) Impl... 7.03.2007, 19:20:47
Strzałek Rozwiązanie takich filtrów jak dla mnie jest ... 8.03.2007, 12:22:45 ![]() ![]() |
|
Aktualny czas: 17.11.2025 - 23:01 |