Paweł Malisak

PHP Developer

Wypowiedzi

  • Paweł Malisak
    Wpis na grupie PHP w temacie Dalsza droga w PHP - jaki kolejny framework wybrać?
    11.07.2016, 17:16

    Symfony / Zend zajmą Ci sporo czasu, a początkowe problemy mogą bardzo zniechęcić ( wg mnie by je poznać na niezłym poziomie trzeba z pół roku na etacie robić przy ich użyciu projekt ). Osobiście zacząłbym od Symfony bo jest prostszy niż Zend, ale gdybym nie miał dużo czasu to Laravela bym wybrał.

  • Paweł Malisak
    Wpis na grupie PHP w temacie Własna implementacja wzorca projektowego MVC
    22.03.2016, 16:03

    Krystian R.:
    Paweł M.:
    Jeśli się przyjrzysz im to nikt już nie pisze wszystkiego od zera, tylko te frameworki korzystają z gotowych interfaców, komponentów, które są sprawdzone i dostępne. Skupiają się na tym, abyś mógł w prosty sposób podłączyć inną istniejącą już bibliotekę.

    Taktuję bardziej stworzenie własnego frameworka jako naukę obiektowości PHP :)
    Także dalej szukam rozwiązania implementacji...

    Implementację masz w istniejących frameworkach. Najwięcej się nauczysz korzystając z tych frameworków, grzebiąc w środku i sprawdzając jak działają dane partie kodu. Sama nauka korzystania z bibliotek bardzo dużo daje jak chodzi o naukę obiektowości.

    Jeśli upierasz się na pisaniu czegoś od zera to już lepiej napisać prosty CMS ( logowanie, lista użytkowników, lista artykułów ) i wykorzystać w swoim projekcie gotowy framework.Ten post został edytowany przez Autora dnia 22.03.16 o godzinie 16:06

  • Paweł Malisak
    Wpis na grupie PHP w temacie Własna implementacja wzorca projektowego MVC
    18.03.2016, 08:34

    Krystian R.:
    Pytam jak to się robi w praktyce, bo wydaje mi się, że moje podejście może być mało wydajne...

    Mało wydajne w porównaniu do czego? Do Joomli? Do Zenda? Do Symfony? Do doctrine? Będzie dużo szybsze od tego co tutaj wymieniłem więc po co się tym zajmować.

    Na rynku jest pełno dobrze napisanych frameworków, niekoniecznie musisz korzystać z zf/symfony. Polecam zapoznać się z :

    - Slim
    - Silex
    - Zend Expressive

    Jeśli się przyjrzysz im to nikt już nie pisze wszystkiego od zera, tylko te frameworki korzystają z gotowych interfaców, komponentów, które są sprawdzone i dostępne. Skupiają się na tym, abyś mógł w prosty sposób podłączyć inną istniejącą już bibliotekę.

  • Paweł Malisak
    Wpis na grupie PHP w temacie Pytania na rozmowe kwalifikacyjnej - Junior PHP Developer
    13.01.2016, 09:19

    Nie każdy się nadaje na nazwijmy to super developera, nie każda firma potrzebuje super developera, jest dużo firm gdzie wystarczy n lepszych osób, a reszta ma klepać kod wg wytycznych. Tylko co to ma do rekrutacji co jest tematem tego tematu to nie wiem.Ten post został edytowany przez Autora dnia 13.01.16 o godzinie 09:20

  • Paweł Malisak
    Wpis na grupie PHP w temacie Pytania na rozmowe kwalifikacyjnej - Junior PHP Developer
    10.01.2016, 07:52

    Powtórz sobie na pewno wszystko co dotyczy obiektowości, czym się różni interfejs od klasy abstrakcyjnej, co to jest trait, przestrzenie nazw itd. Najlepiej tutaj http://php.net/manual/en/migration53.php i idziesz z wersjami do góry. Ponadto funkcje anonimowe bym poczytał. Wzorce projektowe poczytaj i do tego najlepiej jakiś przykład gdzie to można używać i dlaczego to jest właśnie fajne.

    Na koniec zapytania SQL sobie powtórz w tym na pewno podzapytania i grupowanie danych.

  • Paweł Malisak
    Wpis na grupie Zend Framework w temacie Zend Framework 2 - książki
    30.11.2015, 19:19

    Nie musisz tego dodawać w każdym kontrolerze. Jest gotowy plugin do kontrolera oraz do widoku.

    $this->identity()


    Ponadtwo powinieneś ustawiać storage i adapter w fabryce, a nie w kontrolerze. Do kotrolera idzie tylko gotowy AuthenticationService i jest on tylko potrzebny podczas logowania i wylogowania, tak jak w przykładzie z linka co Ci dałem w pierwszym linku.Ten post został edytowany przez Autora dnia 30.11.15 o godzinie 19:23

  • Paweł Malisak
    Wpis na grupie Zend Framework w temacie Zend Framework 2 - książki
    24.11.2015, 14:29

    Adrian P.:
    W sumie to żadnej struktury nie przyjąłem ;)
    Wydawało mi się, że na wzór modułu "Application" (Zend Skeleton Application) trzeba budować każdy moduł i że każdy moduł to odrębna niezależna część CMS'a

    Tak, tak, dobrze myślisz :) Możesz tak zrobić. Wydawało mi się, że pytasz o ten element, że chciałbyś, aby w każdej akcji każdego kontrolera wyświetlało się menu, którego opcje są pobierane z bazy... i ten element nazywasz modułem.

    Tylko teraz pytanie czy każdy moduł będziesz miał stworzony w ten sposób:

    User\src\Controller\SiteUserController.php
    User\src\Controller\AdminUserController.php
    Blog\src\Controller\SitePostController.php
    Blog\src\Controller\SiteCommentController.php

    czy:

    Admin\src\Controller\UserController.php
    Admin\src\Controller\LoginController.php
    Admin\src\Controller\BlogPostController.php

    Site\src\Controller\UserController.php
    Site\src\Controller\BlogPostController.php

    a może inaczej jeszcze jakoś ;)Ten post został edytowany przez Autora dnia 24.11.15 o godzinie 14:31

  • Paweł Malisak
    Wpis na grupie Zend Framework w temacie Zend Framework 2 - książki
    24.11.2015, 11:31

    jeśli mam kilka modułów, np Users, Articles, Forum, Poll, to chyba lepiej będzie ViewHelper lub fabrykę?

    nie do końca rozumiem co masz na myśli i jaką strukturę CMS przyjmiesz, bo jeśli przez moduł masz na myśli moduły jak w Joomla to raczej ViewHelper, ale wg mnie tak nie powinien autorski cms wyglądać, to raczej rozwiązanie, które jest kulą u nogi ;)
    Dzięki za informacje, czyli raczej nie ma książki, która by to wszystko zawierała w sobie?

    niestety nie kupowałem żadnej, byłem na kursie ( sponsorowany przez UE, tak to kosztuje kilka tysięcy zł ) oraz w pracy miałem od kogo się uczyć, a tak to artykuły, widzę, że na amazon coś tam nawet jest więc możesz poszukać, po polsku raczej na 99% nie znajdziesz

  • Paweł Malisak
    Wpis na grupie Zend Framework w temacie Zend Framework 2 - książki
    24.11.2015, 08:42

    Adrian P.:
    Zagadnienia jakie mnie interesują to:
    - system logowania, autologowanie, uwierzytelnianie, uprawnienia, acl

    do uwierzytelniania polecam moduł rbac ( https://github.com/ZF-Commons/zfc-rbac/tree/master/docs )

    jeśli chodzi o autentykację to zf2 ma wbudoway \Zend\Authentication\AuthenticationService, cała idea polega na napisaniu Adaptera, ewentualnie Storage ( lub skorzystać z dostępnych ).

    artykułów jest sporo np.
    http://blog.alejandrocelaya.com/2014/08/23/managing-au...
    - rozwiązywanie problemów bazodanowych w stylu relacja wiele do wielu czy jeden do wielu (np. systemu tagów, artykuł -> artykul_rel_tag -> tagi)

    doctrine ?
    - szablony - wstrzykiwanie kodu w którym miejscu aby był dostępny w całym serwisie (chodzi o kalendarium, który widoczny jest na każdej podstronie i pobiera dane z bazy danych), czy też

    w Module.php w onBootrap(), ewentualnie PluginManager + trait, lub ViewHelper napisać własny z fabryką
    menu w zależności czy gość czy zarejestrowany czy administrator...

    to już sobie trzeba napisać te ify
    - wielojęzyczność serwisu, fajnie aby było coś takiego że dla domyślnego języka nic nie dodaje a dla każdego innego tak, np. domyślny PL: http://moja-strona.com, DE: http://moja-strona.com/de ENG: http://moja-strona.com/eng

    to jest kwestia ustawiania regułki w routingu, a potem obsługa tego, są artykuły na ten temat
    - routing

    dobrze opisany w dokumentacji, dużo przykładów na sieci
    - w zależności od poziomu uprawnień spersonalizowane zapytania MySQL

    to już ifami sobie musisz załatwić wg mnie

  • Paweł Malisak
    Wpis na grupie Zend Framework w temacie Przesiadka ZF1 -> ZF2 - kilka pytań
    29.10.2015, 10:11

    Druga sprawa to użycie w kontrolerze
    $sm = $this->getServiceLocator();
    $this->albumTable = $sm->get('Album\Model\AlbumTable');

    Rozumiem, że unikamy jawnego tworzenia obiektów, ale przekazywanie nazwy jako string? Jest jakieś IDE, które potrafi organizować podpowiedzi do tego? Jak była to klasa, to praktycznie każde narzędzie to ogarniało, nie można tego jakoś zastąpić?

    możesz np. tak

    $sm->get(AlbumTable::class);


    ale najlepiej robić do wszystkiego fabrykę i wtedy


    // fabryka
    class AlbumTableFactory implements FactoryInterface
    {
    const TABLE_NAME = 'application.model.album_table';

    // module.config.php

    'service_manager' => [
    'factories' => [
    AlbumTableFactory::TABLE_NAME=> AlbumTableFactory::class,
    // ...

    // ...
    $sm->get(AlbumTableFactory::TABLE_NAME);


    Przy okazji automatycznego tworzenia modeli, chociaż podchodzę sceptycznie do ORM, to spróbowałem z Doctrine. Generalnie spoko, tylko dlaczego do każdego kontrolera muszę doklejać kod, który

    Tak się nie powinno robić, kontroler nie powinien korzystać z serviceLocatora, najlepiej tworzyć kontrolery przez fabryką i w konstruktorze wstrzykujesz wszystko co potrzebujesz. I nie wstrzykujesz entityManagera tylko repozytoria, które są Ci potrzebne, a najlepiej przygotować serwis ( który też inicjujesz fabryką, który ma wstrzyknięte potrzebne tutaj repozytoria ) i na nim operujesz ;)

    Dzięki temu uniezależniasz się od doctrine, zmienisz sobie kiedyś doctrine na co chcesz i nie musisz nic dotykać w kontrolerach. Serwisy, które przekazujesz do kontrolera są także niezależne od doctrine bo operują na repozytoriach.Ten post został edytowany przez Autora dnia 29.10.15 o godzinie 10:18

  • Paweł Malisak
    Wpis na grupie PHP w temacie łączenie stringów ze zmiennymi
    28.12.2014, 17:10


    <?php
    $max=1;
    print("<input type='checkbox' id='pytanie1$max' name='pytanie1$max' value='1' />");

    // lub

    print("<input type='checkbox' id='pytanie1" . $max . "' name='pytanie1" . $max . "' value='1' />");

    // lub

    printf("<input type='checkbox' id='pytanie1%d' name='pytanie1%d' value='1' />", $max, $max);

    // lub (co polecam)
    ?>

    <input type='checkbox' id='pytanie1<?= $max; ?>' name='pytanie1<?= $max; ?>' value='1' />


    Taki tips, daj sobie na początku każdego skryptu:


    ini_set('display_errors', 1);
    ini_set('error_reporting', E_ALL);
    ini_set('date.timezone', 'Europe/Warsaw');


    Ułatwi Ci to rozwiązywanie problemów.Ten post został edytowany przez Autora dnia 28.12.14 o godzinie 17:11

  • Paweł Malisak
    Wpis na grupie PHP w temacie Cakephp3, Yii OR Laravel4
    25.12.2014, 09:22

    Przemysław R.:
    z takim podejściem po co optymalizować algorytmy? przecież są lepsze i szybsze komputery a programista może zrobić dowolne coś co spełnia kryteria i jest cool :)
    jak to mawiają maniana

    Ale co mają do tego algorytmy? To jest całkiem inna dziedzina i nie wiem do czego bijesz. Mówimy o pisaniu w PHP. Trzeba wiedzieć co należy optymalizować, a co nie bo nie jest to opłacalne z punktu widzenia ekonomicznego oraz struktury aplikacji oraz z uwagi na to, że klient nie zdobędzie odpowiedniego ruchu na stronie. To jest temat rzeka i przy każdej aplikacji można osobno debatować na temat czy można i czy potrzeba coś optymalizować. Natomiast z uwagi na moje wieloletnie doświadczenie oraz wymianę doświadczeń z innymi programistami podtrzymuje zdanie, że wybór frameworka, który ma być używany nie powinien bazować na podstawie wydajności, ale potrzeb rynku, popularności danego rozwiązania w firmach.

  • Paweł Malisak
    Wpis na grupie PHP w temacie Cakephp3, Yii OR Laravel4
    23.12.2014, 12:33

    Tomasz Z.:
    Jeżeli chcesz szybko postawić bloga to w tym momencie na pewno nie wybierzesz phalcona tylko wordpressa, etc. Pewnie w większości przypadków nie ma sensu walczyć o kilka % wydajności.

    No nie wiem czy robisz większy portal niż goldenline, który jak wiadomo jest po części w Symfony 2. Ile robiłeś projektów gdzie PHP był problemem? Wszędzie jest problem z bazą, a jak chodzi o wydajność PHP to jest on coraz szybszy, a maszyny coraz lepsze więc patrzenie na wydajność samego frameworka jest w mojej opinii i wielu osób bezcelowa.

    Odnośnie pisania części rzeczy w c/c++ to historia facebooka pokazuje, że nie tędy droga, u nich się nie sprawdziło więc po co powielać błędy.
    Jeżeli nie potrzebuję PHP do zrobienia aplikacji www, a potrzebuję dużą szybkość, to wybiorę np. Javę/Scalę i Play Framework.

    Świetnie, ale zwróć uwagę, że musisz nauczyć się danej technologii oraz znaleźć pracowników, którzy ją znają. Jak już masz pracowników to musieliby nauczyć się nowej technologii co zabiera czas... wg mnie nie tędy droga do osiągnięcia sukcesu.Ten post został edytowany przez Autora dnia 23.12.14 o godzinie 12:36

  • Paweł Malisak
    Wpis na grupie PHP w temacie Dzielenie przez zero
    22.12.2014, 09:36

    Od biedy da się to zrobić, ale nie wiem czy ma to sens w Twoim przypadku ;)

    http://stackoverflow.com/questions/1241728/can-i-try-c...

    Zresztą równie dobrze można ten warning przechwytywać i sprawdzać w set_error_handler().

  • Paweł Malisak
    Wpis na grupie PHP w temacie Co by tu zrobić lepiej ? Zoptymalizować.
    12.12.2014, 10:59

    Krzysztof M.:
    Oto mój własny autorski kod na to zadanie. Coś byście zmienili , żeby było bardziej optymalnie ?

    Chyba najpierw powinieneś napisać poprawny kod, a potem optymalizować ;) Brakuje <tr> w kilku miejscach.

    Nie skupiaj się na optymalizacji czegoś co szybko się wykonuje, ale na tym by to było przejrzyste, łatwe w modyfikacji / rozbudowie.

  • Paweł Malisak
    Wpis na grupie Design w temacie Szukam freelancera | Zlecę zrobienie | Ogłoszenia o...
    28.09.2014, 21:12

    Poszukuję grafika do wykonania strony w stylu paralaksa ( głównej ), podstrony ( najprawdopodobniej 2 widoki ) będą m.in. w układzie dwu kolumnowym ( lewe menu, prawa strona treść ). Zdjęcia dostarczy klient.

    - budżet: 900 zł netto ( faktura lub umowa o dzieło ), zaliczka 25%
    - czas realizacji: projekt strony głównej najpóźniej w tydzień
    - zależy mi na kontakcie w godzinach 18:00 - 20:00 ( telefon lub skype )
    - w e-mailu poproszę link do portfolio

    zgłoszenia proszę wysyłać na poniższy adres:

    kontakt@hyh.pl

    dziękujęTen post został edytowany przez Autora dnia 28.09.14 o godzinie 21:13

  • Paweł Malisak
    Wpis na grupie PHP w temacie Pytanko o dokumenty worda
    1.07.2014, 12:02

    Cytując Twój profil: "Mój czas kosztuje. Nie umawiam się na kawę czy obiad. 150 złotych za pierwszą godzinę i 135 za każdą następną rozpoczętą. Zanim zapytasz, czy jestem zainteresowany, sprawdź, czy Cię stać:
    php - 50 PLN/h" ;)Ten post został edytowany przez Autora dnia 01.07.14 o godzinie 12:03

  • Paweł Malisak
    Wpis na grupie Programiści WWW w temacie Strona firmowa - na czym zrobić
    30.03.2014, 09:11

    Jakub B.:

    Zastanawiam się teraz czy znów iść w Joomle czy może Wordpress którego ktoś mi polecał. Ponoć skoro google ma coś z nim wspólnego to lepiej się kataloguje/pozycjonuje (?) w wyszukiwarce. Czy jest coś w tym prawdy? Lub czemu wordpress jest 'beee'?

    Nie ma znaczenia czy joomla czy wordpress. Ważne jest to by po wykonaniu strony znaleźć kogoś kto zrobi dobry audyt. Dalej to wdrożenie zmian. Instalacja statystyk, po x czasu znowu zleć audyt pod kontem niespełnionych założeń, dlaczego nie osiągasz tego co chciałeś. Chyba, że osiągasz to tylko się cieszyć.

  • Paweł Malisak
    Wpis na grupie Programiści WWW w temacie Strony internetowe za 250 zł? Czy tylko cena jest ważna?
    5.02.2014, 09:31

    Sebastian B.:

    Tworząc strony za 1500 zł tworzy się je "taśmowo", jeden layout ma wystarczać na kilkanaście/kilkadziesiąt projektów. Sam system to zazwyczaj jakiś wewnętrzny CMS lub ogólnodostępny w którym zmiany można przeprowadzić bardzo szybko. Wtedy można tworzyć dużą ilość takich projektów w miesiącu i pewnie można na tym zarobić.

    Zgadza się, też mam taki typ strony w swojej ofercie. W sumie ciężko mi teraz nawet się kłócić, że nie jest profesjonalna, albo, że klient nie ma wpływu na wygląd ;)

    Sądziłem, że rozmawiamy o stronach gdzie projekt i struktura jest tworzona od zera.Ten post został edytowany przez Autora dnia 05.02.14 o godzinie 09:34

  • Paweł Malisak
    Wpis na grupie Programiści WWW w temacie Strony internetowe za 250 zł? Czy tylko cena jest ważna?
    5.02.2014, 08:44

    Anna Maria D.:
    Profesjonalna strona internetowa CMS + serwer, hosting, domena kosztuje ok. 1000 zł i klient ma wpływ na jej projekt. Strony standardowe bez możliwości administrowania kosztują ok. 400-600 zł. Poniżej tych kosztów to nie jest profesjonalne tworzenie stron internetowych z pełną gwarancją jakości.

    Możesz mi napisać ile osób uczestniczy w takim projekcie? Załóżmy, że wychodzą minimum dwie osoby.

    Programista - powiedzmy, że nie trzeba nam wymiatacza, płacimy mu 2000 zł netto, czyli ~ 2800 zł brutto.
    Grafik - zlecamy grafikę na zewnątrz, znaleźliśmy jakiegoś taniego grafika co robi nam projekty za 400 zł (jak masz takiego i robi dobre projekty to poproszę o kontakt)

    W miesiącu udaje nam się zrobić 4 projekty, pomijam sprawę serwera, załóżmy, że 1500 zł mamy od samej strony. Czyli zysk to 6000 zł miesięcznie.

    6000 - 2800 - (4 * 400) = 1600 zł przychodu dla firmy

    Czy ten programista zarobił na osobę, która musi kontaktować się z klientem? Na biuro? Na księgową? Na telefony? Na środki trwałe? Powiedz mi jak na tym można zrobić? Co źle policzyłem?

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do