[PHP] Funkcje / metody o zmiennej liczbie parametrów.
Języki skryptowe mają to do siebie, że dzięki wprowadzonej abstrakcji interpretera możliwa jest o wiele szersza ingerencja w sposób działania już uruchomionego skryptu. PHP jest jednym z takich języków, stąd czasem potrafi zadziwić swoimi możliwościami, dając nam narzędzia zarówno bardzo pomocne jak i proste w użyciu. W niniejszym wpisie chciałbym Wam przedstawić jedno takie narzędzie - funkcje o zmiennej liczbie parametrów. Wstęp. Jeśli mieliście kiedykolwiek do czynienia z językiem C lub C++ pewnie zastanawialiście się jak działa np.
[Linkdump #4] Z kamerą wśród serwerów - elePHPant.

W ostatnich trzech częściach serii skupiłem się na materiałach dotyczących technologii obecnych po stronie użytkownika - HTML5, CSS3, a także JavaScript [z małym wyłączeniem Node.js] ze stroną serwera ma [poza ewentualnym przygotowaniem] niewiele wspólnego. Czas więc stanąć po drugiej stronie barykady i zmierzyć się z tym, co jest obecne po stronie serwera. Panie i Panowie: PHP!

Linkdump.

1. Practical PHP Programming. Jeśli chcecie naprawdę zostać “przeczołgani” przez wszystkie możliwe aspekty programowania w tym języku, ta “książka” dostarczy naprawdę bardzo pomocnych materiałów.

[PHP] Wstawianie wywołań funkcji w bloku HEREDOC.
Zazwyczaj podczas tworzenia klas implementuję w nich własne metody “podsumowujące” aktualny stan obiektu. W zdecydowanej większości przypadków to, co sam stworzę jest o wiele wygodniejsze w czytaniu niż np. wynik funkcji var_dump(). ;] Do tej pory podczas tworzenia takich metod korzystałem wyłącznie z konstrukcji echo i jej podobnych, jednak tym razem zdecydowałem się na ułatwienie sobie pracy i wykorzystanie składni HEREDOC, o której wcześniej tylko czytałem, a nie miałem okazji sprawdzić jej faktycznej przydatności.
[C++] Klasy zaprzyjaźnione: "co je twoje, to je moje, a co moje, to nie rusz".

Dzisiaj czytałem nieco o klasach zaprzyjaźnionych w języku C++ [ang. friend classes] i podczas lektury jednego z artykułów przypomniało mi się znane z podstawówki powiedzenie “co je twoje, to je moje, a co moje, to nie rusz”. Przez chwilę patrzyłem na przykładowy kod i nagle wpadł mi do głowy pewien pomysł. Wymyśliłem implementację tego powiedzenia w C++. ;] Oznaczenie klasy jako zaprzyjaźnionej z inną oznacza m. in. to, że wszystkie atrybuty tej pierwszej, niezależnie od klasyfikatora dostępu [public, protected, private] stają się dostępne dla drugiej bez żadnych ograniczeń. Pierwsza klasa “przekazuje” wszystkie informacje o sobie tej drugiej tak, jakby kwalifikatorem dostępu dla wszystkich jej elementów [atrybutów i metod] było słowo kluczowe public. Analogia jest, przynajmniej dla mnie, bardzo wyraźna. ;]