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

Autor wpisu: Piotr Śliwa, dodany: 31.03.2011 21:50, tagi: php

Od kilku miesięcy po cichu tworzę nową bibliotekę do generowania dokumentów pdf napisaną w php. Planowałem, że pierwsza w pełni funkcjonalna wersja wyjdzie w pierwszym kwartale 2011, jednak tego terminu na pewno nie dotrzymam ;) Jest jeszcze dosyć dużo do zrobienia, aby nadawała się do bezstresowego użycia.

Biblioteka zamienia kod xml zbliżony do html'a na dokument pdf. W pierwszej stabilnej wersji będzie obsługiwała m. in.:

  • powtarzalne nagłówki i stopki stron z dynamicznymi elementami (np. numeracją stron)
  • odpowiedniki html'owych tagów: div, p, b, img, span, strong, br, table, tr, td, p, h1, h2, h3, h4 i kilka innych.
  • obsługę atrybutów podobnych do tych z css, w tym: float, text-align, margin, padding, różne typy obramowań i tła, obsługa wielu czcionek w różnych stylach (bold, italic, normal)
  • łamanie stron, unikanie łamania stron dla wybranych elementów
  • obsługa arkuszy stylów (jako dokument xml)

Biblioteka jest pisana pod php5.3+ (do uruchomienia testów wymagana jest wersja php5.3.2+), wykorzystuje komponent Zend_Pdf z ZF 1.11. Będzie otwarta na rozszerzenia, zmianę konfiguracji, wyłączania zbędnych rzeczy, których się nie używa.

Zainteresowanych odsyłam na github.com, tam znajduje się kod źródłowy wraz ze szczątkową dokumentacją oraz, jak na razie, jednym przykładem (katalog examples). Projekt ma dwie gałęzie: master - w miarę stabilna wersja kodu, dev - najświeższy lecz niekoniecznie kompletny kod. Obecna wersja jest wersją developerską, jednakże proste rzeczy można już w niej zaimplementować. Podstawowe funkcjonalności, które jeszcze nie są, ale będą zaimplementowane w pierwszej stabilnej wersji, to odpowiedniki html'owych atrybutów colspan oraz rowspan dla wierszy tabel, listy (odpowiedniki tagów ul, li), podział strony na kolumny. Zostanie również niebawem przepisany mechanizm formatowania tekstu, który obecnie ma sporo ograniczeń.

Komentarze i konstruktywna krytyka mile widziane.

Autor wpisu: sokzzuka, dodany: 31.03.2011 13:01, tagi: php

We wczorajszym wpisie Dan Birken przedstawił propozycję dodania do biblioteki standardowej języka php funkcji str_slice($string, $start, $end = null);. Funkcja ta była by alternatywą dla substr dla tych osób, dla których argumenty przekazywane do substr wydają się niezbyt logiczne czy też niewygodne.

Przy okazji rozpoczęła się dyskusja o wprowadzeniu innych funkcji łańcuchów znaków, które często używane są w różnych projektach np. startsWith($search) czy endsWith($search).

Osobiście chętnie widziałbym te funkcje w php oraz gdzieś w dalekiej przyszłości zmianę string z typu prostego na obiekt, oczywiście w sposób transparentny dla starszego kodu.

Jakie jest Wasze zdanie ?

Autor wpisu: sokzzuka, dodany: 29.03.2011 09:36, tagi: php

Niniejszym publikuje odpowiedź Saveura na mój poprzedni tekst, zapraszam do komentowania ! Wyszła mi z tego nie lada odpowiedź.

Najpierw odniosę się do tego co mnie najbardziej uderzyło i z czym nie zgadzam się najmocniej, mianowicie (choć Ty Wojciechu tego nie powiedziałeś, oczywiście):

W Internecie panują takie same zasady wypowiedzi, jak w „realu”. Jeśli w „prawdziwym życiu” nie powiedziałbyś czegoś, to nie powinieneś tego robić również w sieci. (batman)

Nie prawda. Internet to nie “prawdziwe życie” i panują tutaj zupełnie inne zasady. W normalnym życiu każdy z nas ma maski – nie powiem dlaczego tak jest, nie jestem psychologiem, ale tak właśnie jest. Inaczej zachowujesz się w gronie znajomych, co innego mówisz w towarzystwie swoich kumpli z którymi grasz w piłkę co tydzień, inny będziesz w pracy, a jeszcze inny na obiadku z teściami. Nie jesteś tą samą osobą zawsze i wszędzie. Gdyby próbować oceniać moją osobę na podstawie męskiego spotkania przy kielichu, gdzie raz na jakiś czas muszę się mocno sponiewierać dla zdrowia psychicznego, powiedzielibyście, że jestem szowinistyczną, zbereźną świnią! Ale czy taki jestem? Czy tak będę się zachowywał na spotkaniu biznesowym?

