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 |
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Nie sprawdzi się jeśli ustawimy dla dwóch filtrów taką samą wagę, jeden nadpisze drugi. To u góry to był tylko zarys pomysłu.Już Twoja w tym działka jak stworzyć te tablice żeby się nie nadpisały. Przecież nie jest to nic strasznie trudnego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował mike_mech 7.03.2007, 13:55:53 |
|
|
|
sf Filtry i kolejność wykonywania 7.03.2007, 13:29:42
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: 18.11.2025 - 08:53 |