30
lis
Autor: Marcin kategoria: Ogólne zapiski kusownika it-yka | Tagi :blogi, Nweb Framewor, PHP blog, polecane miejsca PHP | Brak komentarzy
Dzisiaj nic o rozwiązaniach tych czy innych… Dzisiaj po prostu mam do polecenia, blog kolegi po PHPowym fachu, z którym miałem możliwości i przyjemność realizować parę ciekawych projektów. Na pewno w miarę czasu znajdziecie na nim garść informacji. Zachęcam więc do jego regularnego, mniej lub bardziej, odwiedzania. Zapiski blogowe możecie znależć na stronie http://dev.kardasz.eu/. Ponadto zachęcam do zapoznania się z przez niego rozwijanym frameworkiem w ZFie pt. Nweb Framework. Miłej lektury.
22
lis
Autor: Marcin kategoria: Sprawy co-dzienne poza IT-yczne, Zapiski co w PHPie tyka | Tagi :klasa osłonowa dla PHP, php rzutowanie typów, rzutowanie w php, String PHP, typ String | Brak komentarzy
Jak wiadomo PHPe nie jest językiem o silnym typowaniu. W wyniku tego do funkcji możemy przesyłać praktycznie wszystko. Często brak wstępnego określania typu parametrów w deskryptorze metod/funkcji pogarsza jakość i czytelność kodu. Osobiście czytając czyjś kod lubię wiedzieć co przyjmuje funkcja/metoda tzn. jaki konkretny typ parametrów one przyjmują. Dość często powstaje różnego rodzaju pomieszania typów, czyli wchodzi string potem przemieniany jest na inta a na wyjściu na dodatek możemy dostać obiekt… Ponadto w PHPe pomimo bogatej proceduralnej biblioteki do obsługi łańcuchów znaków nie istnieje jej wersja obiektowa, a szkoda… Z tego też względu pokusiłem opisać szkicowe rozwiązanie umożliwiające połączenie przyjemnego z pożytecznym tj. utworzenie klasy osłonowej na typ String ułatwiającej operację na obiektach tego typu. Rozwiązanie to daje:
1. Możliwość pośredniego rzutowania na dobrze zdefiniowany typ String
2. Możliwość sprawdzania typu String przez interpreter, tego czy przekazujemy prawidłowy parametr do funkcji/metody
3. Ustala konwencję w kodowaniu i aplikacji.
W miarę możliwość w następnych dniach postaram się opisać prezentowane rozwiązanie. Póki co ograniczę się do przedstawienia samego kodu. Czytaj dalej
20
lis
Autor: Marcin kategoria: Sprawy co-dzienne poza IT-yczne, Zapiski co w PHPie tyka | Tagi :overloading and namespace, php overloading, php przeciążanie, php przeciążanie i przestrzeń nazw, php sposoby na przeciążanie, przeciążanie i przestrzeń nazw | Brak komentarzy
Jednym z najbardziej dla mnie niekomfortowych żeczy w PHPe jest brak możliwości przeciążania czy to funkcji czy też metod w kontekście OO. Jak wiadomo związane jest to z brakiem m.in. ścisłej kontroli typów. No cóż rzeczywistość jest jaka jest i trzeba do niej się dostosować. Najczęściej pojawiającym się zabiegiem w celu implementacji „przeciążania” metod jest użycie magicznych metod. Sposób takiej implementacji można podejrzeć w wpisie „Method Overloading in PHP5” na blogu Caught in a Web. Osobiście nie przepadam za tego rodzaju rozwiązaniami. Tak więc w wolnym czasie zacząłem główkować i kombinować jak to można by był zrobić troszkę inaczej. Z przemyśleń narodził się pomysł aby do „przeciążania” (pseudo przeciążania) wykorzystać namespace (opis dostępny w manualu PHP oraz na stronie z poradnikami IBMa „Create better namespaces in PHP”). Pomysł bazuje na prostych zasadach:
– wykorzystaniu bazowej przestrzeni nazw dla metod podstawowych które będą przeciążane, zaimplementowane lub nadpisane w klasach potomnych. Najlepiej wykorzystać abstrakcje,
– wykorzystaniu predefiniowanych przestrzeni nazw do enkapsulacji przeciążanych klas i ich metod,
– zamknięcie przestrzeni bazowej i predefiniowanej w jednym pliku (daje to swego rodzaju konwencję utrzymania kodu i jego standaryzację w obrębie realizowanego projektu). Ewentualnie można odpowiednio sobie porozbijać klasy na pliki. Opisu tego rozwiązania jednak nie dokonałem i jedynie skupiłem się na podstawowej strukturze – jeden plik.
Przykładową implementację całości rozwiązania bazującego na ww. zasadach przedstawiłem poniżej. Miłego czytania i zapoznawanie się z pomysłem. Czytaj dalej
18
lis
Autor: Marcin kategoria: Ogólne zapiski kusownika it-yka, Zapiski co w PHPie tyka | Tagi :generowanie wsdl, generowanie wsdl dla php, klasy php do wsdl, php to wsdl, php webservices, php wsdl, web services php, webservices | Brak komentarzy
Właśnie, web serwisy ważna technika w codziennej pracy programistycznej… Właśnie sobie przypomniałem, że istnieje framework dla PHPa to tworzenia web serwisów i generowania WSDLa z odpowiednio otagowanej klasy. Bliższe szczegóły możecie znaleźć na stronie WSF PHP | WSO2, natomiast mały wstęp pokazujący co i jak i w dodatku po polsku można odnaleźć na „Jak napisać w PHP własny Web Service korzystając z rozszerzenia WSF / WSO2.”. Powodzenia i miłego programowania.
Do generowania WSDLa podobno nadaje się Webservice Helper znajdujący się na jool.ln ale tego rozwiązania nie stosowałem, jeśli ktoś miał z nim do czynienia to zachęcam do podzielenia się doświadczeniem.