Git hooks

Kilka prostych hooks, które przydadzą się dla osób pracujących z git/gitlab oraz bugzilla i redmine. Dzięki nim można zautomatyzować trochę nasze procesy commit oraz push. A co najważniejsze: wszystko to możemy napisać w php.

NeptunIDE - edytor online

Niedawno dostałem info o nowy edytorze online NeptunIDE. Co to jest? Wyręczę się informacją prasową:

NeptunIDE to polski startup, który tworzy zintegrowane środowisko programistyczne (IDE) dla PHP działające w chmurze.
[...]
NeptunIDE to środowisko programistyczne, które stawia na szybkość działania, podpowiadanie składni i wsparcie dla frameworka CakePHP.
Przeprowadziliśmy ankietę wśród ponad 500 programistów PHP z całego świata. Odpowiedzi były niemal jednomyślne: dla zdecydowanej większości programistów najważniejsze jest jak najbardziej precyzyjne podpowiadanie kodu, w każdym możliwym momencie, a najbardziej denerwującą rzeczą w używanym przez nich oprogramowaniu jest szybkość, zużycie pamięci i responsywność. Oczywiste wiec dla nas było, że na te dwie potrzeby użytkowników musimy postawić tworząc NeptunIDE. Trzecia cecha naszego produktu - specjalne wsparcie dla CakePHP - to nasza własna propozycja.

Klasa widoku - poprawki

Z racji, że było kilka uwag do klasy View, wprowadziłem parę poprawek. Klasa niestety nie jest kompatybilna wstecz, głównie ze względu na wprowadzenie namespaceów. Głowne zmiany/dodatki:

  • Wprowadzenie namespace
  • Likwidacja właściwości statycznych
  • Możliwość ustawienia by klasa rzucała wyjątkami zamiast zwykłymi błędami jak do tej pory
  • Dodanie metod pozwalających akcji na dodawanie własnych kodów js/css/meta w nagłówku strony (przykład w akcji login.php)
  • Możliwość definiowania core'owych pluginów. Na chwilę obecną dołączam jeden plugin HtmlOptions, który na podstawie tablicy danych generuje OPTION dla pola SELECT

Najnowsza wersja posiada numerek 1.1 i jest do pobrania w dziale download.

Klasa widoku

Często na Waszych stronach wstawiacie jakiś system szablonów, np. Smarty. A potem biegacie po forach z pytaniami a jak zrobić to a jak tamto w takim Smarty. Dodatkowo taki system to jedna wielka kobyła, która na dobrą sprawę w niczym nie usprawnia życia, a wręcz czasami komplikuje. Często wpadacie na pomysł, by napisać własny system szablonów. Ale to również nie jest zbyt dobry pomysł. Zadam Wam pytanie: ale po co w ogóle bawić się w system szablonów? Odpowiecie zapewne: by oddzielić wygląd aplikacji od jej logiki. Tak, po to. Ale po co bawić się w system szablonów, który oprócz wprowadzanie własnej nowej składni nie robi tak naprawdę nic użytecznego. Może po prostu wprowadzić system, który będzie operował jedynie na czystym HTML oraz PHP. Wówczas nie trzeba poznawać żadnej nowej składni ani bawić się w dzikie parsowania szablonów. I taką właśnie klasę widoku chcę Wam dziś pokazać.

Źle rysujący imagefilledpolygon

Niedawno bawiąc się biblioteką pChart, służącą do rysowania wykresów, natrafiłem na pewien błąd. Rysując wykres kołowy 3d z dużą ilością danych, gdzie kilka z nich miały procentowy udział około 1% okazało się, że wykres jest źle rysowany. Dla mało procentowych wartości ich kawałek wykresu był rysowany jakby z przerwami. Od razu uznałem, że jest to błąd klasy pChart, która nie radzi sobie z małymi danymi i tam właśnie zacząłem szukać błędu. Okazało się jednak inaczej....

Ładne url'e (nice url)

Dziś przedstawię Wam jak w łatwy sposób stworzyć ładne url'e we własnej aplikacji. Wielu początkujących programistów tworzy cały mechanizm ładnych url'i w całości oparty na mod-rewrite i pliku htaccess. Niestety takie podejście jest mało elastyczne i na dłuższą metę uciążliwe. Pokażę Wam inną metodę, gdzie cały mechanizm przetwarzania linków zawarty jest w kodzie php. Chcę od razu zaznaczyć, iż nie będzie tu żadnej super hiper obiektowości, rutingu i innych super hiper bajerów. Artykuł ma na celu pokazać jak prosto zrobić ładne linki i poznać podstawy tej konstrukcji.

Co trzy - wyświetlanie danych

Dzisiaj omówię wyświetlanie rekordów "co trzy". Piszę co trzy, gdyż zazwyczaj na forum pytają o trzy. Oczywiście podane przeze mnie metody można zastosować do wyświetlania co pięć, dziesięć i ile Wam się będzie chciało. Wyświetlanie w standardowy sposób, czyli od lewej do prawej, jest banalnie proste. Piszę jednak ten artykuł, gdyż przedstawię również metodę z góry do dołu - co jest już ciutkę trudniejsze. Tak czy siak na pewno komuś się przyda.

E_NOTICE - wyświetlać czy nie?

Zainspirowany ostatnimi wypowiedziami początkujących (i nie tylko) programistów php, postanowiłem skrobnąć małe co nie co na temat błędów E_NOTICE. Niektórzy mogą mi zarzucić, że E_NOTICE to nie błąd, lecz ja słowo "błąd" użyłem celowo i z pełną świadomością. Zapewne bardziej fachowo należałoby napisać "komunikaty" E_NOTICE, aczkolwiek słowo komunikat to przecież komunikat więc można olać, a błąd to już coś poważniejszego, więc może by warto na niego zwrócić uwagę. Także by nie usypiać uwagi początkujących programistów (jak i niestestety tych już uważających się za niepoczątkujących) będę używał słowa "błąd".

Opcje dwuwartościowe - przechowywanie

Często nasze tabele w bazie danych zawierają pola, która mogą przyjmować dwie wartości (dwa stany): 0 i 1. Na przykład tabela z użytkownikami zawiera pole ZABLOKOWANY, które mówi czy użytkownik jest zablokowany czy nie. Jeśli jest zablokowany to przyjmuje wartość 1 a jeśli nie jest - wartość 0. Wszystko ładnie pięknie gdy są to pojedyncze pola i nie zajmują dużo miejsca. Ale co w przypadku gdy nasza tabela zawiera kilka, kilkanaście lub nawet kilkadziesiąt opcji opisu (np. tabela z ofertami, która zawiera pola OPCJA_1, OPCJA_2, OPCJA_3, .... OPCJA_N) ? Czy mamy wówczas też tworzyć kilkadziesiąt pól na każdą z opcji o możliwych wartościach 0 i 1? Nie - tutaj z pomocą przyjdzie nam system dwójkowy (binarny) oraz operacje bitowe.

1  2    >

Ostatnio komentowane

  1. ShoutBox nospor
  2. ShoutBox Artur
  3. PHP South Coast conf... nospor
  4. PHP South Coast conf... srednioZaawansowanyPHPowiec
  5. Docker - podstawowy ... nospor
  6. Docker - podstawowy ... Leelum
  7. Pager nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer