Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu php Kanał ATOM (tag: php)

Autor wpisu: zleek, dodany: 30.12.2011 10:59, tagi: php, zend_framework, css

Zapewne każdy, komu przyszło tworzyć formularz z wykorzystaniem komponentu Zend_Form spotkał się z problemem związanym z wyświetlaniem elementów typu hidden – Zend_Form_Element_Hidden. W celu pozbycia się standardowo generowanych elementów dt i dd, w które są opakowane poszczególne elementy formularza przygotowałem klasę SmartGroup_Model_Form, która dziedziczy po Zend_Form. Natomiast każdy formularz dziedziczy z kolei po SmartGroup_Model_Form, zamiast [...]

Autor wpisu: zleek, dodany: 26.12.2011 22:35, tagi: php, zend_framework, mysql

Klasa Zend_Db_Table jest zorientowanym obiektowo interfejsem pomiędzy naszym kodem, a tabelami w bazie danych. Widać więc, że ułatwia nam pracę tym bardziej, że dostarcza ona metody do wielu podstawowych operacji na danych przechowywanych w bazie. Dodatkową zaletą jest fakt, że użytkownik nie musi ingerować w poszczególne zapytania. Przygotowaniem odpowiednich zapytań dostosowanych do użytkowanej bazy danych [...]

Autor wpisu: zleek, dodany: 25.12.2011 21:16, tagi: php, zend_framework

Do tworzenia aplikacji w języku php używałem na początku Eclipse PDT, jednak od ponad roku przesiadłem się na Jetbrains PhpStorm. Obecnie to IDE dostępne jest w najnowszej wersji 3.0. Przez cały czas jednak zastanawiałem się, w jaki sposób rozwiązać problem podpowiadania składni w sytuacji, gdy metoda zwraca nam tablicę obiektów. Dla przykładu: Przykład może nie [...]

Autor wpisu: zleek, dodany: 25.12.2011 00:00, tagi: php, zend_framework, mysql

W najnowszym projekcie spotkałem się z dość dziwnym problemem dotyczącym wykonywania zapytania, podczas którego należało zrobić join na dwóch tabelach. Tabela, dla której przygotowywane było zapytanie została zdefiniowana następująco: Natomiast kod, który odpowiedzialny był za wykonanie zapytania prezentuje się następująco: Niestety przy próbie wykonania tego zapytania otrzymałem wyjątek “Zend_Db_Table_Select_Exception” z komunikatem: “Select query cannot join [...]

Autor wpisu: zleek, dodany: 24.12.2011 17:19, tagi: php, apache

W tym wpisie postaram się przedstawić krok po kroku, co należy zrobić, abyśmy na naszej maszynie mieli zainstalowany PHPUnit oraz Xdebug, które to będą potrzebne do tworzenia testów jednostkowych oraz mierzenia pokrycia kodu testami. Zakładam, że użytkownik ma na swojej maszynie zainstalowany podstawowy zestaw, czyli Apache, PHP oraz MySQL, choć baza danych jest tutaj opcjonalna. [...]

Autor wpisu: Tomasz Sh4dow Budzyński, dodany: 16.12.2011 15:30, tagi: php

Jako że web developer goni za nowościami, przyszedł czas na upgrade serwerów testowych (przed wdrożeniem na produkcję). Czy zwykła zmiana wersji mogła odbyć się bez problemów ? Oczywiście że nie. To akurat wie każdy.

Korzystamy dla przechowywania sesji Memcached. Po pierwsze w miarę szybkie i ładnie działa, po drugie sesja jest wsþółdzielona pomiędzy sporo serwerów. Oczywiście logowanie przez SSL’a przestało działać.

Więc w pierwszej kolejności pretensje poszły do naszej aplikacji „Znowu coś zjebaliście !”, później memcache i na koniec serwer. A nie winne były ustawienia PHP. Jeśli posiadacie serwer oparty na Debianie lub jego potomków, sprawdźcie czy macie zainstalowane rozszerzenie Suhosin, a jeśli tak to czy poniższe zmienne macie tak ustawione.

suhosin.session.encrypt = off
suhosin.session.cryptua = off

To magiczne rozszerzenie ma skłonności to innego sposobu zapisywania danych w naszej sesji. Jest to string base64 po rozkodwaniu którego znajdujemy jakiś bliżej nie określony zapis binarny. Którego nie mamy jak rozkodować. Sytuacja jest o tyle dziwna, że ta sama domena z SSL’em i bez są traktowane jak by były osobno ale nie. Sesje pomiędzy tak parą domen są osobne. Każda zapisuje się oddzielnie, pod tym samym session_id. Oczywiście parametry sesji są ustawione tak żeby domeny wspólnie korzystały z sesji. Niestety nie udało mi się rozkodować tego co sesja zapisuje. Może jeszcze znajdę chwile to postaram się zrozumieć to zjawisko. W każdym bądź razie. Rozszerzenie wyłączyć lub zmienić ustawienia i problemy znikają.

Autor wpisu: batman, dodany: 09.12.2011 08:00, tagi: php

Zend Developer Cloud w przeciwieństwie do PHP Fog oferuje możliwość logowania się do chmury przy pomocy protokołu SFTP. Stwarza to dodatkowe możliwości deploy’u aplikacji do chmury. Jeśli korzystacie z PHPStorm i z jakiegoś powodu nie chcecie/nie możecie używać Gita do przesyłania aplikacji do chmury, deploy wykonacie przy pomocy wbudowanego narzędzia Deployment.

Zanim zaczniemy, musimy przygotować nowy projekt. W tym celu w serwisie my.phpcloud.com należy utworzyć nową aplikację (nazwa na załączonym obrazku jest przykładowa, możecie użyć własnej).

1

Następnie musimy sklonować repozytorium projektu (jest to jedyny raz, gdy użyjemy gita). W celu sklonowania repozytorium najlepiej skorzystać z wbudowanych w PHPStorm narzędzi.

2

Jedyne co nam pozostało do zrobienia, to skonfigurowanie narzędzia Deployment. Aby to zrobić, z menu Tools wybieramy opcję Deployment. W oknie, które się pojawi, uzupełniamy nazwę hosta, zmieniamy port na 22, podajemy ścieżkę do klucza prywatnego będącego parą do klucza publicznego przesłanego do chmury, a na końcu wybieramy katalog root.

3

W zakładce Mappings musimy wskazać katalogi, które mają się synchronizować.

4

Ostatnią czynnością jaką musimy wykonać jest ustawienie nowoutworzonej konfiguracji jako domyślnej oraz włącznie opcji automatycznego uploadu. Wystarczy teraz, że dodamy, usuniemy lub zmodyfikujemy plik, a zostanie on automatycznie zsynchronizowany z projektem w chmurze. Jeśli okaże się, że pliki nie synchronizują się automatycznie, niezbędne będzie jednorazowe ręczne wysłanie plików.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.