[PHP] Błąd: Call-time pass-by-reference has been deprecated.

Od pewnego czasu korzystam z pewnej bardzo ciekawej aplikacji pomagającego w zarządzaniu projektami. Redmine, bo tak jej “na imię” spełnia praktycznie wszystkie moje wymagania w tym zakresie, poza faktem, że jej wydajność jest “mocno średnia” [jest napisana w Ruby on Rails]. Dzisiaj jednak siadając przy komputerze stwierdziłem, że spróbuję czegoś nowego. Ze względu na to, że miałem przez chwilę styczność z polecanym przez jednego z kolegów OpenGoo zaprosiłem “na warsztat” właśnie ten “kawałek kodu”.

[Linkdump #5] $('#blog .linkdump').append('jQuery');

Witajcie! Zapewne z wypiekami na twarzy każdy z Was czekał na kolejny Linkdump zastanawiając się o czym opowiem Wam tym razem. ;] Mając na uwadze ostatnie wpisy dotyczące języków programowania [no dobra, nie wszystkie ;]] pewnie spodziewaliście się “wzięcia na warsztat” jeszcze jednego z nich. Tymczasem dzisiaj postanowiłem pokazać Wam ciekawe materiały dotyczące jednej z bibliotek / frameworków języka JavaScript. Panie i panowie - przed Wami jQuery!

[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.

[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!

[Apache] Tworzenie wirtualnych hostów w systemie Windows.

W trakcie tworzenia strony internetowej oczywistą sprawą jest to, że chcielibyśmy przetestować, jak nasz produkt będzie sprawował się w środowisku produkcyjnym. Instalujemy więc lokalnie serwer testowy [np. WAMP, XAMPP] tak, aby wersje poszczególnych komponentów “pasowały” do tych, które będą obecne na serwerze docelowym. W ten sam sposób dostosowujemy też konfigurację tychże, tak, aby przeprowadzana symulacja była maksymalnie zgodna [np. ustawienia dotyczące register_globals czy magic_quotes_gpc - czasem można trafić na “ciekawy” serwer produkcyjny, stąd trzeba zadbać o wszystkie, nawet przestarzałe / zdeprecjonowane możliwości]. Dumni z siebie uruchamiamy serwer i wpisujemy w przeglądarce http://localhost/NaszProjekt/trunk/web/index.php…

[Linkdump #3] 1, 2, 3, 4... HTML5!

Witam w kolejnej odsłonie serii Linkdump, tym razem mam dla Was kilka ciekawych materiałów dotyczących coraz bardziej popularnej technologii jaką jest HTML5.

[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.

[Linkdump #2] CSS3 na koniec tygodnia.

Na wstępie pragnę przeprosić Was wszystkich za to, że nie udało mi się opublikować tego wpisu wczoraj, zgodnie z obietnicą sprzed tygodnia. Trochę słabo wygląda “sumienność”, którą łamie się już za drugim razem, ale ignorując zasadę “tłumaczy się tylko winny” muszę powiedzieć, że od ostatniej środy mam straszne problemy z dostępem do internetu w akademiku - zmiana administratora, a co za tym idzie dostosowanie reguł ruchu na routerze na wyjściu do jego wymagań spowodowały, że przez ostatni tydzień praktycznie byłem totalnie odcięty od Internetu ze względu na bany, jakie dostawałem za rzekome P2P. Na szczęście wydaje mi się, że już opanowałem sytuację, ale żeby nie przedłużać podam szczegóły pod koniec tego wpisu. Tym czasem zapraszam do zapoznania się z ciekawymi materiałami na temat CSS3 i jego nowych możliwości, które od pewnego czasu goszczą w najnowszych wersjach przeglądarek.

[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0x03: Macierz uprawnień.

W ostatnich wpisach z tej serii skupialiśmy się na zarządzaniu uprawnieniami pewnych grup użytkowników naszej aplikacji. Obszary dostępu to nic innego jak podział na dwie sztywne grupy posiadające [lub nie] dostępu do pewnych zabezpieczonych elementów systemu, zaś poziomy to tylko wykorzystanie abstrakcji do złożenia w jednym miejscu wielu obszarów. Opisując te sposoby “celowo zapominałem” o tym, że nie zawsze da się podzielić użytkowników na odpowiednie grupy, ponadto nie zawsze nadane uprawnienia muszą być sztywne - czasem chcemy np. dać dodatkowo jednemu zaufanemu użytkownikowi dostęp do statystyk witryny, albo przeglądania artykułów - wtedy musielibyśmy stworzyć albo oddzielny obszar albo nowy poziom, który notabene zburzyłby dotychczas istniejącą strukturę. Co zrobić z takim problemem?

[Linkdump #1] Trochę JavaScriptu i konkurs na początek. ;]

Pomimo wielkich i szczerych chęci nie dam rady [w skończonym okresie czasu ;]] opisać na blogu rozwiązania każdego problemu, tudzież stworzyć swojego rodzaju samouczka dla każdej potrzebnej Wam technologii / języka / środowiska. Rozmyślając więc nad możliwościami rozwijania tego bloga wpadłem na pomysł wprowadzenia serii wpisów, w których będę zamieszczał odnośniki do [moim zdaniem] interesujących artykułów / stron / materiałów / aplikacji / itp. znalezionych podczas przeglądania różnych stron internetowych. Ze względu na to, że mój czytnik RSS “pęka w szwach” od ilości czytanych kanałów, wyrażam głęboką nadzieję, że na pewno jakaś część informacji, które się tutaj w przyszłości ukażą pozwoli Wam na rozszerzenie wiedzy / znalezienie rozwiązania szukanego problemu.