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

Autor wpisu: JoShiMa, dodany: 24.06.2016 01:01, tagi: framework, php, sql

Przymierzam się do kolejnego projektu w Yii, w którym będę wykorzystywać strukturę drzewiastą nested set i nagle okazało się, że potrzebuję bardziej skomplikowanych zapytań do bazy niż wykorzystywane ostatnio podstawowe CRUDy. Troszkę poszperałam, troszkę poczytałam i ku pamięci zanotuję. Jak w wielu (a może we wszystkich) frameworkach, w Yii można na różne sposoby pobierać dane […]

Autor wpisu: nospor, dodany: 16.06.2016 18:55, tagi: php

11 czerwca 2016 odbyła się konferencja na południowym wybrzeżu Wielkiej Brytanii - PHP South Coast conference - na której miałem okazję i przyjemność zagościć. Zdam Wam tu szybką relację co i jak a może ktoś z Was się skusi na następną

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:

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

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:

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

Jakiś czas temu zacząłem pracować dla klienta, który realizuje swój projekt w oparciu o koncepcję mikroserwisów Martina Fowlera. Nowe serwisy pisane są w Pythonie ale utrzymanie i dalszy rozwój starszych częściej architektury wymaga znajomości języka PHP. Mam ponad pięcioletnie, ciągłe … Continue reading

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ę...

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