Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Jacek Skirzyński, dodany: 31.05.2014 23:48, tagi: php

Kiedy projekt dochodzi do etapu, w którym trzeba/warto pokazać go „na zewnątrz” trzeba go jakoś wdrożyć na serwerze. Automatyzacja całego procesu budowania i wdrożenia jest ważna a wgranie plików na serwer jest jednym z etapów. W jego realizacji z wykorzystaniem FTP może pomóc Phing i zadanie FtpDeployTask. Żeby móc z niego skorzystać trzeba mieć w systemie pakiet PEAR: Net_FTP.

<ftpdeploy 
  host="${ftp.host}" 
  port="${ftp.port}" 
  username="${ftp.username}" 
  password="${ftp.password}"
  dir="${ftp.dir}" 
  passive="false"
  <fileset dir="dist">
    <include name="**"/>
  </fileset>
</ftpdeploy>

Jak widać powyżej użycie tego zadania jest banalnie proste (jeżeli jednak nie, to polecam moje wcześniejsze wpisy nt. Phinga).

Za dobry pomysł uważam budowanie projektu dla środowisk „zewnętrznych” w osobnym katalogu (ignorowanym przez IDE). Dzięki temu można uwzględnić strukturę katalogów na serwerze (np. umieszczenie plików wywoływanych przez cron w innym katalogu niż projekt). Dodatkową zaletą jest fakt, że mając odwzorowaną strukturę katalogów z serwera w podkatalogu można również wgrać pliki z wykorzystaniem klienta FTP. Przy mało stabilnym połączeniu internetowym wgranie plików projektu może być utrudnione ponieważ błąd wgrania jednego pliku przerywa wykonywanie całego zadania.

Przydatne linki:

Autor wpisu: Śpiechu, dodany: 17.05.2014 10:11, tagi: php

Zend Certified Engineer LogoMiło mi poinformować, że uzyskałem certyfikat Zend Certified PHP Engineer 200–550 oparty o PHP 5.5. Oznacza to, że moje wpisy dot. PHP mają troszkę większą wagę niż dotychczas. Pytań wam nie powiem, bo mi nie wolno (a ok. 20 pamiętam dosyć dokładnie). Dali papier do podpisania, że będą legal actions jak nie posłucham.

W skrócie o egzaminie:

  • całość w języku angielskim,
  • 70 losowych pytań dosyć dobrze zbalansowanych, trochę z każdej dziedziny,
  • 90 min. czasu (wg mnie wystarczająco), zegarek w prawym górnym rogu,
  • dostajesz mazak i kartkę, na której możesz sobie rzeźbić operacje bitowe,
  • możliwość oznaczania pytań jako flag for review i powrotu jeśli zostanie chwila czasu,
  • nie da się zdać „fuksem”.

Co należy mieć w jednym palcu:

Autor wpisu: Wojciech Sznapka, dodany: 15.05.2014 23:07, tagi: php

Value objects are one of building blocks in Domain Driven Design. They represents a value and does not have an identity. That said, two value objects are equal if their values are equal.

Other important feature is that Value Objects are immutable, i.e. they can not be modified after creation. Only valid way to create Value Object is to pass all required informations to constructor (and should be validated somewhere there). No setter methods should take place.

This post isn’t about obvious advantages of representing domain logic with support of Value Object. As well, we wouldn’t elaborate here about pros and cons of immutable objects. I’d rather would like to show an attempt to change Value Object, keeping it still immutable and using one of most bizarre, in my opinion, feature of PHP language, which is accessing private fields from outside an object.

Often time you would like to alter Value Object, by creating new one based on current (which is only valid way). Altering logic conceptually belongs to Value Object class, so should be located there. In such method, you clone current instance, set new information to given field and return the copy. And this is were accessing private fields for same class makes sense. You can do that without having additional setters which will break the design.

