Kategoria: Programowanie

Premiera PHP 5.4. Zmiany warte twojej uwagi

Po spektakularnych zapowiedziach PHP6, a następnie hucznym upadku całej koncepcji, developerzy PHP postanowili skupić się na rozwijaniu serii 5. W marcu 2012 roku oficjalnie ukazała się stabilna wersja PHP 5.4. Skupiono się na przeczyszczeniu kodu z archaicznych rozwiązań takich jak register_globals, magic_quotes, czy safe_mode. Według zapowiedzi developerów znacznie poprawiono wydajność interpretera (o ok. 20% obniżenie czasu wykonania, oraz zużycia pamięci). Ze zmian wartych uwagi należy jeszcze wspomnieć o zmianie standardowego ustawienia default_charset z ISO-8859-1 na UTF-8. Standardowo poprawiono ogromną liczbę błędów, usprawniono wiele funkcji, których listę (dla ambitnych) można znaleźć na tej stronie: http://php.net/ChangeLog-5.php. W dalszej części artykułu przedstawię krótko, moim zdaniem, najciekawsze nowe możliwości języka PHP.

Skrócona składnia tablic

Bardzo fajne wprowadzenie skróconej składni. Możemy definiować naszą tablice w stary sposób:

$numbers = array('one','two','three');

Ale od wersji 5.4 możemy to zrobić tak:

$numbers = ['one','two','three'];

$numbers = ['one' => 1, 'two' => 2, 'three' => 3];
Czytaj dalej...

5 zaawansowanych przykładów wykorzystania CSS3

CSS3 na dobre zawitało do naszych stron i aplikacji internetowych. W moich projektach staram się regularnie korzystać z możliwość jakie daje mi najnowsza wersja CSS. Zwłaszcza sporym ułatwieniem były podstawowe funkcje, jak zaokrąglenia rogów, cienie i przezroczystość. Znacząco usprawniły i przyspieszyły kodowania stron internetowych. Warto jednak zapoznać się z bardziej zaawansowanymi możliwościami CSS3, które z czasem będzie warto implementować w swoich serwisach. Oto 5 ciekawych tutoriali dotyczących zaawansowanych funkcji CSS3.

Wykorzystanie funkcji filter w CSS3

Filter w CSS3

Bardzo interesujący poradnik, krok po kroku przedstawiający działanie funkcji filter. Całość została zaprezentowana w formie przykładowego portfolio. Efekt jest rewelacyjny. Zachęcam do zapoznania się z artykułem i analizą dostępnego kodu.

Czytaj dalej...

Gdzie szukać porad i rozwiązań problemów z PHP

Ciężko mi w to uwierzyć, ale Webnote w zamyśle miał być blogiem, w którym miały dominować wpisy na temat PHP. Do tej chwili mamy ich „całe” 6. W tym wpisie chciałem wyjaśnić dlaczego tak jest, oraz gdzie najczęściej znajduje rozwiązania najpopularniejszych problemów. Przy okazji może ktoś podrzuci ciekawy temat do opracowania na blogu.

Dlaczego ciężko o ciekawy artykuł o PHP

Od początku wychodziłem z założenia pomijania typowych tematów dla blogów o PHP, czyli opisywania podstaw programowania obiektowego, czy tłumaczenia kolejnych wzorców projektowych. Raz, że zagadnienia te były opisane do bólu już parę lat temu, a dodatkowo uważam, iż tego typu wpisy najlepiej wyjaśnione są w przeznaczonej do tego literaturze.

Postanowiłem, że najlepszym rozwiązaniem będzie pisanie o bieżących problemach, które napotkam podczas pracy dla swoich klientów, czy projektów realizowanych w wolnym czasie. Tu pojawił się jednak problem. Język PHP jest tak popularnym i prostym językiem, że znalezienie rozwiązań większości napotkanych problemów kończyło się na kilkuminutowym korzystaniu z googla. Z drugiej strony opisywanie trudniejszych zagadnień jest kłopotliwe, ze względu na problem wyciagnięcia kodu z kontekstu aplikacji. Jest to jedna z wad nie korzystania z popularnych Framewoków.

Czytaj dalej...

Underscore.php – biblioteka przydatnych funkcji w PHP

Underscore.php to nic innego jak bezpośredni port bardzo popularnej wśród programistów JavaScript biblioteki Underscore.js. Zapewnia nam ona bardzo dużą liczbę prostych, ale często przydatnych funkcji, które ułatwią nam pracę w PHP. Jestem pewien, że wiele z tych funkcji już sami sobie napisaliście podczas tworzenia swoich aplikacji, ale moim zdaniem warto przeglądnąć możliwości jakie daje nam stosowanie Underscore.php