Przykłady z mojego życia – pracowałem kiedyś w pewnej firmie, w której była pewna sekretarka/asystentka szefa czy jak to ładnie po angielsku mówili “office manager”. Miałem z nią wspaniałe relacje, które polegały na ciągłym flirtowaniu i aluzjach dotyczących seksu. Jeżeli osoba trzecia by na to spojrzała, powiedziałaby, że conajmniej łączył nas soczysty romans a na pewno, pomyślała by, że jestem kasanową, że ho ho. Czy jestem kasanową? Wierzcie mi, że nie. W tej samej firmie, było również dwóch programistów, z którymi podczas jednego dnia potrafiłem wymienić z dwieście kur** i usłyszeć opowieści o tym czym mnie kto zrobił. Czy to oznacza, że ja (i owi koledzy) jesteśmy nie okrzesaną hołotą? Nie. To był tylko nasz sposób na pracę w ciężkich warunkach. Do dziś utrzymujemy świetny kontakt.

W “prawdziwym świecie” mamy maski, jesteśmy różnymi ludźmi w różnych sytuacjach. W internecie bardzo wielu rzeczy nie powiem, nie dlatego, że się ich wstydzę, a dlatego, że zostaną zupełnie inaczej odebrane. Prowadząc z Tobą dyskusję nie wiem jak to odbierzesz, nie widzisz mojej gestykulacji, nie słyszysz barwy głosu, Ty sam czytasz moje wypowiedzi tak jak chcesz je przeczytać. Mało tego, w rzeczywistości nasza wymiana zdań będzie trwała 10 minut, w internecie, będzie rozwleczona na kilka dni (tygodni?). Wstaniesz następnego ranka w skowronkach i przeczytasz moją odpowiedź zupełnie inaczej, niż na przykład dzień później po awanturze którą zrobiła Ci Twoja kobieta.

Mało tego, rozmowa na żywo ma to do siebie, że jest teraz i między nami. Rozmowa w internecie, zostanie zachowana na wieki wieków. Dwa lata później ktoś przeczyta moją wypowiedź, i na jej podstawie mnie oceni, ale nie przeczyta 5 poprzednich stron na forum w których prowadziliśmy dyskusję. Tak samo nie będzie wiedział, że na tym forum siedzieliśmy już dwa lata, i kochamy się tak a nie inaczej, albo, że to taka gra między nami.

Nie stwierdzam tutaj, że mamy nie dyskutować w internecie – wręcz przeciwnie, jak najbardziej mamy rozmawiać, ale z dystansem, nie zachowują się jak dzieci czy obrażalskie paniusie. Podyskutujmy, pokażmy że jesteśmy ludźmi, niech emocję włączą się do dyskusji, ja chce widzieć, że rozmawiam z człowiekiem który kocha to co robi, ale na końcu, miejmy tyle rozumu, by wiedzieć, że nie zgadzamy się tylko w tym jednym temacie, i możemy dalej być świetnymi kolegami. I tak samo, jeżeli jesteśmy pracodawcami (zakładając, że Wojciech ma rację i pracodawcy są tak głupi i zatrudniają ludzi na podstawie internetowych wypowiedzi bez kontekstu) bierzmy pod uwagę, że ten człowiek jest inny w gronie przyjaciół, inny w pracy a jeszcze inny w barze z kumplami i nie oceniajmy go na podstawie jego miłości do danej partii politycznej, bądź tolerancji dla aborcji.

tutaj rozpoczyna się następny problem…

Jałowość dyskusji

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

Autor wpisu: Michal Wachowski, dodany: 29.03.2011 00:00, tagi: framework, php

Już od jakiegoś czasu nosiłem się z napisaniem nowego frameworka. Stary, choć całkiem przyjemny w użyciu miał swoje wady. I tak od myśli do czynu, w wolnych chwilach zabrałem się do tworzenia.Część pierwsza - ogólne założenia i inne ciekawe rzeczy.

Autor wpisu: sokzzuka, dodany: 27.03.2011 19:24, tagi: php

Dzisiejszy wpis, poświęcony jest troszkę innym tematom niż zwykle poruszam na swoim blogu. Nie będzie on bezpośrednio dotyczył programowania. Czemu więc, publikuje go w tej kategorii ? Jest na to pewno konkretne wytłumaczenie – programowanie jest aktywnością ludzką, która poza tworzeniem kodu ma jeszcze aspekt finansowy. Oczywiście nie każdy programista jest profesjonalistą i zarabia na życie w ten sposób. Większość osób ( w moim mniemaniu ) jednak tak robi i to do nich skierowany jest ten wpis. Tworzenie kodu wiąże się z pewnymi wymiernymi korzyściami materialnymi. Natomiast aby móc zarabiać na życie jako programista, najpierw trzeba dostać pracę o takim charakterze.

Szansa na znalezienie pracy w tym zawodzie generalnie determinuje kilka czynników :

  • umiejętności programistyczne
  • oczekiwania finansowe
  • portfolio, poprzedni pracodawcy
  • opinia w „środowisku”

O ile pierwsze trzy punkty są dosyć oczywiste i każdy mniej więcej ma pojęcie jaką politykę prowadzić by dostosować je do rynku pracy. O tyle ostatni punkt jest dość rozległym tematem i moim zdaniem niewiele osób zdaje sobie sprawę z jego „ważności” oraz tego jak zarządzać swoim wizerunkiem by owa opinia była jak najlepsza.

Internet jest szerokim medium, które udostępnia nam wiele narzędzi umożliwiających budowania swojego wizerunku. Wśród nich jako najważniejsze warto wymienić:

  • portale społecznościowe (Facebook, NK.pl)
  • blogi
  • fora dyskusyjne (forum.php.pl, fora goldenline.pl)
  • portale zorientowane na rozwój kariery zawodowej (linkedin.com, goldenline.pl)
  • inne stron nie związane z programowaniem (komentarze, fora – gazeta.pl, onet.pl etc)

Dlaczego budowanie swojego wizerunku w internecie jest takie ważne ? Pracodawcy coraz częściej przy rekrutacji pracowników korzystają z serwisów w rodzaju 123people.pl by sprawdzać osoby, które nadsyłają im swoje CV. Wbrew pozorom bardzo wiele można się dowiedzieć czytając czyjeś wypowiedzi na dowolnej z wymienionych stron. Informacje jakie można tam uzyskać pozwalają z jednej strony zweryfikować treść CV, a z drugiej w pewnym stopniu ocenić charakter pracownika jeszcze przed rozmową kwalifikacyjną.

Jak więc podwyższyć swoją wartość na rynku pracy poprzez zarządzanie swoim wizerunkiem w internecie ? Kilka rad wynikających z mojego doświadczenia:

  1. uzupełniając swoje portfolio, przebieg kariery i listę umiejętności na portalach „zawodowych” nie ubarwiaj, pisz prawdę co do poziomu znajomości poszczególnych technologii
  2. udzielaj się na tematycznych forach – pomagaj początkującym, wyrażaj opinie, nigdy nie stwierdzaj rzeczy co do których nie masz absolutnej pewności
  3. zawsze zachowaj kulturę wypowiedzi i szanuj inne osoby biorące udział w dyskusji
  4. nie upieraj się przy swoich poglądach – nie ma czegoś takiego jak „silver bullet” – podejścia dobrego w każdym przypadku
  5. jeżeli masz coś wartego zaprezentowania – załóż blog i często go aktualizuj
  6. jeżeli posiadasz konto na portalu społecznościowym w rodzaju facebook czy nk.pl – ogranicz dostęp osobom, które nie należą do swojego grona znajomych, albo nie pisz rzeczy pod wpływem emocji i uważaj co publikujesz
  7. udzielając się w dyskusjach „politycznych” na popularnym portalu zwróć szczególną uwagę na to co piszesz i nie daj się sprowokować

Jak może zauważyliście, wiele z wyżej wymienionych punktów ma charakter zakazów – nie rób tego czy tamtego. Dlaczego jest to takie ważne ? Przecież większość swoich wpisów tu czy tam można usunąć. Owszem można, ale tak na prawdę internet pamięta wszystko i co raz zostało gdzieś zapisane, z pewnością siedzi gdzieś w cache googla albo jeszcze innym miejscu.

Inne podpunkty mają charakter zaleceń i to one w głównej mierze odpowiadają za wizję Twojej osoby jako eksperta w jakiejś dziedzinie i najbardziej wpływają na bycie „pożądanym” przez pracodawców. Zachęcam każdego do ich stosowania, dzięki nim można nie tylko „wypromować” siebie, ale przede wszystkim wnieść pozytywną energię i wiedzę przydatną dla każdego członka społeczności programistów.

Autor wpisu: bigzbig, dodany: 27.03.2011 12:54, tagi: php

Ostatnio – po długiej przerwie – wszedłem na blog Zyxa wierząc, że znajdę tam coś ciekawego do przeczytania. Nie zawiodłem się. Znalazłem dwie recenzje najpopularniejszych w Polsce frameworków PHP tj. Symfony 1.4 okiem Zyxa i Zend Framework także okiem Zyxa. Ostatnio przerzuciłem się na Pythona i Django, a wcześniej przez co najmniej dwa lata budowałem [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 25.03.2011 03:15, tagi: php

Programując w dowolnym współcześnie wykorzystywanym języku na pewno zdarzyło Wam się korzystać z tzw. flag. Flaga, to nic innego niż stała wartość zapisana pod odpowiednim identyfikatorem. Jedną z szerzej stosowanych możliwości jest użycie ich jako komunikatów - numerów lub identyfikatorów np. błędów. W dzisiejszym wpisie pokażę pewien ciekawy sposób na przekazywanie bardziej zrozumiałych informacji dla [...]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.