• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Moje postępy, czyli pierwsza strona na silexie

Object Storage Arubacloud
+1 głos
397 wizyt
pytanie zadane 30 maja 2016 w PHP przez Niespecjalny Gaduła (4,180 p.)
edycja 2 czerwca 2016 przez Niespecjalny
Witam,

Nie będę pisał ile czasu musiałem poświęcić na ogarnięcie jakotako tego frameworka, bo to aż wstyd ale chciałbym was prosić o rady co jeszcze poprawić aby to wymasterować, a przynajmniej aby zabezpieczyć.

https://github.com/benoStrict/istudyveryhard

To jest to co do tej pory wystukałem. Przyznaje fortend jest minimalny, wprawdzie nawet go nie ma; za jakiś czas coś i tutaj dopiszę ale wpierw cache muszę dać i testów się nauczyć.

Ps: wiem o tym że użyłem taba na końcu composer.json ale zorientowałem się za późno i kod wylądował już na githubie.

Dzięki za wszelkie rady.

Pozdrawiam i liczę na waszą pomoc.
1
komentarz 30 maja 2016 przez efiku Szeryf (75,160 p.)
Vendor przeznaczony jest dla composera i bibliotek dodatkowych które nim zasysasz. NIe bądź jak Taylor Otwell i nie wrzucaj nic do vendor/. Od tego masz src/
Vendor/ należy dodać do .gitingore.
komentarz 30 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
Tak pomylilem sie.
1
komentarz 30 maja 2016 przez efiku Szeryf (75,160 p.)
https://github.com/benoStrict/istudyveryhard/blob/master/composer.json#L12
To należy wyrzucić i wpisać w konsoli: composer require phpunit/phpunit --dev ( po najmniejszej linii oporu :) )
komentarz 30 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
Czyli do testow nie musze doinstalowywac phpunit?
1
komentarz 30 maja 2016 przez efiku Szeryf (75,160 p.)
Inaczej.
PHPunit jest przeznaczony do testów. Dlatego będzie w require-dev to co masz w "require" będzie na serwerze produkcyjnym, gdzie skrypt działa i nie potrzebne są już testy.
Dlatego jak ktoś chce odpalić Twoje dzieło i testy to sobie zrobi composer install --dev wtedy dodatkowo pobierze mu się np. phpunit :)
komentarz 30 maja 2016 przez efiku Szeryf (75,160 p.)
A i tu ciekawostka. Wymagasz phpunit, a brak testów jednostkowych :D
komentarz 30 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
A wiec to tak dziala. Jesli chodzi o testy to dopiero bede sie z tym bawic jak cache okielznam ;)
komentarz 30 maja 2016 przez efiku Szeryf (75,160 p.)
No ale gratuluję strony. Początki są zawsze trudne. Praktyka czyni mistrza ;)

2 odpowiedzi

+4 głosów
odpowiedź 30 maja 2016 przez Comandeer Guru (601,490 p.)
  • A dlaczego Twój kod jest wrzucony do vendor? IMO powinno być w src lub podobnym. No i dodatkowo wypada ustawienia autoloadingu przerzucić do composer.json.
  • Router zasługuje na własny plik albo mógłby być wpakowany do bootstrap.php.
  • Kontrolery, zamiast być pakowane bezpośrednio do routera, można spokojnie wyjąć jako osobne klasy.
  • Dostępne języki to config – obecnie masz to zahardcode'owane.

To tak na 1. rzut oka ;)

komentarz 30 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
To juz cos. Jesli chodzi o ten router to tak dziwnie. Wszelkie przyklady ten routing maja w indexie.
1
komentarz 30 maja 2016 przez Comandeer Guru (601,490 p.)
Może i mają, ale jak się rozrośnie, to przestanie być przyjemnie ;) Stąd przerzucam go zawsze do oddzielnego pliku.
komentarz 30 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
Czyli w indexie zostaja same require i app->run()?
2
komentarz 30 maja 2016 przez Comandeer Guru (601,490 p.)
IMO tak.
komentarz 31 maja 2016 przez Niespecjalny Gaduła (4,180 p.)
edycja 31 maja 2016 przez Niespecjalny

Chyba nie zrozumiałem

Dostępne języki to config

czyli jakoś tak?

$app[available.languages]=[
    'en', 
    'pl'
]; 

i czy mógłby mi ktoś wyjaśnić co robi to prod, mi się wydawało że tutaj wstawia się tablicę?

https://github.com/lyrixx/Silex-Kitchen-Edition/blob/master/web/index.php

new App\Application('prod'); <----- 'prod'

 

1
komentarz 1 czerwca 2016 przez Comandeer Guru (601,490 p.)
Co do configu – tak, w swojej najbardziej prymitywnej wersji może tak wyglądać.

Natomiast to drugie wczytuje ustawienia dla wersji produkcyjnej lub developerskiej aplikacji.

Przepraszam, że dopiero teraz odpisuje…
komentarz 1 czerwca 2016 przez Niespecjalny Gaduła (4,180 p.)
i tak dziękuje, ale nadal mi to drugie nie pasuje. Przecież zgodnie z tym https://github.com/silexphp/Pimple/blob/master/src/Pimple/Container.php powinna być tam tablica.

Czyżby to brało stringa jako tablicę?
1
komentarz 1 czerwca 2016 przez Comandeer Guru (601,490 p.)

Zauważ, że to nie Silex\Application a App\Application – czyli klasa stworzona przez autora tego kodu → https://github.com/lyrixx/Silex-Kitchen-Edition/blob/master/src/App/Application.php#L25

Ta klasa rozszerza klasę Silexa i zamiast tablicy bierze stringa.

komentarz 1 czerwca 2016 przez Niespecjalny Gaduła (4,180 p.)
Racja, nie zauważyłem. Dzięki.

Zaraz wrzucę poprawioną wersję.
+1 głos
odpowiedź 1 czerwca 2016 przez Niespecjalny Gaduła (4,180 p.)
edycja 2 czerwca 2016 przez Niespecjalny
Poprawki zrobione teraz czas na kolejne dodatki.
Tymczasem zostawiam wam nową wersję tutaj https://github.com/benoStrict/istudyveryhard

 

Biorę się za te testy :P

Jeżeli jeszcze znajdziecie coś do poprawki to proszę pisać. Dzięki.

Podobne pytania

0 głosów
2 odpowiedzi 438 wizyt
0 głosów
2 odpowiedzi 542 wizyt
pytanie zadane 27 maja 2018 w PHP przez mder96 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 196 wizyt
pytanie zadane 26 września 2017 w PHP przez amiluke Obywatel (1,120 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...