Właśnie przeglądam sobie NEWS ze snapshota 200605310430 PHP 5.2. Wygląda, że będzie miał przynajmniej dwie fajne rzeczy:

  • Changed __toString to be called whereever applicable. Rozumiem przez to że __toString() będzie wywoływane także np przy konkatenacji stringów - jak na razie wynik __toString() można obejrzeć tylko przy bezpośredniej próbie wyświetlenia obiektu, co jest raczej mało użyteczne…
  • Added RegExIterator and RecursiveRegExIterator - to może być czasem niezwykle przydatne.

Do tego dojdzie nowy rodzaj błędu: E_RECOVERABLE_ERROR, ale jak na razie nie widze żadnego opisu na jego temat. Tak czy inaczej, ja nie mogę się doczekać PHP6, bo wkurza mnie kiepska obsługa UTF-8 ;)


Jak piszę nieco więcej kodu, lub przy refaktoryzacji/reformatowaniu tegoż, dość często szukam początku lub końca jakiegoś bloku. Najprościej jest wcisnąć kombinację klawiszy:

[{
żeby przenieść się na początek bloku
]}
na koniec bloku
[(
na początek nawiasu wewnątrz którego się znajdujemy
])
na jego koniec

Paweł Tkaczyk miał ostatnio niemiłą przygodę. Jako, że sam strasznie nie lubię takich zagrywek, jakie zastosował w jego przypadku Neckerman, spełniam jego prośbę o pomoc przy rozgłoszeniu sprawy. Uważam że z takim chamstwem (tak, jest to chamstwo i w pewnym sensie kradzież) trzeba walczyć. Sam nie jeden raz byłem ofiarą (no dobra, nie dałem się, ale próbowali ze mnie taką zrobić) kradzieży np w supermarketach, gdzie cena na półce była inną niż cena jaką kazali mi płacić. Nigdy nie pozwoliłem, żeby zabrali mi moje 50 czy 60 gr., nie mówiąc o wyższych kwotach (a zdarzało się i po kilkadziesiąt zł). Rozumiem Pawła, że dla dobra rodziny dopłacił te pieniądze - w końcu rodzina jest ważniejsza. Ale mam nadzieję, że choć kilka osób zastanowi się na przyszłość przed wykupieniem wycieczki w Neckermanie.

Więcej: poczytaj wpis na blogu Pawła: Neckerman źle traktuje swoich klientów.


Wklepywanie za każdym razem tych samych słów/tagów/poleceń jest męczące. Nawet dla tak zahartowanego ‘klepacza’ jak ja. Na szczęście, Vim potrafi pomóc w takich momentach.

Gdy chcesz wpisać jakieś słowo, które już występuje w tekście, zacznij je wpisywać, a nastęnie wciśnij <Ctrl+p> lub <Ctrl+n>. Pierwsza kombinacja wyszukuje wstecz, natomiast druga - do przodu, dany dokument, pod kątem występowania danego słowa. Następne wciśnięcia danego skrótu klawiaturowego spowoduje wyświetlenie kolejnego dopasowanego słowa. Np w tym tekście, powtarzają się dość często słowa ‘wpisać’, ‘wpisywać’ etc. Mogę sobie pomagać wklepując je, wpisując ‘wpi<Ctrl+p>’. W tym momencie Vim podpowiada mi wersje: ‘wpisać’, ‘wpisać’, ‘wpisywać’, i mogę sobie wstawić dowolną z nich (w wersji 7 wyświetla się okienko z listą dopasowanych słów, we wcześniejszych kolejno były dopasowywane słowa w danym miejscu).

Więcej na ten temat: :he complete


Poniższa historia zdarzyła się naprawdę - 21.05.2006 r. około godziny 14.00 na ul. Jarogniewa w Szczecinie…

Wyszedłem z domu dość późno, miałem tylko chwilę na dotarcie na przystanek. Mam zwyczaj dość szybkiego chodzenia, więc też standardowo “darłem laczki“. Kilkadziesiąt metrów przede mną idzie babuleńka - dwie pękate torby w rękach, parasolka pod pachą…

Chwilę później przebiega koło mnie młody chłoak - na oko jakieś 15-16 lat. Podbiega do babci, łapie za jedną z toreb, i zamiast uciekać - prawie się zatrzymał.

Babcia była szybka - prędkość z jaką rzuciła torby, złapała za parasol i zaczęła nim okładać chłopaka była zadziwiająca. Koleś dostał ze 3 razy, zaczął się przewracać, zanim dotarłem do nich. W tym momencie parasol zawisł w powietrzu, babcia patrzy się na chłopaka, i:

