Windows, PHP, Cygwin, bash: Wykonywanie poleceń w konsoli.

Pracując z wieloma technologiami codziennie zachwycamy się możliwościami różnego rodzaju oprogramowania. Kolejne wersje funkcji, bibliotek, frameworków to bezsprzecznie nasz żywioł, w którym słychać tylko głosy mówiące: “a widziałeś, co nowego wprowadzono w wersji 2.0?”. Oczywiście rozwój pojedynczych narzędzi jest ważny, aczkolwiek należy mieć na uwadze fakt, iż najpiękniejsza w tym wszystkim jest harmonia, którą osiąga dopiero zbiór różnych elementów świata oprogramowania, który współpracuje ze sobą. W dzisiejszym wpisie chciałbym zaprezentować prosty sposób na zachęcenie do współpracy języka PHP z powłoką bash.

Windows, PHP, Cygwin, bash: Wykonywanie poleceń w konsoli.

Dzisiejszy wstęp do wpisu, chyba przyznacie mi rację, ma dosyć “podniosły” charakter. Szczerze mówiąc nie wiem, co mnie skłoniło do takiej refleksji, bo siedziałem kilka godzin w pracy nad jednym problemem, którego nadal nie rozwiązałem, a w związku z tym na pewno nie mam “podniosłego” humoru.

PHP: Warunkowe definiowanie funkcji.

Nie wiem już ile razy zachwycałem się na moim blogu możliwościami języków skryptowych, a najbardziej tymi, które możemy znaleźć w PHP. Dawno, dawno temu, kiedy jeszcze moja wiedza na temat tego języka była “cokolwiek nikła” zauważyłem w czytanym kodzie pewne ciekawe rozwiązanie. O ile na pierwszy rzut oka było ono zrozumiałe, o tyle wychodząc z praktyką wyniesioną z języków takich, jak Pascal / Delphi, czy C / C++ stwierdziłem, że to nie może być możliwe. Kiedy okazało się, że jednak może - ciężko było mi pozbierać myśli.

PHP: Błąd "Parse error, unexpected '<' in Command line code on line n".
Interpreter PHP, poza oczywistą funkcjonalnością dotyczącą wykonywania napisanego przez nas kodu posiada kilka innych ciekawych możliwości. Jedną z nich jest wykonywanie fragmentu kodu przekazanego bezpośrednio jako parametr wywołania. W dzisiejszym wpisie chciałbym pokazać jeden z problemów, na jaki można w tym przypadku natrafić. PHP: Przełącznik “-r”. Aby uruchomić wspomnianą funkcjonalność, należy wywołać interpreter PHP z przełącznikiem “-r”, po którym należy przekazać parametr zawierający żądany przez nas kod. Weźmy pod uwagę przykładowe wywołanie:
PHP: Konstrukcja "or die()".

PHP jest językiem programowania, w którym znajduje się wciąż sporo magii, niezależnie od tego, jak czysty kod chcielibyśmy pisać. Czasem jest to magia wprowadzona przez samych twórców interpretera, czasem jednak jej źródło wypływa z innego niż zwykle wykorzystania prostych mechanizmów języka. W dzisiejszym wpisie chciałbym wyjaśnić działanie jednego z przypadków, z jakim styka się praktycznie każdy początkujący programista PHP, a każdy zaawansowany na pewno kilka razy widział jego wykorzystanie w “profesjonalnie” napisanej aplikacji internetowej.

Logika: Short-circuit evaluation.

Na początku chciałbym przypomnieć nieco podstawowe informacje dotyczące operacji logicznych i łączenia warunków. Otóż, w przypadku kiedy chcemy połączyć dwa warunki wykorzystując operator OR (“||”), tablica prawdy dla takiego wyrażenia będzie wyglądała następująco:

PHP: Błąd "Strict Standards: Redefining already defined constructor for class".
Podczas pisania pracy inżynierskiej natknąłem się na kilka ciekawych miejsc w kodzie, “produkujących” nieznane mi do tej pory błędy. Być może miałem świadomość ich istnienia, ale nie udało mi się jeszcze ich “popełnić”. W dzisiejszym wpisie chciałbym przedstawić Wam kolejny problem, tym razem dotyczący pewnych starszych mechanizmów języka PHP. Zapraszam do lektury. Wstęp: “obiektowość” PHP4. Zarówno wpis z wtorku, traktujący problemach związanych głównie z zagapieniem się programisty, jak i dzisiejszy wyjaśniający nieco dziwne podejście PHP do wprowadzonego przez niego w wersji piątej modelu obiektowości to konsekwencja całkiem sporej bazy kodu, jaki powstał podczas implementacji mojego frameworka.
[Windows] Konsola systemu operacyjnego Linux.

Każdy, kto kiedykolwiek zetknął się z Linuksem, czy też innymi “Uniksopodobnymi” systemami operacyjnymi na pewno zauważył, że przeniesienie przyzwyczajeń i sposobu myślenia z Windowsa nie jest proste. Sam zmagam się teraz z tym problemem, ponieważ na nowym komputerze, który mam zamiar nabyć w [mam nadzieję] niedalekiej przyszłości, chciałbym po raz kolejny [chyba już trzeci] dać szansę Debianowi na zajęcie pozycji głównego OSa - zwykle po pewnym czasie wracałem do niedających się wyrzucić “wspomnień” okienek, z których, w wersji XP, aktualnie korzystam. “Dysk” C: zamiast /dev/hda0, Panel Sterowania zamiast ustawień w /etc, klikanie myszą zamiast wpisywania poleceń oraz wiele innych “spraw życia codziennego” skutecznie uniemożliwiało mi “przezwyczajenie” się do otwartych rozwiązań. Tym bardziej, że uczelnia przez program MSDNAA daje darmową licencję na produkty Microsoftu… W każdym razie w życiu każdego człowieka, a szczególnie takiego związanego z nowymi technologiami [wszystko się zmienia w bardzo szybkim tempie], w pewnym momencie przychodzi czas na rewolucję, a przynajmniej przygotowanie do niej. Takim właśnie przygotowaniem była instalacja i konfiguracja “prawie natywnego” środowiska Linuksowego… pod Windowsem.

Czego potrzebuję?

Na początku pozwolę sobie opisać jak to zrobiłem, tak, abyś czytając kolejne rozdziały mógł skonfrontować swoje poglądy z moimi wnioskami. Tak więc - do dzieła!