Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: bastard13, dodany: 13.04.2012 10:51, tagi: oop, php

kilka słów na początek

O interfejsach pisałem już kilka razy (np. tu i tu) i pewnie jeszcze nie raz napiszę, ponieważ są one (wraz z klasami abstrakcyjnymi) jednymi z najistotniejszych elementów projektowania obiektowego. Kiedy już je poznasz, zrozumiesz i się z nimi zaprzyjaźnisz, tak naprawdę dopiero w tym momencie odkrywasz piękno pisania obiektowego, jego elastyczność.Nie poruszę w tym wpisie wszystkich aspektów dotyczących interfejsów, nawet nie będę się starał, chodzi mi jedynie o podstawowe (i moim zdaniem najważniejsze) cechy interfejsów.Czytaj więcej »

Autor wpisu: Tomasz Kowalczyk, dodany: 11.04.2012 22:28, tagi: symfony2, php, framework, design

W ostatnim tygodniu znowu trochę „przysnąłem” z wpisami, ale wytłumaczenie jest proste: już w środku tygodnia bez zbędnych ceregieli pojechałem do domu na święta i przez ten czas komputer (poza totalnie nie wymagającymi myślenia czynnościami typu klikanie na społecznościówkach) był … #LINK#

Autor wpisu: Marek, dodany: 11.04.2012 09:44, tagi: php, apache

Teraz trochę o logwatch’u. Jest to program, który dostarcza mi codziennie rano logi z serwera WWW do czytania przy porannej herbacie. Domyślnie logwatch skanuje wszystkie logi Apache wg zapisu w pliku konfiguracyjnym /usr/share/logwatch/default.conf/logfiles/http.conf:

LogFile = httpd/*access_log
LogFile = apache/*access.log.1
LogFile = apache/*access.log
LogFile = apache2/*access.log.1
LogFile = apache2/*access.log
LogFile = apache2/*access_log
LogFile = apache-ssl/*access.log.1
LogFile = apache-ssl/*access.log

Aby rozszerzyć sprawdzanie logów o inne pliki należy utworzyć plik /etc/logwatch/conf/logfiles/http.conf

i umieścić w nim namiary na konkretne pliki, np.

# konfiguracja dla niestandardowych plików
LogFile = /var/log/apache2/test/access.log
LogFile = /home/hekima/log/test2/access.log
LogFile = /home/hekima/log/test3/access.log

Żeby szybko przetestować zmiany wystarczy odpalić:

sudo logwatch --mailto=moj@e-mail.pl

Autor wpisu: zleek, dodany: 05.04.2012 14:22, tagi: zend_framework, php

Zapewne wielu z Was spotkało się z problemem sortowania polskich znaków podczas pobierania danych z bazy, szczególnie gdy mamy ustawione porównywanie znaków na utf8_general_ci. Sztandarowym przykładem może być tutaj lista województw, gdzie standardowo województwo łódzkie będziemy mieli na samym końcu. Rozwiązaniem tego problemu jest wskazanie zestawu znaków dla określonej kolumny, którą wskażemy w sekcji ORDER [...]

Autor wpisu: Marek, dodany: 04.04.2012 18:29, tagi: php

Pewnie niewielu z nas będzie pracować w jednej firmie do 67 roku życia. Czasy, w których pracownik był związany z przedsiębiorstwem przez 25 lat powoli odchodzą w niepamięć. Co zrobić gdy nagle z firmy odchodzi pracownik, który miał mnóstwo kont w różnego rodzaju dedykowanych systemach CMS, odbierał maile wysyłane z formularzy zamieszczonych na stronach WWW itp.? Pocztę byłego pracownika można przekierować na innego, ale trzeba również posprzątać w serwisach www. Rzeczywistość na ogół nie jest różowa – serwisy pisane są w różnych frameworkach, niektóre mają już swoje lata, adresy e-mail moderatorów wpisane są w wielu plikach konfiguracyjnych.

To jak znaleźć wszystkie wpisy dotyczące nieaktywnego konta e-mail i zamienić je poprawnym adresem?

Założenia:

  • odszedł od nas pracownik o mailu michael.jordan@test.pl
  • chcemy przepisać wszystkie namiary na jego pocztę na innego pracownika: marcin.gortat@test.pl
  • dla uproszczenia wszystkie serwisy znajdują się w katalogu: /var/www/

Najpierw wyszukajmy wszystkich wystąpień adresu e-mail naszego byłego pracownika:

grep -r 'michael.jordan@test.pl' /var/www/ 2> /dev/null

Przykładowy wynik:

/var/www/abc/config/test.php:$config['e-mail'] = 'michael.jordan@test.pl';
/var/www/a/b/c/plik.php:$config['moderators'] = 'michael.jordan@test.pl,kobe.bryant@test.pl';

Jak widać powyżej, znaleźliśmy wpisy z poszukiwanym adresem e-mail. Polecenie grep -r wyświetla najpierw ścieżkę do pliku, potem znak dwukropka i po nim wiersz ze znalezioną frazą.

Teraz przejdźmy do sedna i zmieńmy wszystkie wystąpienia michael.jordan@test.pl na marcin.gortat@test.pl:

grep -r 'michael.jordan@test.pl' /var/www/ 2> /dev/null \
| cut -d ':' -f 1 \
| xargs sed -i 's/michael.jordan@test.pl/marcin.gortat@test.pl/g'

Krótkie wyjaśnienie:

  • w pierwszej linii wyszukujemy rekurencyjnie wystąpienia michael.jordan@test.pl w katalogu /var/www/ a wszelkie komunikaty o błędach wysyłamy w czarną dziurę ;)
  • z otrzymanego wyniku wyciągamy  jedynie nazwy plików używając jako separatora kolumn znaku ‘:’
  • taki wynik podajemy  jako argument dla polecenia sed, za pomocą którego dokonujemy właściwej zamiany ciągów znaków

I to tyle – tymi  prostymi poleceniami zamieniliśmy w plikach danej lokalizacji wszystkie wystąpienia niechcianego adresu pożądanym.

 

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

Autor wpisu: d3ut3r, dodany: 04.04.2012 03:45, tagi: zend_framework, php

Dziś chciałbym przedstawić Wam w jaki sposób tworzyć kontrolery i akcje w Zend Framework zanim jednak zaczniemy potrzeba nieco teorii o tym co to jest kontroler i akcja :) tak więc zapraszam do czytania.

1. Czym są kontorlery

Najprościej mówiąc kontroler to część aplikacji której zadaniem jest odebranie danych od użytkownika oraz ich analiza.

2. Czym są akcje

Akcja to część składowa kontrolera, każdy kontroler w ZF powinien posiadać przynajmniej 1 akcję która nazywa się indexAction jest ona wywoływana jako akcja domyślna.

To tyle jeżeli chodzi o teorie :) oczywiście czytając to pierwszy raz możesz czuć się nieco zagubiony, mam jednak nadzieję że pod koniec wpisu wszystko będzie już jasne. W poprzednim wpisie “Zend Framework pierwsze starcie” pokazałem w jaki sposób wygenerować projekt o nazwie helloZend dziś dalej będziemy pracować na tym projekcie.

Ostatnim krokiem przed pracą z kodem będzie skonfigurowanie naszego projektu do pracy w trybie development co pozwoli nam w czytelny sposób śledzić ewentualne błędy w kodzie. Rozpoczynamy od edycji pliku .htaccess  z katalogu public naszego projektu. Po otwarciu pliku w pierwszej linii wpisujemy:

SetEnv APPLICATION_ENV development

Skoro wprowadziliśmy już wszystkie wymagane zmiany, mniej więcej wiemy co to kontroler a co akcja pora przejść do praktyki. Zaczniemy od pewnego faktu dotyczącego poprzedniego projektu helloZend otóż linki:

robią dokładnie to samo. W przypadku 1 linku nie podajemy żadnych parametrów zatem system wywołuje domyślny kontroler (index) oraz domyślną akcję (index). Link drugi określa kontroler którego chcemy użyć (w naszym przypadku index) oraz sam dobiera domyślną akcję. Link trzeci jest pełnym linkiem i określa on zarówno kontroler jak i akcję. Możemy zatem powiedzieć, że ogólny schemat linków dla projektów ZF wygląda tak: http://example.com/kontroler/akcja

3. Tworzenie kontrolerów

Kontrolery naszej aplikacji przechowywane są w katalogu application/controllers domyślnie są tam 2 pliki: IndexController.php oraz ErrorController.php możemy dodawać nowe kontrolery do naszej aplikacji wydając komendę:

zf create controller nazwa_kontrolera domyslna_akcja moduł
  • nazwa_kontrolera – raczej nie trzeba tłumaczyć ważne aby nazwa była intuicyjna i odzwierciedlała to czym kontroler będzie się zajmował, jeżeli np tworzymy kontroler dla newsów nazwijmy go news
  • domyslna_akcja – parametr ten ma domyślną wartość 1 i określa czy wraz z utworzeniem nowego kontrolera chcemy aby system wygenerował domyślną akcję index
  • moduł – parametr określa moduł do którego należeć będzie kontroler.

Czas przejść do czynów, do naszego projektu helloZend dodamy kontroler który nazwiemy pierwszy w tym celu będąc w katalogu projektu wydajemy polecenie:

zf create controller pierwszy

dzięki temu w katalogu controllers naszej aplikacji pojawił się plik o nazwie PierwszyController.php jeżeli otworzymy wspomniany plik zobaczymy, że skrypt wygenerował dla nas całą strukturę łącznie z akcją index(metoda o nazwie indexAction).

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

Autor wpisu: batman, dodany: 02.04.2012 08:00, tagi: sql

Poprzedni quiz przygotowany przez Nettuts+ nie wyszedł mi zbyt dobrze. Na szczęście zrehabilitowałem się w quizie o SQL, zdobywając 100%. Napiszcie w komentarzu jak Wam poszło.

quiz_sql

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.