Napisane: 1.11.2012, 18:17:44 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Nie używaj zagnieżdżonego operatora trójkowego, bo jest strasznie mało czytelny i trudno później go debugować. Problem tkwi w pierszeństwie operatorów, to co napisałeś jest równoważne temu: A zapewne chciałeś osiągnąć: Radziłbym abyś sobie to zmienił na prostego ifa, tak jak mówiłem nie używaj podwójnego/potrójnego itp. operatora trójkowego:
|
Forum: PHP · Podgląd postu: #1003222 · Odpowiedzi: 2 · Wyświetleń: 258 |
Napisane: 28.10.2012, 10:32:30 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
To powinno być zrobione w walidatorze, zdarzenia prePersist itp. nie do tego służą. Możesz napisać swój customowy lub wykorzystać walidator Callback i stworzyć metodę w modelu, która dokonuje walidacji. |
Forum: Frameworki · Podgląd postu: #1002399 · Odpowiedzi: 3 · Wyświetleń: 314 |
Napisane: 23.06.2012, 22:57:27 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Cytat Ale Action jest klasą abstrakcyjną. To utwórz jej testową klasę konkretną, mocki nie służą do tego.
|
Forum: Object-oriented programming · Podgląd postu: #972042 · Odpowiedzi: 8 · Wyświetleń: 897 |
Napisane: 15.12.2011, 19:51:26 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Cytat Ciekawi mnie, czy Doctrine pobierałby aktualności automatycznie, czyli w momencie stworzenia obiektu przy pomocy ww. zapytania, czy w momencie, kiedy skorzystam z $user->getNews(). W obydwóch przypadkach nie zostaną zaciągnięte aktualności, aktualności zostaną zaciągnięte gdy wywołasz jakąś operację która wymaga fizycznie obiektów z kolekcji, np. metody z interfejsu iteratora (przejście przez pętle), czy metodę count (przy domyślnej konfiguracji relacji). Dodanie jakiegoś elementu do kolekcji również nie powoduje załadowania kolekcji, gdyż ta operacja nie wymaga tego aby kolekcja była zainicjalizowana. |
Forum: Object-oriented programming · Podgląd postu: #922690 · Odpowiedzi: 7 · Wyświetleń: 942 |
Napisane: 12.11.2011, 15:40:37 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Np. wtedy gdy w domyśle nie iterujesz po tablicy, tylko wyznaczasz dynamicznie wartości. Przykładem może być iterowanie po dużych kolekcjach obiektów, której nie chcesz wczytywać na raz do pamięci, gdyż jest to nie wydajne, ale tworzysz na żądanie pojedyncze obiekty w iteratorze, czyli w jednym momencie w pamięci istnieje jeden obiekt który jest zwracany przez iterator. Szczerze powiedziawszy to już dawno temu ostatni raz implementowałem czysty interfejs Iterator, jest wiele dobrych iteratorów w spl (iteratory rekursywne, iteratory iterujące po plikach w systemie plików, iteratory filtrujące, keszujące itp), które wystarczają w większości przypadków |
Forum: Object-oriented programming · Podgląd postu: #913719 · Odpowiedzi: 4 · Wyświetleń: 1 045 |
Napisane: 12.11.2011, 14:55:57 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
W tym przypadku najprostszym rozwiązaniem będzie implementacja IteratorAggregate, a w metodzie getIterator tworzenie i zwracanie obiektu ArrayIterator.
|
Forum: Object-oriented programming · Podgląd postu: #913709 · Odpowiedzi: 4 · Wyświetleń: 1 045 |
Napisane: 2.11.2011, 18:50:01 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
W php do stałym można jedynie przypisać wartości skalarne. Rozwiązaniem Twojego problemu będzie zbiór metod fabrycznych. Przykład użycia:
Metody te możesz zaimplementować w taki sposób, aby zawsze dana metoda zwracała ten sam obiekt, a nie tworzyła nowych (wzorzec flyweight). |
Forum: PHP · Podgląd postu: #910868 · Odpowiedzi: 4 · Wyświetleń: 322 |
Napisane: 19.10.2010, 19:28:32 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Wydaje mi się, że w pętli modyfikujesz (zwiększasz) tablicę apartments, a to że za każdym razem wywoływany jest count($apartments) powoduje że pętla wykonuje się masakryczną liczbę razy do momentu aż pamięci brakuje. Wyciągnij liczenie elementów tablicy $apartments przed pętle i przypisz do zmiennej, którą wstawisz w miejsca, gdzie obecnie wywołujesz funkcję count. |
Forum: PHP · Podgląd postu: #799255 · Odpowiedzi: 4 · Wyświetleń: 831 |
Napisane: 25.09.2010, 12:30:37 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #792870 · Odpowiedzi: 2 · Wyświetleń: 605 |
Napisane: 3.07.2010, 12:58:56 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
leprze rozwiązanie to wyrażenie regularne np preg_match Chyba nie wiesz do czego służą wyrażenia regularne. Do tego zadania najlepsza jest funkcja strpos (szybsza od strstr) |
Forum: PHP · Podgląd postu: #761863 · Odpowiedzi: 4 · Wyświetleń: 1 560 |
Napisane: 21.06.2010, 21:58:23 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
No nie do końca narzuca typ prezentacji, bo wykorzystanie szablonu o rozszerzeniu *.php/*.tpl/*.html nie jest równoznaczne z tym, że widok będzie kodem html - może być dokumentem xml, json, txt, czy pdf itp. Przykładowo w "szablonie" mogą znajdować się reguły tworzące dokument pdf, które zostają odpowiednio wykorzystane przez widok do wygenerowania prezentacji (np. w najprostszym przypadku zaincludowane w odpowiednim miejscu metody renderującej). Myślę że Twoja implementacja widoku w mvc jest podobna do tej co jest w znanych mi frameworkach (symfony, zf). Swoją drogą pozostaje kwestia, czy ta interpretacja wzorca mvc jest prawidłowa - są podzielone zdania na ten temat, ale jak wiadomo wzorce projektowe nie są sztywną regułą, mają wiele implementacji |
Forum: PHP · Podgląd postu: #758038 · Odpowiedzi: 2 · Wyświetleń: 670 |
Napisane: 9.06.2010, 22:58:17 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #754475 · Odpowiedzi: 2 · Wyświetleń: 585 |
Napisane: 6.06.2010, 21:43:30 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
W symfony masz do wczytywania/zapisywania plików yaml stosowne klasy. Znajdują się one w folderze yaml, interesować powinny Cię sfYamlDumper oraz sfYamlParser |
Forum: Frameworki · Podgląd postu: #753445 · Odpowiedzi: 5 · Wyświetleń: 1 091 |
Napisane: 29.05.2010, 19:37:40 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Tworzysz akcję error404 w module np. default, ustawiasz go w settings.yml jako akcja do obsługi błędu 404, a w tej akcji przekierowujesz lub forwardujesz do strony głównej. Inny sposób to regułka (na samym dole pliku routing.yml): url: /* Aczkolwiek wg mnie przy literówce użytkownik powinien być przekierowany na stronę błędu, w której zawrzesz np. informację o tym, czy oby na pewno adres jest poprawny. Jeśli użytkownik zostanie przekierowany na stronę główną, a spodziewał się czegoś innego, to zwyczajnie pomyśli "wtf" - ale to już kwestia użyteczności. |
Forum: PHP · Podgląd postu: #751146 · Odpowiedzi: 7 · Wyświetleń: 931 |
Napisane: 30.03.2010, 17:29:55 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
klik Obecnie mój plugin ma dodaną jeszcze jedną funkcjonalność i został trochę poprawiony, ale wersja udostępniona na stronce powinna spełnić wymagania |
Forum: Frameworki · Podgląd postu: #730976 · Odpowiedzi: 1 · Wyświetleń: 592 |
Napisane: 21.02.2010, 22:36:41 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Zasobów nie da się serializować, a najwidoczniej w tym obiekcie masz uchwyt curla. Rozwiązanie to zamykanie zasobu w metodzie serialize (ew. __sleep), a tworzenie go na nowo w metodzie unserialize (ew. __wakeup). |
Forum: PHP · Podgląd postu: #716109 · Odpowiedzi: 3 · Wyświetleń: 681 |
Napisane: 4.02.2010, 19:44:49 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
translate.google.pl ;] |
Forum: Poszukuję · Podgląd postu: #709519 · Odpowiedzi: 9 · Wyświetleń: 1 219 |
Napisane: 2.02.2010, 16:53:30 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Sprawdź http://pecl.php.net/package/uploadprogress Z tego co kiedyś czytałem (nie pamiętam, czy to było akurat o tym rozszerzeniu, teraz się w to nie zagłębiałem) dzięki tej bibliotece można zrobić to co napisałeś, czyli np. sprawdzić w czasie uploadu ile bajtów już dotarło na serwer. |
Forum: PHP · Podgląd postu: #708678 · Odpowiedzi: 11 · Wyświetleń: 3 509 |
Napisane: 21.12.2009, 16:02:34 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: Frameworki · Podgląd postu: #693661 · Odpowiedzi: 4 · Wyświetleń: 700 |
Napisane: 25.10.2009, 13:07:03 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Składnia pętli foreach się kłania. Cytat |
Forum: Przedszkole · Podgląd postu: #673967 · Odpowiedzi: 2 · Wyświetleń: 326 |
Napisane: 17.10.2009, 18:51:15 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
To normalne zachowanie, gdyż jak forwardujesz do kolejnej akcji, to zostanie wyświetlony widok nie tej akcji z której, ale do której się forwarduje. Jeśli chcesz przekazać jakieś parametry między akcjami to musisz ustawić je w requeście:
|
Forum: Frameworki · Podgląd postu: #671836 · Odpowiedzi: 2 · Wyświetleń: 558 |
Napisane: 11.10.2009, 20:27:05 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Próbujesz zapisać niepoprawne dane do bazy danych. Doctrine ma takie coś jak walidatory: http://www.doctrine-project.org/documentat...data-validation Walidację możesz wyłączyć poprzez ustawienie odpowiedniego atrybutu np. w klasie konfiguracyjnej projektu (ale nie wiem czy to ma jakiś wpływ na integrację doctrine z symfony)
|
Forum: Frameworki · Podgląd postu: #669947 · Odpowiedzi: 4 · Wyświetleń: 882 |
Napisane: 5.09.2009, 11:33:49 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
musisz napisać metodę doSelectXxx, która złoży z wyniku zapytania odpowiednią hierarchię klas, zobacz jak wygląda metoda doSelectJoinAll i zrób coś na ten wzór. |
Forum: Frameworki · Podgląd postu: #657632 · Odpowiedzi: 2 · Wyświetleń: 592 |
Napisane: 29.08.2009, 12:38:54 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #655151 · Odpowiedzi: 9 · Wyświetleń: 1 589 |
Napisane: 16.08.2009, 15:12:26 | |
Grupa: Zarejestrowani Postów: 304 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) |
Cytat zabawa z globalami wiem ze to nie jest nurt oop ale wazne ze dziala i to bardzo dobrze. Oj, wstydziłbyś się pisać takie coś w forum o OOP oraz podawać taki zbereźny kod... Jeśli już chcesz takie coś osiągnąć, to poczytaj o metodach magicznych __get() oraz __set(), one są rozwiązaniem Twojego problemu, a nie jakieś zmienne globalne... Edit: jako iż mam dobry humor napiszę Ci uproszczone rozwiązanie Twojego problemu (pisane z palca):
Powinno nawet działać bez metod magicznych __get i __set (ułomność php). Jednak najlepszym rozwiązaniem tego problemu będzie utworzenie odpowiednich składowych tej klasy. To składowe służą do tego celu, który chcesz osiągnąć, czyli przykładowo:
|
Forum: Object-oriented programming · Podgląd postu: #649222 · Odpowiedzi: 8 · Wyświetleń: 1 301 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 9.05.2024 - 23:21 |