W ramach biblioteki otrzymamy następujące narzędzia:

  • zarządzanie kolekcjami
  • zarządzanie tablicami
  • wspomagające tworzenie  funkcji
  • zarządzanie obiektami

Myślę że warto pokazać kilka przykładowych możliwości Underscore.php. Jedną z ciekawszych funkcji jest metoda map, która pozwala nam zastosować jakąś funkcje na wszystkich kolejnych elementach kolekcji lub tablicy np.:

$result = __::map(
array(1, 2, 3),
function($num)
{
return $num * 3;
}
);

zwróci nam wynik w postaci:

array(3, 6, 9)

Kolejnym ciekawym przykładem jest metoda max, która pozwala nam pobranie maksymalnej wartości danej kolekcji lub wielowymiarowej tablicy według interesującego nas kryterium. Poniżej przykład:

$stooges = array(
array('name'=>'moe', 'age'=>40),
array('name'=>'larry', 'age'=>50),
array('name'=>'curly', 'age'=>60)
);

__::max($stooges, function($stooge) { return $stooge['age']; });

Co ostatecznie zwróci nam wynik w postaci tablicy, która posiada najwyższą wartość “age” razem z pozostałą wartością danej tablicy.

array('name'=>'curly', 'age'=>60)

Polecam przeglądnąć bardzo prostą dokumentacje znajdującą się na stronie głównej biblioteki, która zawiera zrozumiałe i obrazowe przykłady działania poszczególnych funkcji. Underscore.php wymaga PHP w wersji minimum 5.3 lub wyższej, choć nie powinno to obecnie być dużym problemem, warto o tym wspomnieć. Polecam także poczytać trochę o anonimowych funkcjach w PHP, gdyż są one często stosowane wraz z tą biblioteką.

Czytaj dalej...

CSS3 transition – co to jest i jak z tego korzystać

CSS3 transition to niedawno wprowadzona możliwość tworzenia płynnego, zmieniającego się w funkcji czasu, parametru zdefiniowanego w CSS. Najprościej będzie to wytłumaczyć na przykładzie. Weźmy pod uwagę nawigacje dowolnej strony, często po najechaniu na dany link zobaczymy np. zmianę koloru tła. Tradycyjnie odbywało się to natychmiastowo, jednak za pomocą Transitions możemy sprawić, aby zmiana ta odbywała się stopniowo. Pozwala to nam na w miarę proste ożywienie naszej strony, bez wykorzystania bibliotek typu jQuery.

W tym miejscu od razu chciałbym przestrzec przed nadmiernym wykorzystaniem tej funkcji, najczęściej strony pełnią funkcje informacyjną i nie jest wymagane, aby cały projekt nam skakał, albo nie daj boże grał.

Jak wygląda funkcja CSS3 transition?

transition : <transition-property> || <transition-duration> || <transition-timing-function> || <transition-delay>

Jest to skrócona wersja tej funkcji, podobnie jak w przypadku border, możemy kolejno definiować dane parametry np.: transition-property, transition-duration, transition-timing-function oraz transition-delay.

Opiszmy teraz za co odpowiadają dane funkcje:

  • transition-property – odpowiada za to jaką funkcje mamy objąć transition, czyli jeżeli chcemy aby z czasem zmienił się nam kolor tła, to ustawiamy – background-color. Domyślnym parametrem jest all, czyli CSS transition będzie działa na wszystkie obsługiwane funkcję. Oto lista obsługiwanych parametrów.
  • transition-duration – czas trwania przejścia.
  • transition-timing-function – funkcja czasu, zaprezentowana w formie krzywej beziera. Istnieje 5 zdefiniowanych funkcji gotowych do wykorzystania pod nazwami: ease, linear, ease-in, ease-out, ease-in-out. Możemy także zdefiniować własną funkcję przy pomocy cubic-bezier. Pomocna w tym przypadku może okazać się strona http://cssglue.com/cubic.
  • transition-delay możliwość zdefiniowania opóźnienia całej przemiany.

Wsparcie dla przeglądarek

CSS transtions obsługiwane jest obecnie przez Chrome, Safari, Opera 10.5+, Firefox 4+. Z zapowiedzi wynika, iż wersja 10 IE również ma posiadać ich obsługę, czy w pełnym stopni? Trudno powiedzieć. Oczywiście należy pamiętać o dodawaniu prefilksów: -o-, -moz-, -webkit-, oraz -ms- właśnie ze względu na przyszłość.

Czytaj dalej...

Copyright © 2017 Webnote

Projekt i wykonanie: Xelos

Dodaj link