Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu php Kanał ATOM (tag: php)

Autor wpisu: Athlan, dodany: 14.06.2008 00:50, tagi: framework, php

Dziś wydana została nowa wersja Vframe oznaczona numerkiem 2.3.1. Większe zmiany:

  • Możliwość tworzenia grup routingów za pomocą wyrażeń regularnych (grupowanie regułek, aby przyspieszyć działanie).
  • Automatyczne wczytywanie konfiguracji Vframe_Router_Advenced::PatternsBuild().
  • Wydzielenie głębi konfiguracyjnej dla kontrolerów (kontroler News_Admin_Vcontroller ma plik: /Configuration/Controllers/Admin/News.php).
  • Zaimplementowanie Cache_Engine (wzorzec fabryki) oraz silników: File, Memcache, APC.
  • Zaimplementowanie Image_Engine (wzorzec fabryki), silnik GD.
  • Zaimplementowanie Db_Layer (wzorzec fabryki), silniki MySQL, SQLite.
  • Zniesiona została stała V_APP oraz V_APP_REAL.
  • Dodanie nowego komponentu Vframe_Mail_Inbox (pobieranie poczty) oraz silnika Vframe_Mail_Inbox_Engine_Imap.
  • Zabezpieczenie unikalnego klucza sesji frameworka, dodanie V_APP_SESSION_HASH.
  • Zmiana struktury Exceptions oraz Interfaces - teraz klasy znajdują się w głównym pliku komponentu, nie posiadają wydzielonych plików.
  • Dodanie pluginu Vframe_Controller_Front_Plugin_Gzip.

Konieczne zmiany w aplikacji:

  • Pliki konfiguracyjne modelu Db_MySQL na Db_Layer_MySQL, analogicznie dla innych baz.

Zalecane zmiany:

  • Wszelkie define() zamienić na Vframe::_() (argumenty analogiczne) oraz załadować główny plik konfiguracyjny po frameworku (aby uzyskać funkcję statyczną _() ).
  • Usunąć V_APP_REAL.
  • Aby użyć pluginu Gzip: $oFrontController->Plugin(new Vframe_Controller_Front_Plugin_Gzip(6)); gdzie 6 to stopień kompresji, jeżeli null, wówczas domyślnie 6.

Linki:

Autor wpisu: Athlan, dodany: 09.06.2008 20:34, tagi: internet, php

Ostatnimi czasy pracuje nad dość dużym projektem. Jednym z punktów specyfikacji są fora dyskusyjne w grupach. Oczywiście pojawił się problem z nieprzeczytanymi postami. Jest kilka rozwiązań, każde ma swoje plusy i minusy:

  1. Sprawdzanie daty ostatniego postu na całym forum danej grupy. Pomysł zaczerpnięty z portalu nasza-klasa.pl, gdzie bok relacji użytkownik->forum zapisywana jest data ostatniego odwiedzenia forum. Jeżeli na forum jest nowszy post niż zapisana data - forum jest oznaczone jako nieprzeczytane. Minusem tego rozwiązania jest to, że działa bardzo ogólnikowo (nie wiadomo które tematy są nieprzeczytane, które nie - oznaczane jest tylko forum, w dodatku jeden raz).
  2. Korzystanie z historii przeglądarki przy użyciu stylu a:visited. Plus - łatwość implementacji, minusy - ogólnikowe, nie zawsze zadziała, amatorszczyzna (nie na taki projekt, rozumiem blog).
  3. Sposób z PHPBB: stworzenie relacji user->temat, gdzie zapisana jest data ostatniego czytania tematu. Plusy: możemy stwierdzić ostatnią wizytę co do konkretnego posta. Minusy: dużo syfu w bazie danych, wypadałoby dodać limit, np czyszczenie nieprzeczytanych for po ilości wątków oraz limit czasowy, czyszczone cronem lub przy innej okazji.

Po dłuższej analizie, zdecydowałem się na implementację trzeciego rozwiązania za pomocą tabeli:

  • handle_user (id usera),
  • handle_group (id grupy),
  • handle_thread (id tematu),
  • handle_time (czas ostatniej wizyty w temacie, defaultowo 0).

Autor wpisu: widmogrod, dodany: 28.05.2008 22:17, tagi: php, jquery

Internet ... co to było! pierwszy rok studiów stałe łącze, nieograniczone możliwości surfowania po sieci ... ach .. miło się to wspomina :)Pierwszy raz (...) yhym .. ;) pierwsza strona WWW powstała w okresie Szkoły podstawowej - ślad po niej zaginął.Pierwsza strona, od której zabawa zaczeła się na dobre to:http://x100help.za.pl (jeszcze działa! ach te darmowe hostingi ;])wykonana w: HTMLNastępnie kontynuacją były jej modyfikacjehttp://sghx100.za.pl - już wzobagacona w proste skryty PHPwykonana w: HTML, CSS, PHP(wstawki)Co to jest CMS? - też to chcę mieć! - zaczeło się powstała kolejna odsłona strony o samsung x100http://www.widoom-cms.freehost.pl/x100/ - oparta na prostym CMS-iewykonana w: HTML, CSS, PHP(CMS WiDooM v1)który napędzał też stronę:

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: nospor, dodany: 24.05.2008 12:31, tagi: php