- Piotruuuuś???!!!!

Okazało się, że wnuczek podbiegł do niej i chciał pomóc dźwigać torby. Jeszcze się nie nauczył, że w tym kraju uczynność i dobroć serca nie popłaca ;)

Chwilę później pomknęłem na przystanek - na szczęście zdążyłem ;)

P.S. Moje mknięcie nieco przypominało turlanie się - ze śmiechu…


Takie coś sobie postawiłem: repo.urzenia.net. Będę tam umieszczał jakieś swoje wypociny, które powstają w chwilach które powinienem poświęcać na sen, a poświęcam je na kod ;)

W tej chwili jest tam aż jedna klasa (getGPC), ale może niedługo dorzucę jeszcze kilka swoich produktów.


Zainspirowany klasą autorstwa hwao, ruszyłem dziś do boju. Tak na szybko stworzyłem własną klasę do pobierania danych od usera, nazwaną getGPC. Można ją tymczasowo znaleźć pod adresem http://urzenia.net/wp-content/getgpc (nie klikalny, jako że ten adres niedługo ulegnie zmianie).

UPDATE
Klasa sporo sie zmieniła dziś nad ranem, a przed chwilą zmieniło się też miejsce przebywania klasy. Aktualna specyfikacja i instrukcja znajduje się na świeżo otwartym repo.urzenia.net, a źródła klasy są pod adresem repo.urzenia.net/files/.

Poniższe informacje można uznać za deprecated

Sposób użycia:

$r = getGPC::init([$source][, $sqlEscapeFun]); //użyty singletone
echo $r->getString($name[, $default][, $source][, $html][, $sql][, $syntax]);

Gdzie:

$source = getGPC::AUTO
pochodzenie zmiennej:

  • getGPC::POST - jeśli z $_POST
  • getGPC::GET
  • getGPC::COOKIE
  • getGPC::REQUEST
  • getGPC::AUTO - wtedy przeszuka kolejno $_POST, $_COOKIE, $_GET i $_REQUEST, i zwróci pierwszą znalezoną wartość
$sqlEscapeFun = ‘mysql_real_escape_string’
funkcja jaka zostanie użyta do escape’owania danych podczas przygotowania danych do wrzucenia do sql. Jeśli chcemy użyć takiego np. PDO::quote(), robimy to tak:$getgpc_instance->sqlEscapeFun=array($pdo_instance, 'quote');
$name
nazwa szukanej zmiennej (lub tablica takich nazw)
$default
zwracana wartość domyślna, jeśli zmienna nie istnieje (jeśli null, to przy braku zmiennej będzie rzucony wyjątek)
$html = false
jesli true to zamiani znaki <, >, " i ' na encje: &lt;, &gt;, &quot;, &#39;,
$sql = false
użyje funkcji ustawionej za pomocą getGPC::$sqlEscapeFun do zabezpieczenia się przed SQL Injection (tak naprawdę tutaj można podstawić dowolną funkcję, ale myślę że takie użycie będzie najpopularniejsze).
$syntax = false
ciąg znaków odpowiadający pierwszemu parametrowi funkcji sprintf. Jako kolejne parametry zostaną użyte podane wszystkie wartośći zmiennych podanych jako parametr $name metody getGPC::get[String|Int|Bool].

Kiedyś miałem ten tekst (poniżej) na stronie głównej, za czasów http://mysz.civ.pl/. A teraz znów mi się przypomniał, i myślę że pasowałby na mój nagrobek:

Nie chcę podwyżki, po co trzynastki,
To wszystko nędzne szczęścia namiastki.
A szczęście dla mnie to praca szczera:
Dwanaście godzin przy komputerach!

Nie wzbraniaj, ojcze! Precz z oczu, matko!
Nie dla mnie żona i dzieci stadko,
Jeść, spać, dorastać - ja pragnę w biurze
I umrzeć- z dłońmi na klawiaturze.

Lecz zanim zejdę, normę wykonam,
Godzin piętnaście - także podołam!
Nie chcę obiadu, nie chcę kolacji,
Walczę o wartość firmowych akcji.

A kiedy umrę - tak się rozmarzę,
Nad trumną ujrzę zarządu twarze.
Nie, tak nie będzie, prawda to szczera,
Ci będą znowu szukać frajera!

Jest z tym tylko jeden problem: w ciągu ostatnich 8 dni (do wczoraj do godziny 17) miałem przespanych nieco ponad 9h (liczyłem dziś ;) ). Czyli musiałbym nieco podmienić teksty powyżej, żeby się zgadzało ;)


Strona 1 z 2