Autor wpisu: nospor, dodany: 16.06.2016 18:55, tagi: php
Autor wpisu: Kamil Adryjanek, dodany: 12.06.2016 15:45, tagi: php
Poniżej zamieszczam slajdy z mojej prelekcji na temat Test-Driven Development
oraz Behaviour-Driven Development
w PHP
na konferencji „Lubelskie Dni Nauki i Biznesu”. Głównym powodem mojej obecności na tej właśnie konferencji była możliwość porozmawiania ze studentami i nie tylko, na temat potencjalnej pracy / praktyk w Level 7 Systems – jako, że obecnie prowadzimy rekrutację na dwa stanowiska. Dodatkowo była to bardzo dobra okazja do promocji naszej firmy w lubelskiej branży IT.
TDD with BDD in PHP and Symfony from Kamil Adryjanek
Konstruktywna krytyka na temat samej prelekcji jest bardzo mile widziana.
Artykuł TDD with BDD in PHP and Symfony – moja prezentacja w ramach LDNiB pochodzi z serwisu Notatki Programisty.
Autor wpisu: Michał Janicki, dodany: 30.05.2016 19:00, tagi: php
Zbliżamy się powoli do końca serii postów poświęconych bibliotece Ruckusing Migration.
W przedostatnim wpisie poruszę temat transakcji i logowania zdarzeń a także opiszę jak można zrzucić schemat bazy danych do pliku. Zachęcam także do przeczytania pierwszego, drugiego i trzeciego postu poświęconego Ruckusing Migration.
Transakcje
Transakcje w Ruckusing Migration obsługuje się bardzo prosto i wystarczy do tego znajomość trzech metod. Chodzi o start_transaction(), commit_transaction(), rollback_transaction(). Całość zobrazuje kod poniżej:
$adapter = $this->get_adapter(); try { $adapter->start_transaction(); $id = $this->query("INSERT INTO users VALUES(NULL, 'Jan', 'Kowalski')"); $this->query("UPDATE users SET first_name = 'Adam' WHERE id = " . $id); $adapter->commit_transaction(); } catch (Exception $e) { $adapter->rollback_transaction(); echo $e->getMessage() . „\n”; }
Kod jest raczej łatwy do zrozumienia, ale gwoli ścisłości wszystko wyjaśnię. W pierwszej kolejności należy pobrać adapter, ponieważ to z jego poziomu dostępne są metody służące do obsługi transakcji. W sekcji try rozpoczynamy transakcje metodą start_transaction() wykonujemy zapytania kod SQL i zatwierdzamy transakcję metodą commit_transaction(). Jeśli jednak coś pójdzie nie tak to w sekcji catch wycofujemy transakcję i wyświetlamy wiadomość z wyjątku. I tyle.
Logowanie zdarzeń do pliku
W zasadzie nie ma potrzeby wykonywać żadnych specjalnych działań aby logować zdarzenia do pliku. Ta opcja jest włączona domyślnie a my możemy ustalić w pliku konfiguracyjnym gdzie plik logu ma być przechowywany (chodzi o klucz log_dir na końcu pliku konfiguracyjnego). Nazwa pliku z logami odpowiada nazwie klucza w tablicy z danymi konfiguracyjnymi biblioteki.
A co jeśli będziemy chcieli dodać własne logi? W tym celu musimy użyć klasy Ruckusing_Util_Logger , jej instancję możemy pobrać za pomocą metody get_logger() dostępnej z poziomu adaptera. Istnieje także metoda set_logger() za pomocą, której można ustawić obiekt klasy, która ma posłużyć do logowania zdarzeń.
Gdy już mamy pobraną instancję loggera możemy użyć metody log i w jedynym parametrze jaki przyjmuje podać treść logu. Przykładowo dla poniższego kodu:
Autor wpisu: Kamil Adryjanek, dodany: 29.05.2016 23:34, tagi: php
Chciałbym zaprosić wszystkich zainteresowanych tematyką PHP
i Symfony
, a konkretniej zagadnień związanych z testowaniem aplikacji (TDD / BDD
) na moją prelekcją, która odbędzie się na Międzynarodowej Konferencji Informatycznej: WySPA.iT w piątek 10 czerwca od godz. 15:30.
Tematem mojej prelekcji będzie:
TDD with BDD in PHP and Symfony
Plan prelekcji jest następujący (dopuszczam drobne modyfikacje):
- Introduction to Test-Driven Development
- Introduction to Behavior-Driven Development
Behat
and Story BDD- How to „test” REST API with
Behat
? phpspec
and Spec BDD- How to „spec” with
phpspec
?
Po prelekcji chętnie odpowiem na pytania związane z tematem testowania / PHP
/ Symfony
, bądź też pracy w Level 7 Systems Ltd – oprócz zagadnień stricte technicznych będę również zachęcał zainteresowanych studentów (i nie tylko) do udziału w rekrutacji. Aktualne oferty pracy znajdziecie na naszej stronie: kariera.
Zachęcam do zapoznania się z pełną agendą konferencji, gdzie będziecie mogli posłuchać między innymi:
- Sławomira Sobótkę z „Nie koduj, pisz proszę”;
- Tomasza Kopacz z prezentacjami na temat
.NET Core
i prototypowania rozwiązańIoT
; - Andrii Kovalchuk z
YouTube Data API
iYouTube Analytics
; - Krzysztofa Kurka z „Zaawansowanymi technikami
JavaScript
„;
i nie tylko. Dokładne godziny poszczególnych prelekcji zostaną potwierdzone w poniedziałek lub wtorek dostępne są na oficjalnej stronie w zakładce „agenda”.
Do zobaczenia!
Artykuł WySPA.iT – prelekcja w ramach Lubelskich Dni Nauki i Biznesu pochodzi z serwisu Notatki Programisty.
Autor wpisu: bigzbig, dodany: 27.05.2016 12:18, tagi: php
Autor wpisu: Pyton, dodany: 27.05.2016 02:00, tagi: php
Wiele razy spotkaliśmy się z gdy w naszym pliku deklaracja use rozrastała się do dość sporych rozmiarów. Wtedy całość przypominała coś takiego:
<?php
namespace Procest\Command;
use Project\Commnad\Builder;
use Project\Commnad\Client;
use Project\Commnad\Server;
use Project\Controller\Services\Client1;
use Project\Controller\Services\Client2;
use Project\Controller\Services\Client3;
PHP7 ma na to radę...