Zaloguj się, aby obserwować  
Lurrcio

Webmastering - HTML, PHP, JavaScript, edytory - temat ogólny

1333 postów w tym temacie

Czy stosowanie taktyki :

Zaawansowane funkcje tworzyć jak zbiór funkcji w klasach w ramach biblioteki,

A pospolite funkcje bez klas w osobnej bibliotece. <Rezygnacja z metod by zwiększyć wydajność>

Będzie godziło wydajność i (czytelność kodu, prostotę, i molarność z rodu OOP)?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A czemu sądzisz, że wywołanie funkcji jest szybsze niż wywołanie metod?
Narzędzia (małe czy duże) agreguj w klasach w formie metod statycznych, a funkcje stosuj tylko jako callbacki czy closure''y.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zna ktoś jakąś stronę / publikację / książkę / etc. na temat OOP i/lub MVC w PHP? Niby znam podstawy obiektywności, ale nie umiem wykorzystać w praktyce. Zawsze wychodzi mi jedna super klasa ze wszystkimi metodami, albo jakieś inne potworki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.10.2011 o 00:48, Xantus napisał:

Zna ktoś jakąś stronę / publikację / książkę / etc. na temat OOP i/lub MVC w PHP? Niby
znam podstawy obiektywności, ale nie umiem wykorzystać w praktyce. Zawsze wychodzi mi
jedna super klasa ze wszystkimi metodami, albo jakieś inne potworki.


Nie znam niestety żadnej dobrej publikacji na ten temat, ale spytam przewrotnie: po co chcesz to wykorzystywać w praktyce? Bo skoro w tej chwili próbujesz korzystać z OOP/MVC i robisz to źle, to jak dla mnie wyraźnie widać, że potrzeba Ci po prostu pracy nad większymi projektami w grupie osób - a wtedy rozwiązania obiektowe natychmiast same się nasuną. Nie jestem pewien, czy jest inna droga - skoro wiedząc, czym są obiekty i klasy (podstawy obiektowości), pakujesz wszystko do jednego worka. Widocznie tak Ci jest wygodniej i dopóki to się nie zmieni, nie zaczniesz wykorzystywać pełni możliwości OOP w PHP. Tak na pocieszenie - przyjrzyj się w jaki sposób są skonstruowane najbardziej popularne i "nowoczesne" silniki open source''owe: phpBB3 - brak pełnego MVC (brakuje warstwy modelu - model jest przeplatany z kontrolerem), brak obiektowości, SMF2 - zerowy MVC, zero obiektów (wszystko zrealizowane na callbackach), Wordpress - brak pełnego MVC, brak obiektowości (funkcje, funkcje, funkcje i hooki). I tak dalej, i tak dalej.

O ile podążanie w kierunku OOP można uznać za obiektywnie słuszne, to już MVC nie należy traktować jak dogmatu i przyjmować go bezkrytycznie (istnieją zresztą konkurencyjne podejścia, np. MVT). Zwłaszcza jeżeli się go nie rozumie w pełni i potem tworzy się jedną ogromną klasę kontrolera, jedną ogromną klasę modelu i garstkę szablonów. MVC doskonale się sprawdza (i należy się go wtedy trzymać co do litery) w sytuacji, w której są trzy zespoły projektowe: programistów baz danych (model), programistów logiki biznesowej (kontroler) i grafików/HTML-owców (widok). Jak często taka sytuacja ma Twoim zdaniem miejsce w prawdziwym świecie PHP?

Jeżeli nie zniechęciłem Cię za bardzo, to:
1. ściągnij sobie jakiś framework (np. Zend Framework) i spróbuj pisząc minimalną ilość własnego kodu, maksymalnie dużo wykorzystując jego możliwości, wdrożyć od A do Z jakąś stronę WWW (np. typową stronkę domową z newsami i artykułami). Framework zmusi Cię do zastosowania OOP i MVC,
2. pytaj w tym wątku o konkretne kwestie, których nie rozumiesz lub chciałbyś poznać lepiej - postaram(y) się w tym pomóc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.10.2011 o 08:56, Vilmar napisał:

ale spytam przewrotnie: po co chcesz to wykorzystywać w praktyce?
Bo skoro w tej chwili próbujesz korzystać z OOP/MVC
i robisz to źle, to jak dla mnie wyraźnie widać, że potrzeba Ci po prostu pracy nad większymi
projektami w grupie osób


