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

Autor wpisu: batman, dodany: 12.11.2016 10:38, tagi: php

Na rynku mamy dostępny szereg narzędzi do zarządzania projektami. Nietrudno znaleźć firmę, która dostarczy kompleksowe rozwiązanie, wystarczy tylko za nie zapłacić. Jeśli mamy do dyspozycji duży budżet, wówczas koszt takiego narzędzia nie zrobi na nas wrażenia. Sytuacja wygląda zupełnie inaczej, gdy chcemy zapanować nad niewielkim zespołem, a nasza firma (lub grupa znajomych) nie jest gotowa finansowo i organizacyjnie na rozwiązanie klasy enterprise. Na szczęście z pomocą przychodzą darmowe narzędzia, które wymieniłem w tytule – Trello, Toggl, Bitbucket oraz Bugsnag. Slack stanowi tutaj... [[ This is a content summary only. Visit my website for full links, other content, and more! ]]

Autor wpisu: Kamil Adryjanek, dodany: 05.11.2016 08:08, tagi: php

Tym razem w ramach warsztatów organizowanych przez Women in Technology zostałem zaproszony do poprowadzenia warsztatów z podstaw PHP. Warsztaty mają stanowić swojego rodzaju wprowadzenie do programowania w tym języku i przeznaczone są przede wszystkim dla osób początkujących. Krótka agenda pierwszego spotkania zostanie opublikowana w przyszłym tygodniu. Krótka agenda znajduje się poniżej. W przypadku dużego zainteresowania wydarzeniem możliwe jest również przeprowadzenie kolejnych zajęć z zagadnień bardziej zaawansowanych.

Warto wiedzieć, że:

Mimo że wydarzenie jest kierowane do kobiet, mężczyźni również są mile widziani, jeśli interesują ich tematy prezentacji. Choć wśród organizatorek są wyłącznie kobiety, nie znaczy to, że zamykamy się na panów. Publiczność na naszych warsztatach i spotkaniach jest zawsze mieszana, a panowie często występują u nas także w roli prelegentów.

Co w wolnym tłumaczeniu oznacza, że warsztaty są otwarte dla wszystkich – nie tylko dla kobiet (po więcej informacji odsyłam na stronę WiT ).

Warsztaty odbędą się 26 listopada 2016 r. w godzinach 9:00 – 13.00 w sali komputerowej Wyższej Szkoły Przedsiębiorczości i Administracji w Lublinie przy ul. Bursaki 12. Udział w warsztatach jest bezpłatny, a liczba miejsc ograniczona. Wymagana jest wcześniejsza rejestracja na wydarzenie poprzez formularz. Więcej informacji znajdziecie na stronie wydarzenia na Facebooku: https://www.facebook.com/events/1409878192363220/.

Zakres zagadnień, które będę poruszał na warsztatach:

  • architektura klient-serwer;
  • jak działają dynamiczne strony internetowe;
  • wprowadzenie do PHP: składnia, instrukcje sterujące, tablice, formularze;
  • podstawy programowania obiektowego;

Wszystkich zainteresowanych serdecznie zapraszam!

Artykuł Warsztaty z podstaw PHP – WiT Lublin pochodzi z serwisu Notatki Programisty.

Autor wpisu: matipl, dodany: 20.10.2016 17:39, tagi: php

Internet staje się pełny darmowych rzeczy. Niestety w większości są to materiały niewarte kliknięcia, a co dopiero pobrania. Ale czasami ktoś udostępni jeszcze coś wartościowego…

Wydawnictwo O’Reilly udostępniło sporo darmowych e-booków. Wśród reklamowych próbek, jest także sporo ciekawych pozycji dot. Javy, Python, PHP, bezpieczeństwa czy IoT. Uciążliwy jest tylko fakt, że każdą pozycję należy pobrać osobno i za każdym razem należy podać swoje dane (imię, nazwisko i e-mail). Tutaj znajdziecie książki:

Artykuł O’Reilly – darmowe ebooki pochodzi z serwisu Mateusz matipl Kamiński.

Autor wpisu: Kamil Adryjanek, dodany: 06.10.2016 00:15, tagi: php

W tym roku nareszcie udało mi się wygospodarować trochę czasu na przełomie września i października, dzięki czemu mogłem wziąć udział w największej konferencji branżowej dla programistów PHP: PHPCon, która w tym roku odbyła się w hotelu: „Hotel Ossa Congress & Spa” w niewielkiej miejscowości o tej samej nazwie, między Rawą Mazowiecką, a Białą Rawską (podobnie zresztą jak przed rokiem). O ile w konferencji: 4developers4developers od kilku dobrych lat uczestniczę regularnie, tak to był mój pierwszy PHPCon, stąd pomysł podzielenia się ogólnymi wrażeniami.

Organizacyjnie cała konferencja wypadła bardzo dobrze z drobnymi zgrzytami, które miały miejsce jeszcze przed samą konferencja i na samym starcie:

  • dość dziwna sytuacja z miejscami noclegowymi w hotelu (podobno nie był to odosobniony przypadek) – organizatorzy najpierw przyjeli zamówienie na wejściówki i hotel, by na tydzień przed konferencją poinformować, że niestety ale brakuje im miejsc i trzeba szybko zarezerwować nocleg w innym pobliskim hotelu. W tej sytuacji bardziej jednak doszukiwałbym się winy po stronie hotelu;
  • po dotarciu na miejsce w piątek rano byłem lekko zdezorientowany – nie znalazłem żadnych informacji na temat samej konferencji i jako, że to był mój 1 PHPCon trochę ciężko było mi się odnaleźć. Po rejestracji, która była dostępna od 15 dalej było już tylko lepiej;

Na duży plus warto wspomnieć o:

  • świetnym hotelu, który zaskoczył bardzo pozytywnie: ładne pokoje, bardzo dobre jedzenie (bez ograniczeń) i co najważniejsze prelekcje / warsztaty w tym samym miejscu (nie dotyczy to oczywiście osób z wcześniej wspomnianym problemem noclegowym). Nie wiem ilu dokładnie uczestników brało udział w tegorocznym PHPConie ale organizacja śniadań / obiadów / kolacji była bardzo dobrze przemyślana – czego nie można powiedzieć np: o obiadach w czasie 4developers;
  • miło zaskoczyła mnie również maskotka PHP w pakiecie startowym podczas rejestracji – mój dwuletni syn był zachwycony

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

Autor wpisu: cichy, dodany: 16.09.2016 00:06, tagi: php, standardy

Zdaję sobie sprawę, że tytuł który jednocześnie jest parafrazą opisu konia z pierwszej polskiej encyklopedii może nie mówić wszystkiego. Wyjaśniając, kiedy mówimy o kodzie PHP (czy tez innym języku programowania) zazwyczaj automatycznie myślimy o jego składni, dostępnych narzędziach rozwiązaniach oraz łatwości rozwiązania problemu, który przed nami stoi, oczywiście nie ma w tym nic złego jeżeli piszemy szybkie narzędzie dla siebie wówczas sam pomysł na rozwiązanie problemu powinien wystarczyć.

Wydawałoby się że nie ma sensu prowadzić na ten temat dyskusji. Problem zaczyna się jednak gdy przystępujemy do pracy nad większym projektem, lub gdy przystępujemy do pracy grupowej, wtedy nie tylko działanie kodu się liczy. Aby nasza praca była skuteczna i łatwo przyswajalna przez innych członków grupy (czy też odbiorców) musimy zadbać o pewne standardy kodowania, które de facto na efekt końcowy działania programu nie mają żadnego wpływu (lub mają marginalny). Sam długo broniłem się przed standardami „globalnymi” prawdopodobnie, jedynym powodem odwlekania tego było po prostu lenistwo, bo skoro działa to po co to zmieniać. Od niedawna zacząłem jednak próbować ulepszyć swój sposób pracy, więc chcąc nie chcąc trafiłem na opis „Rekomendowanych Standardów” PSR-1 i PSR-2 i właśnie o nich chciałbym dzisiaj napisać.

PSR co ?

PSR to skrót od PHP Standard Recommendation jest to inicjatywa, której celem jest wyznaczenie standardów w dość chaotycznym świecie skryptów PHP. Oczywiście nietrudno wyobrazić sobie korzyści płynące z podążania za standardami, które są lub będą implementowane przez duże rzesze programistów, jak jednak wspomniałem we wstępie w moim przypadku decyzja o próbie standaryzowania swojego kodu, przyszła z trudem i o wiele później niż powinna, tak więc z tego miejsca zachęcam wszystkich do dalszej lektury postu i być może szybszej decyzji o zmianie stylu pisania własnych skryptów.

Wróćmy jednak do rzeczy, na stronie http://www.php-fig.org/ możemy znaleźć zakładkę Recomendations gdzie znajdziemy listę wszystkich „Rekomendacji” oraz ich stan, nas interesują w praktyce tylko te ze stanem Accepted , czyli rekomendacje zatwierdzone przez osoby mające głos. No tak mogłoby się wydawać, że wszystko pięknie ładnie, ale kim w ogóle są osoby głosujące, i tutaj robi się ciekawie. Okazuje się, że nie jest to wymysł jednego czy dwóch programistów, w głosowanie zaangażowani są programiści z przeróżnych projektów znanych większości z nas (Symfony, Joomla, Drupal itp.) pełną listę osób które mają prawo głosu można znaleźć tutaj ponadto każdy kto jest zapisany, na listę mailingową i/lub pojawia się na kanale IRC pomimo braku możliwości udziału w głosowaniu, nadal na równi z innymi może toczyć dyskusje na temat proponowanych zmian.

