Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

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

Autor wpisu: Pyton, dodany: 25.05.2016 02:00, tagi: php

Spaceship operator to nowy twór dodany w PHP7.

Działanie

Jest to operator porównania zwracający -1, 0, 1:

<?php

$a = 1;
$b = 2;
echo $a <=> $b; // -1

$a = 2;
echo $a <=> $b; // 0

$a = 3;
echo $a <=> $b; // 1

Autor wpisu: zleek, dodany: 18.05.2016 08:38, tagi: css, javascript

Fetching resources over the network is both slow and expensive: the download may require multiple roundtrips between the client and server, which delays processing and may block rendering of page content, and also incurs data costs for the visitor. All

Autor wpisu: batman, dodany: 13.05.2016 14:00, tagi: javascript, php

Tworzenie webowych aplikacji działających w czasie rzeczywistym zazwyczaj wymagało niemałej gimnastyki oraz sporej dozy cierpliwości. Na szczęście z pomocą przychodzi Laravel i socket.io, dzięki którym stworzenie takiej aplikacji to przysłowiowa bułka z masłem. W tym artykule przedstawię krok po kroku przepis na aplikację, która pozwala na wysyłanie wiadomości, które wyświetlane są użytkownikom owej aplikacji od razu, bez konieczności odświeżania strony. Zanim zaczniemy, musimy przygotować środowisko pracy. W przypadku Laravela idealnie nadaje się do tego Homestead, który ma już wszystko... [[ This is a content summary only. Visit my website for full links, other content, and more! ]]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.