As illustrated above, all Value Object features are in place. This example is of course trivial, but you can imagine a lot more complicated VO’s, like values shared between bounded contexts.

Autor wpisu: matipl, dodany: 12.05.2014 17:37, tagi: php

PHPCon Poland 2014

Już za kilka miesięcy (26-28 września) 5. edycja PHPCon Poland. Po kilku latach z małej konferencji dla miłośników PHP urośliśmy do największej konferencji poświęconej PHP w tej części Europy. W minionym roku było nas już ponad 420 uczestników.

W tym roku PHPCon Poland również odbędzie się na południu Polski, tj. w hotelu Orle Gniazdko w Szczyrku. Dla niektórych może daleko, ale naprawdę warto nie tylko ze względu na konferencję ale również na miejsce.

Zanim rejestracja uczestników zostanie otwarta zachęcam do zgłaszania własnych prelekcji. Organizatorzy czekają do 20 maja (max. 31 maja) na zgłoszenia. Zgłoszeń jest już sporo, ale w tym roku zrządzeniem losu Polacy są w mniejszości. Do dzieła! A jeśli Ty nie masz czasu namów znajomych na zgłoszenie.

Wystarczy wypełnić prosty formularz podając tytuł, abstrakt i link do prezentacji (na tym etapie może to być wersja robocza, abyśmy mieli o czym rozmawiać).

A już w czerwcu co roczna sonda agendowa, po której Prelegenci dowiedzą się o statusie swoich zgłoszeń i zacznie się układanie agendy.

Autor wpisu: stormfly, dodany: 08.05.2014 15:12, tagi: php

Wpis o tym w jaki sposób dodać, edytować, usunąć, pobrać oraz wylistować wydarzenia znajdujące się w kalendarzu google przy pomocy biblioteki z Zend Framework 1 o nazwie Zend_Gdata. Połączenie z kontem: Dodanie nowego wydarzenia: Edycja zdarzenia: Usunięcie...

Autor wpisu: bastard13, dodany: 05.05.2014 17:13, tagi: design, oop

a zaczęło się to tak...

Jak każdy (a przynajmniej mam taką nadzieję) zespół ludzi pracujący nad tym samym kodem, i w naszym projekcie istnieje dokument ze standardami kodowania. Co jakiś czas wprowadzamy drobne modyfikacje, bo refaktoryzować można (i powinno się) nie tylko kod :) Dzisiaj ten właśnie dokument przeglądał jeden z moich kolegów i natknął się na jedną z moich notatek/uwag w tym dokumencie, którą odrobinę przeredagowaną (niestety użyłem skrótów myślowych pisząc ją :) zamieszczam poniżej:Jeżeli posiadasz klasę abstrakcyjną z metodą publiczną, która jest rozszerzana przez kilka klas nie implementujących tego samego interfejsu, to wiedz, że coś się dzieje. Dobra, samo stwierdzenie może nie być zbyt oczywiste, ale wierzę, że po krótkich wyjaśnieniach dojdziecie nie tylko do wniosku, że ma to sens, ale co więcej, że sami już tą zasadę w kodzie stosujecie.Jakby na to nie patrzeć, jest całkiem naturalna :)Czytaj więcej »

Autor wpisu: Śpiechu, dodany: 02.05.2014 20:31, tagi: php

Some time ago I rediscovered PHP SPL library. After reading Joshua Thijssen’s Mastering the SPL Library I found out that sometimes I was reinventing the wheel in my code, sorry (employers and customers). Iterators are one of the SPL library components. To add more spice to code I’ll show some kind of JavaScript magic using closures.

Simplest and best iterator definition:

Iterators are PHP’s way of dealing with abstracting away the traversal logic from the business logic. This, in one sentence, sums up what an iterator is. [A. Thijssen : Mastering…, p. 68]

My goal for today is to show you how to use IteratorAggregate with CallbackFilterIterators to filter out files not meeting our requirements. Feel free to use this class in your own projects.

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