Jak widać struktura całego przedsięwzięcia została dobrze przemyślana i całość od jakiegoś czasu idzie w moim zdaniem bardzo dobrym kierunku. Na chwilę obecną w sekcji accepted rekomendacji, możemy znaleźć 7 pozycji. W tym poście chciałbym skupić się na omówieniu standardów PSR-1 i PSR-2

PSR-1

Standard PSR-1 został w skrócie opisany jako „Basic Coding Standard” czyli w wolnym tłumaczeniu, podstawowy standard programowania. W dużym skrócie zawiera on wytyczne dotyczące takich aspektów jak:

  • używany system kodowania (UTF-8 bez BOM)
  • używane tagi PHP w dokumentach (dozwolone są tylko tagi <?php i <?=)
  • nazewnictwo klas, przestrzeni nazw oraz stałych

Najciekawszy element tego standardu to nazwane w dokumentacji „Side Effects” czyli krótko mówiąc zasada mająca na celu uniknięcia sytuacji który jeden dołączony plik jednocześnie deklaruje np. klasę i wykonuje jakieś działanie. Na początku trzeba sobie to dokładnie ułożyć w głowie o co w tym chodzi, postaram się to opisać najjaśniej jak tylko potrafię

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

Autor wpisu: nospor, dodany: 29.08.2016 14:47, tagi: php

Kilka prostych hooks, które przydadzą się dla osób pracujących z git/gitlab oraz bugzilla i redmine. Dzięki nim można zautomatyzować trochę nasze procesy commit oraz push. A co najważniejsze: wszystkie te hooks możemy napisać w php.

Autor wpisu: Michał Janicki, dodany: 17.08.2016 15:37, tagi: php

Piąty i ostatni odcinek serii postów poświęconych Ruckusing Migration zostanie poświęcony tworzeniu własnych zadań. Przez zadania rozumiem polecenia jakie możemy wpisywać w CLI i dzięki temu wykonać jakieś niestandardowe działania (np. db:migrate, db:generate etc).

Jak zawsze zachęcam do zapoznania się z poprzednimi postami poświęconymi tej bibliotece. Część pierwszą można znaleźć tutaj, część drugą tutaj, trzecią tutaj a czwartą tutaj.

Informacje podstawowe

Zadania znajdują się w katalogu Task (np. vendor/ruckusing/ruckusing-migrations/lib/Task). Domyślnie w tym katalogu znajdują się jeszcze dwa inne katalogi Db i Hello. W katalogu Db znajdują się zadania, które korzystając z tej biblioteki będziesz używał na codzień czyli db:migrate, db:generate etc. Z kolei w katalogu Hello znajduje się zadanie o nazwie World. Jak nie trudno się domyśleć jest to swego rodzaju przykład. Można to zadanie uruchomić z poziomu CLI wpisując hello:world.

Lokalizacje „customowych” zadań można rzecz jasna zmienić. Wystarczy w pliku konfiguracyjnym dodają klucz „tasks_dir” a jako wartość adres katalogu.

Tworzenie własnych zadań

Pliki z klasami zadań należy umieścić w jakimś katalogu „przestrzeni nazw”, o którym wspomniałem w poprzednim akapicie. Nie ma możliwości stworzenia „luźnego” zadania bez wrzucania go jakąkolwiek przestrzeń nazw ponieważ podczas próby uruchomienia takiego zadania zgłoszony zostanie wyjątek o nieprawidłowym formacie lub braku zadania.

Plik zadania musi mieć taką samą nazwę jak samo zadanie, a klasa musi mieć nazwę wg następującego schematu Task_{przestrzeń_nazw}_{nazwa_zadania}. Jeśli spróbujecie uruchomić taką pustą klasę zadania dostaniemy info że nasza klasa nie interfejsu Ruckusing_Task_Interface. Po dodaniu tego interfejsu do klasy i próbie uruchomienia dostaniemy informację, że wystąpił Fatal Error. Pojawił się on dlatego, że interfejs, który zaimplementowaliśmy wymaga aby nasza klasa posiadała definicję dwóch funkcji setMigrationsDirectory i setAdapter. Nie ma sensu jednak pisać ich od podstaw tylko sprawić aby klasa naszego zadania rozszerzyła klasę Ruckusing_Task_Base. Ta klasa posiada już definicję tych dwóch brakujących funkcji. Tak więc po dopisaniu odpowiedniego kodu i uruchomieniu zadania powiliśmy przestać otrzymywać informacje o błędach. Nic bardziej mylnego

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.