Przedstawię tu faq odnośnie php. Niby dużo tego jest w sieci, jednak przeglądając fora i zadawane pytania, śmiem twierdzić, że za mało... albo ta nasza "młodzież" zaleniwa jest by do nich zaglądać... tak czy siak "dobrego" faq nigdy za duzo ;) 1) Złote myśli kubusia a php 2) Przygotowanie środowiska 3) Na localu działa ,na serwerze nie... - register_globals 4) Parsowanie zmiennych 5) Cannot add header information - headers already sent... 6) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource - błąd zapytania 7) Wyszukiwarka - zapytanie zależne od zadanych kryteriów 8) Grupowanie wyników

Autor wpisu: Łukasz Rodziewicz, dodany: 06.05.2008 22:06, tagi: php

Co by nie mówić o phpBB jest najpopularniejszym skryptem forum. W wersji 3.x dorobił się wielu udogodnień, ślicznego panelu ale ja nie o tym. Jak myślicie czy w ramach zmiany ostatniej cyferki w szale wersjonowania oprogramowania można zapomnieć o kompatybilności wstecznej? Do czego pieje? phpBB posiada bardzo sprytny mechanizm Restore i oczywiście w komplecie z nim Backup. Cóż on robi? Powinien zrzucić całą naszą bazę danych do archiwum w odpowiednim katalogu żeby potem za pomocą funkcji “Restore” bezproblemowo ją przywrócić. Cud, miód i orzeszki. No niestety nie. Okazuje się, że Backup z wersji 3.0.0 nie działa na wersji 3.0.1. Wysypuje kompletnie forum, uniemożliwiając zalogowanie się do panelu w celu przywrócenia działającej wersji. Z perspektywy zwykłego użytkownika musimy najpierw zainstalować phpBB 3.0.0 zrobić “restore” i dopiero potem upgrade do 3.0.1. Tak chyba być nie powinno prawda?

Autor wpisu: Łukasz Rodziewicz, dodany: 05.05.2008 22:35, tagi: php, eclipse

Mimo, że od dłuższego czasu na rynku dostępne są i relatywnie niedrogie procesory 64 bitowe to jednak nadal korzystanie z w pełni 64 bitowego systemu nastręcza wielu problemów. Dotyczy to zwłaszcza oprogramowania zamkniętego którego producenci dostarczają czasem wyłącznie 32 bitowe binarki (np. Adobe Flash). Ale nie tylko.

Nasze ukochane (a na pewno moje) IDE do PHP również dostępne jest jedynie (pakiet All-In-One) w wersji 32 bitowej (przynajmniej nie udało mi się znaleźć innego). Można oczywiście użyć 32 bitowej emu VM Javy ale chyba nie o to chodzi. Instalacja PDT na czystym Eclipse SDK nie jest jednak taka prosta. Poniżej przedstawiam kolejność dodawania narzędzi/framework’ów (jak to ładnie nazwać?) wymaganych przez PDT. Instalacji dokonujemy za pomocą wbudowanego mechanizmu Install/Update.

  1. Eclipse Graphical Editing Framework (GEF): http://download.eclipse.org/tools/gef/update-site/releases/site.xml
  2. Eclipse Modeling (EMF): http://download.eclipse.org/modeling/emf/updates/releases/ – tu jeśli otrzymujemy informacje o brakującym pluginie OCL należy odznaczyć wszystkie “czerwone” komponenty.
  3. Eclipse Data Tools Platform (DTP): http://download.eclipse.org/datatools/updates
  4. Eclipse Web Tools Platform (WTP): http://download.eclipse.org/webtools/updates/
  5. Eclipse PHP Development Tools (PDT): http://download.eclipse.org/tools/pdt/updates/

W przypadku błędu w postaci:

Unable to complete action for feature "PDT Feature" due to errors.
The File "/tmp/356479746/eclipse/.update/12[...]4/eclipse17104.tmp" is not a valid JAR file. [error in opening zip file] error in opening zip file

odznaczamy automatyczny wybór mirrorów i próbujemy do skutku z innym.

Jestem pewien, że wszystko da się okroić ze zbędnych pakietów ale jest to raczej zadanie do osoby dobrze obznajomionej z Eclipse SDK. Powyższe kroki przetestowałem na Eclipse SDK 3.3.1.1 i Sun JDK 1.6.0.05 @ Gentoo.

Warto również zainteresować się Aptana. Jeśli nie jako alternatywa dla PDT to ze względu na świetną obsługę CSS (możemy zainstalować tylko to udogodnienie). Jeśli natomiast piszesz tak jak ja w Symfony przydatne może okazać się rozszerzenie Symfoclipse. Pisał o nim jakiś czas temu Michał Mech.

Autor wpisu: Zyx, dodany: 04.05.2008 20:42, tagi: php

Rekurencja definiowana jest jako odwoływanie się funkcji lub definicji do samej siebie. Od strony programisty jest bardzo wygodnym narzędziem upraszczającym wiele algorytmów, lecz dla komputera oraz interpreterów stanowi niezły pożeracz zasobów. W tym wpisie pragnę skupić się na języku PHP, gdyż od pewnego czasu "odrekurencyjniam" Open Power Template'a, w związku z czym mam świeży materiał badawczy :).
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.