lutego 13 2008

Nagły zryw CodeIgniter - ostatni?

Tag: PHPMatheW @ 13:26

Na przestrzeni dwóch tygodni wydano 2 nowe wersje frameworka CodeIgniter 1.6.0 i 1.6.1. O ile pierwsza aktualizacja była dość spora, to druga przynosi niewiele zmian, ale i tak jak na projekt, który wydawał się umierać, taki nagły zryw może zdumiewać.

Z głównych zmian, jakie przyniosły nowe wersje wyróżnić można nową klasę DBForge do manipulacji bazami danych i ich tabel, dodanie nowych przydatnych metod do Active Record (tyle, że nie wiedzieć czemu ten twór przyjmuje taką nazwę - przykładową implementację wzorca Active Record można zobaczyć tu), a także wiele innych zmian, nowych funkcji i poprawek bugów. Pełny opis zmian w ChangeLog.

Czy te zmiany uratują ten framework? Raczej nie. Perspektywa znanej nam z CI elastyczności i lekkości, wzbogacona o nowe możliwości, PHP5, dynamikę rozwoju i inne plusy Kohany przekonuje, że to raczej w tym frameworku drzemie przyszłość. Tym bardziej, że zmiany w CI nie są jakieś rewolucyjne, dodatkowo developerzy nie zapowiadają przejścia na PHP5.

Biorąc to wszystko pod uwagę przechodzę na Kohane, podobnie zresztą czyni sporo dotychczasowych użytkowników CI. W każdym bądź razie do CI zostanie sentyment, sporo w końcu w nim czasu się bawiłem.

PS. Zarejestrowałem bloga na nowo powstałym Blogbox. Jak komuś podoba się mój blog, to proszę pomóc mu dostać się tam poprzez głosowanie :]

Dodatkowo zainspirowany notką założyłem sobie OpenID na myopenid.com oraz dodałem wtyczkę OpenID do Wordpressa także możecie pisać komentarze za pomocą swojego OpenID :)


listopada 30 2007

FeedGenerator - generator kanałów RSS, Atom w PHP

Tag: Internet, PHPMatheW @ 2:07

Jakiś czas temu stworzyłem na własne potrzeby generator kanałów RSS oraz Atom. Dziś pomyślałem, że z chęcią się skryptem podzielę i wystawię go do oceny. Długo myślałem nad licencją, aż wybrałem GPL. Mimo braku takich zastrzeżeń w treści tej licencji to było by mi bardzo miło, gdyby po ewentualnych modyfikacjach kodu pozostawiony był komentarz o pierwotnej wersji aplikacji.

Skrypt działa jedynie w PHP5 z rozszerzeniem DOM. Kod generowany przez mój skrypt w pełni się waliduje, zarówno dla RSS jak i Atomu.

23.01.2008 - wersja 1.1 - dodane wyjątki, metoda display i angielskie komentarze.

Przykład wykorzystania:

PHP:
  1. try {
  2.     include('FeedGenerator.php');
  3.     $feeds=new FeedGenerator;
  4.     $feeds->setGenerator(new RSSGenerator); # or AtomGenerator
  5.     $feeds->setAuthor('mat.wojcik@gmail.com (MatheW Wojcik)');
  6.     $feeds->setTitle('Example Site');
  7.     $feeds->setChannelLink('http://example.com/rss/');
  8.     $feeds->setLink('http://example.com');
  9.     $feeds->setDescription('Description of channel');
  10.     $feeds->setID('http://example.com/rss/');
  11.  
  12.     $feeds->addItem(new FeedItem('http://example.com/news/1', 'Example news', 'http://example.com/news/1', '<p>Description of news</p>'));
  13.     $feeds->addItem(new FeedItem('http://example.com/news/2', 'Example news', 'http://example.com/news/2', '<p>Description of news</p>'));
  14.  
  15.     $feeds->display();
  16. }
  17. catch(FeedGeneratorException $e){
  18.     echo 'Error: '.$e->getMessage();
  19. }

Pokaż cały kod
Kod można pobrać stąd.
Dostępna jest również dokumentacja.

Znalezione błędy proszę zgłaszać na maila mat.wojcik@gmail.com. Innego rodzaju opinie proszę zamieszczać w komentarzach pod postem


sierpnia 04 2007

Serializacja w PHP

Tag: PHPMatheW @ 3:46

Na początku standardowa, książkowa definicja serializacji (oczywiście z Wikipedii):

Serializacja – w programowaniu komputerów proces przekształcania obiektów, tj. instancji określonych klas, do postaci szeregowej, czyli w strumień bajtów, z zachowaniem aktualnego stanu obiektu. Serializowany obiekt może zostać utrwalony w pliku dyskowym, przesłany do innego procesu lub innego komputera poprzez sieć. Procesem odwrotnym do serializacji jest deserializacja. Proces ten polega na odczytaniu wcześniej zapisanego strumienia danych i odtworzeniu na tej podstawie obiektu klasy wraz z jego stanem bezpośrednio sprzed serializacji.

Serializacja jest bardzo przydatna - dzięki niej możemy zapisać stan obiektu, tablicy czy innej zmiennej do specjalnego ciagu , a następnie przykładowo do bazy danych, czy pliku, lub nawet sesji - a w przyszłości z ów zmiennej skorzystać, co przydaje się np. przy cachowaniu.

Continue reading "Serializacja w PHP"


lipca 28 2007

Wzorce Projektowe

Tag: PHPMatheW @ 1:23

Na początku wypada wyjaśnić co to są te tytułowe wzorce projektowe. Otóż wzorzec projektowy (z ang. design pattern) to rozpowszechnione w społeczności programistów danego języka (bądź ogólnie programistów) rozwiązanie powszechnego problemu, sytuacji, z którą możemy się spotkać w czasie projektowania aplikacji. Wzorzec określa dany problem, prezentując jedno, lub więcej jego rozwiązanie.

Stosowanie wzorców tworzy kod znacznie czytelniejszym, przejrzystszym, łatwiejszym do modyfikacji zarówno przez siebie, jak i innego programistę, który miałby za zadanie rozwijać projekt. Dzięki nim nie jesteśmy zmuszani wynajdować na nowo koła i samodzielnie rozwiązywać postawionego przed nami zadania, poprzez to, że wzorce są powszechnie dostępne chociażby w takim serwisie jak phppatterns.com.

Continue reading "Wzorce Projektowe"


lipca 21 2007

Eclipse - porady

Tag: Eclipse, PHP, SoftwareMatheW @ 1:55

W poprzedniej notce przedstawiłem prawdziwy kombajn do webdevelopingu – potężny edytor Eclipse. Tym razem chcę napisać parę praktycznych rad przydatnych przy korzystaniu z tej aplikacji, by nasza obsługa Eclipse była jeszcze wygodniejsza.

Continue reading "Eclipse - porady"


« Poprzednia stronaNastępne »