Witam, szybkie pytanko, piszę prostą gierkę via WWW i przy okazji chciałem się nauczyć #laravel

Zastanawiam się jak rozwiązać pewien problem zw. z przechowywaniem danych mam encję Gracz i TypPrzedmiotu. Jeden gracz może mieć wiele przedmiotów danego typu, podobnie jeden typ może byś posiadany przez wielu graczy, więc teoretycznie sprawa jest prosta relacja n:m

Tak by wyglądał schemat bazy:

tabla gracz(id, nazwa)

1, 'gracz1'

2, 'gracz22'

tabla typprzedmiotu(id, nazwa)

1, 'miecz'
@Xanatos: Uzasadnisz?

Do #!$%@? nędzy - skąd te hejty? Panowie - ludzie są czarni, biali, żółci, zawody też są różne. PHP spełnia swoją rolę znakomicie w większości przypadków jako webowy język skryptowy, deal with it. A kwestia sporów o wyższość jednego języka nad drugim to strasznie żenująca batalia zakompleksionych programistów.

Nie zapominajcie, że JĘZYK to tylko narzędzie do osiągnięcia celu. A patrząc na to z praktycznego punktu widzenia - skoro PHP
Jak napisać w Eloquent Laravela, sortowanie po ilości komentarzy malejąco i po dacie dodania posta.

W przypadku 2 tabel Post i Comment. Relacja 1:N $post->comments();

np.

Post(21 grudzień, 8 komentarzy)

Post(23 grudzień, 8 komentarzy)

Post(8 grudzień, 4 komentarzy)

#webdev #php #laravel
Chciałem sobie jak najszybciej postawić środowisko, więc wybrałem homestead (zawsze było up-and-ready szybciej niż gdybym miał sobie sam ustawić via puphpet). A tutaj co? Muszę mieć na Windowsie php oraz composera?

Ściągnąłem i wypakowałem php, dodałem Path, ściągnąłem composera, próbuję zainstalować, problem - brak php_openssl.dll, ściągam openssl.dll, inny error - prawdopodobnie nie tą bibliotekę ściągnąłem. Skąd powinienem to pobrać? Chyba, że da się to zrobić szybciej? Homestead zawsze działał mi bezawaryjnie, z
@kot1401:

1.)

Config::get('game.default_ticket_price')
– wstrzykuj obiekt konfiguracji albo od razu wartości w konstruktorze

2.) Dodaj PHPDOCi

3.) Proponuję ustalić styl kodowania na PSR1 + PSR2

4.) Używaj obiektu

\DateTime
zamiast latać po kodzie stringami czy intami:

strtotime($dowMap[$weekday].' next week +'.$hour.' hours')
5.)

is_object($best_flight)


instanceof
i zrób konkretne klasy (domyślam się, że tam jest

\StdClass
)

6.)

chooseBestFlight()
rzekomo zwraca najlepszy lot, a tak na prawdę zwraca

bool
– hę?

7.)
Wrzuc gista z tego, zeby dalo sie komentowac.


@matiit: W gistach nie da się niestety komentować konkretnych linii :/

@kot1401 Skoro Twój kod służy do nauki, może po prostu daj publiczne repo z całością?

0. Obcykasz się z GITem

1. Można wtedy komentować konkretne linii i konkretne commity

2. Można robić

Pull Request
y (czyli mogę Ci od razu podrzucić np mały refactoring)

3. Można robić

issue
(czyli zgłaszać problemy)
@Spook: najlepsza w tym temacie. Jeffrey ma dar przekazywania wiedzy. Ja coś bym streścił w dwóch zdaniach, a on robi o tym 10 minutowy odcinek. Dobre materiały, świetnie się wypowiada, czysty akcent, normalnie nie wiem do czego się przyczepić...
Bawię się w Test-Driven Development.

Załóżmy, że chcę stworzyć nowy bardzo rozbudowany feature w moim projekcie.

Feature będzie składał się z kilku/kilkunastu klas + jednej głównej (np. SomethingService), która będzie operowała na obiektach z tych kilkunastu klas.

W takim przypadku mam najpierw stworzyć testy dla tej głównej klasy, czy raczej zacząc od testowania tych mniejszych i dopiero na końcu je zmockować i stworzyć testy dla SomethingService?

#programowanie #php #testdrivendevelopment #phpunit #testyjednostkowe #
@kot1401: wygląda to mniej więcej tak - najpierw piszesz testy funkcjonalne, czyli to co może zrobić użytkownik końcowy. Przykładowo - Adaś wchodzi na wypok.pl, klika zaloguj, gdzie widzi dwa pola formularza, po kliknięciu zostaje zalogowany i powitany wiadomością "Cześć Adaś!"

Wchodzisz na wypok.pl - nie działa, piszesz więc test jednostkowy sprawdzający czy '/' zwraca status 200. Nie zwraca, robisz więc tak długo przy projekcie aż zwróci poprawny status.

Następnie Adaś powinienen
Czemu mi instalacja przez composer nie działa?

[EDIT] Zapomniałem. Próbuję zainstalować laravel/laravel przez composer.json i wyskakuje błąd z załącznika.

A jak próbuję przez

composer create-project laravel/laravel --prefer-dist
to tworzy folder laravel jednak public/index.php wyświetla błąd

Warning: require(xxx): failed to open stream: No such file or directory in E:\PHP\dir-app\laravel\bootstrap\autoload.php on line 17
. Tak wygląda ścieżka zamiast xxx:

laravel\bootstrap/../vendor/autoload.php
. Jak sprawdziłem to autoload.php znajduje się w folderze bootstrap, nie w vendor.

#
Pobierz Mortale - Czemu mi instalacja przez composer nie działa?

[EDIT] Zapomniałem. Próbuję...
źródło: comment_P02WSrW9PSgk660Jd4i5dvnU7p7hnopI.jpg
Mireczki piszące w Laravelu. Pisałem jeszcze w wersji ~2 i było ok, teraz widzę, że czwórka. Więc szybkie pytania.

- czy można bez problemu pisać zapytania do bazy bez żadnej ORMowej sraki?

- czy można z palca wyklepać walidację formularzy (i same formularze) czy trzeba tworzyć modele i łączyć to z wyżej wymienioną ORMą sraką?

- działa out of the box, czy samemu trzeba tworzyć fantazyjną strukturę katalogów, tworzyć cudaczne bootstrapy i
teraz widzę, że czwórka


@AvantaR: piątka, "na dniach" tzn. grudzień, chyba, że opóźnią to styczeń.

czy można bez problemu pisać zapytania do bazy bez żadnej ORMowej sraki?


Można. masz QueryBuildera jak wszędzie. Nawet w Doctrine masz DBALa ;)

czy można z palca wyklepać walidację formularzy (i same formularze)


można ale imho to straszna męczarnia. Jak chcesz to możesz, ja niepolecam, szczególnie jak ma się więcej formularzy i dłuższych.

działa out of
Pobierz normanos - > teraz widzę, że czwórka



@AvantaR: piątka, "na dniach" tzn. grudzień, ...
źródło: comment_PWHCBOFNud7xCplKtxfdal32pza0vb7Y.jpg