Potrzebne mi to jest aby znaleźć pracę jako programista PHP. Początkowo też myślałem, że takie zdolności wyuczę się już w pracy nad konkretnymi projektami, pod okiem doświadczonych osób. Niestety wszędzie wymagają min. rok doświadczenia w tej pracy, bardzo dobrej znajomości OOP i bardzo często znajomości właśnie MVC. Myślałem nad podglądnięciem rozwiązań w takich właśnie phpBB czy Wordpress, ale z tego co napisałeś wynika, że nie zawsze te duże aplikacje są poprawnie (zgodnie ze standardem) napisane.
Chciałem trochę opanować podstawy zanim zabiorę się za frameworki, ale może rzeczywiście lepiej będzie zacząć od frameworka żeby lepiej zrozumieć zasadę.
Dzięki za odp ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 18.10.2011 o 22:36, Vilmar napisał:

A czemu sądzisz, że wywołanie funkcji jest szybsze niż wywołanie metod?
Narzędzia (małe czy duże) agreguj w klasach w formie metod statycznych, a funkcje stosuj
tylko jako callbacki czy closure''y.


Dzięki, za wskazówki.

Na podstawie zużycia pamięci, czytałem kilka dyskusji na temat metod vs funkcje,I zarzucali im pamięcio żerność.
Czyli wnioskowałem, rejestrowanie dodatkowych bloków pamięci, spadek szybkości

Przyznam szczerze, że nie weryfikowałem tego, z powodu niestabilnej platformy testowej (5x razy padły mi ramy i potem np.

"for($i = 0; $i< 5; $i++)" - stwierdzało, że przed $i jest nie zidentyfikowany znak...
Dopiero po przepisaniu kodu, zaczyna działać),

założyłem tezę: kila źródeł czyli coś w tym musi być.

Być może to błędne założenie. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.11.2011 o 02:34, Miczkus napisał:

Hej, mam problem z WordPressem(na hostingu http://cba.pl). Gdy chcę wyświetlić cały wpis,
to pokazuje się to -> http://www.gry-online.pl/Galeria/Forum/11/375662935.jpg
ale wpis przecież jest(patrz adresy na obrazku w linku i obok): http://imageshack.us/photo/my-images/809/beztytuuwc.jpg/
http://miczkus.c0.pl


Masz włączony mod_rewrite i odpowiednie regułki w htaccessie?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 27.11.2011 o 10:39, rob006 napisał:

> Hej, mam problem z WordPressem(na hostingu http://cba.pl). Gdy chcę wyświetlić cały
wpis,
> to pokazuje się to -> http://www.gry-online.pl/Galeria/Forum/11/375662935.jpg

> ale wpis przecież jest(patrz adresy na obrazku w linku i obok): http://imageshack.us/photo/my-images/809/beztytuuwc.jpg/

> http://miczkus.c0.pl

Masz włączony mod_rewrite i odpowiednie regułki w htaccessie?

Szczerze, to nie mam pojęcia, ale udało mi się już to naprawić. Gdyby ktoś potrzebował: zmieniłem format bezpośredniego odnośnika na ten który ustawiłem na samym początku istnienia strony(w moim przypadku Dzień i nazwa).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam, mam problem ze stronką. Robię koleżance na zaliczenie z infy (jest na humanie w LO). Jest to sama forma, bez treści.
W IE wyświetla się 100% poprawnie, a w Chrome i FF nie ma żandego elementu blokowego, tylko tekst.
W code validatorze nie wyświetliło żadnego błędu, nie mam pojęcia co może być nie tak....
Pomożecie?
Kod poniżej.
http://wklej.org/id/639397/
Myślę, ze pliku z css nie muszę wrzucać. Programuje w HateML, w nim wszystko wyświetla się na podglądzie poprawnie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Rozwiązane. Problem leżał w wielkości znaków. W pliku style.css nazwy bloków były pisane capsem, a w kodzie powyżej wiadomo, że z malej...
Pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy istnieje możliwość podglądu zmian wprowadzonych w szablonie joomla bez konieczności wgrywania plików na serwer? Pracuję nad layoutem i strasznie niewygodne to jest.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 11.12.2011 o 14:15, LESZ3u napisał:

Czy istnieje możliwość podglądu zmian wprowadzonych w szablonie joomla bez konieczności
wgrywania plików na serwer? Pracuję nad layoutem i strasznie niewygodne to jest.


Możesz serwer u siebie na komputerze mieć i ustawić katalog plików serwera na ten w którym znajduje się twoja strona. W taki sposób tylko odświeżasz stronę w przeglądarce bez przenoszenia żadnych plików.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 11.12.2011 o 14:15, LESZ3u napisał:

Czy istnieje możliwość podglądu zmian wprowadzonych w szablonie joomla bez konieczności
wgrywania plików na serwer? Pracuję nad layoutem i strasznie niewygodne to jest.


Do bardzo rozsądnej porady Volvoxa dodam jeszcze to, że możesz ściągnąć porządne IDE, które samo wgra plik na serwer w momencie dokonania zmiany. Przykład: netbeans.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Panowie, jest sprawa. Tworzę sobie powoli dwujęzyczną stronę na Wordpressie (dwujęzyczność zapewnia qTranslate) i potrzebowałem do tego dwujęzycznego formularza kontaktowego.
Użyłem więc Multilang Contact Form, sprawdza się znakomicie: http://wordpress.org/extend/plugins/multilang-contact-form/
Problem leży w polskich znakach - zamiast nich dostaję ????
Znalazłem połowiczne rozwiązanie, o tutaj: http://wordpress.org/support/topic/plugin-multilang-contact-form-russian-form-gets-only-instead-of-live-text i teraz na gmaila polskie znaki docierają już bez problemu, ale jeśli pobiorę maila klientem (Windows Live Mail), tylko temat maila ma polskie znaki, reszta ma krzaczki.
Próbowałem w ustawieniach klienta zmieniać kodowanie, ale nie dość że nie pomogło, to jeszcze rozwaliło mi inne maile. Domyślam się więc, że przydałoby się jeszcze pogrzebać w kodzie / kodowaniu wtyczki. Jakieś sugestie?

Dla uzyskania dostępu do plików *php wtyczki - pobierzcie ją z pierwszego linka.
Dzięki :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę, że próbujesz grzebać w "czystym" pliku.
Niestety, nie działa - efekt jest taki sam jak na czystej wtyczce, tj. gmail + klient -> krzaczki

Po wspomnianej poprawce znalezionej w necie linijka wygląda następująco:
$subject = html_entity_decode($_POST[''mlcf_subject''])." ".get_option(''mlcf_subject'');
i gmail czyta znaki poprawnie, ale w kliencie są krzaczki

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.01.2012 o 21:19, szypek26 napisał:

$subject = html_entity_decode($_POST[''mlcf_subject''])." ".get_option(''mlcf_subject'');


Ale to nie w tej linijce masz to wkleić, tylko tej gdzie masz definiowane nagłówki maila.
A jeśli wkleiłeś we właściwe miejsce, to możesz spróbować zrobić to samo z $text co z $subject.
Ostatecznie możesz spróbować na sztywno ustawić kodowanie maila zamieniając:
$headers .= "Content-Type: text/plain; charset=\"" . get_settings(''blog_charset'') . "\"\n";

na:
$headers .= "Content-Type: text/plain; charset=\"utf-8\"\n";

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 17.01.2012 o 21:33, rob006 napisał:

Ale to nie w tej linijce masz to wkleić, tylko tej gdzie masz definiowane nagłówki maila.

W plikach wtyczki ten fragment kodu występuje tylko w jednym miejscu ;)

Dnia 17.01.2012 o 21:33, rob006 napisał:

$headers .= "Content-Type: text/plain; charset=\"utf-8\"\n";

Powielasz tutaj rozwiązanie stąd: http://wordpress.org/support/topic/plugin-multilang-contact-form-russian-form-gets-only-instead-of-live-text - patrzyłeś w ogóle na to? Bo szkoda twojej pracy. Po zastosowaniu tego rozwiązania do gmaila polskie znaki docierają poprawnie, ale do klienta już nie.

Być może zagadka kryje się w tej linijce:
(oryginał)

mail($recipient,utf8_decode($subject),$message,$header2);

(po zmianie)

mail($recipient, ''=?UTF-8?B?''.base64_encode($subject).''?='', $message, $header2);

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować