#programowanie #php #laravel #sql

Mirki, obecnie pracuję jako pl/sql dev i zaproponowali mi dziś dołączenenie do zespołu php (apka w laravelu). No i w sumie zastanawiam się, bo po pracy uczę się Pythona, więc powoli tworzy się taki stack na porządny backend.

Pracuje ktoś z was w tym? Dużo jest się z tym pierdzielenia? Czego mogę się spodziewać ucząc się php?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#laravel

Mam pewną relację:
Artykuł może mieć galerię, galeria ma zdjęcia:
art->galeria->zdjecia

Mam
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam mały problem z rabbitem i konsumowaniem kolejek w PHP. Zakładam że mam 2 instacje rabbit1 i rabbit2.
Jak zrobić przełączenie instacji w taki sposób że jeżeli rabbit1 padnie, to całe działanie przejmuje rabbit2. Aby system mógł dalej poprawnie funkcjonować.

Korzystam z paczki vladimir-yuldashev/laravel-queue-rabbitmq

#laravel #php #programowanie #programista15k
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zamiast stosować przewidywalne, inkrementowane identyfikatory w tabelach bazy danych zaleca się często, ze względów bezpieczeństwa, używanie tzw. #uuid, czyli unikalnych identyfikatorów tekstowych. Taki klucz w tabeli maksymalnie niweluje skuteczność ataków ☠️ polegających na kolejnym odpytywaniu URL, zwiększając jedynie parametr ID o jeden.

Na przykładzie #php i #laravel zademonstruję sposób na użycie UUID.

A czy Ty używasz UUID w swoim projekcie?
michalkortas - Zamiast stosować przewidywalne, inkrementowane identyfikatory w tabela...

źródło: comment_1612454863KAux8tRtsBdojzAWuKtSXq.jpg

Pobierz
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Serghio: @Serghio: Mam doświadczenie w projekcie gdzie poprzednik zaczął stosować uuid oraz id (id był podstawowy)

uuid wypływało zawsze na zewnątrz, do jakiegoś get itd.
obowiązywała jednocześnie zasada aby id nigdy nie było widoczne nigdzie na froncie, id używaliśmy tylko do komunikacji pomiędzy wywołaniami na backendzie.
  • Odpowiedz
@Serghio: @szczesc_borze: ostatnio mi wystarczyła informacja ile zamówień tygodniowo posiada pewna firma gdzie numer zamówienia jest autoincrement, wystarczyło złożyć dwa zamówienia w przeciągu tygodnia i wiedziałem

ps. to może ulid? nie rozwala tak bazy przy insercie
  • Odpowiedz
Wszystko w env tez będzie głupie. Potem bedziesz miał plik env z 1000 linii


@asdfghjkl: przynajmniej bedzie wszystko w jednym miejscu a nie rozwleczone po całym projekcie (btw 1000 parametrów konfiguracyjnych - jak bedzie miał 30 to już dużo i tak). Jedyny problem z takim podejsciem ze np. mozesz chciec jednak trzymać jakieś ustawienia w repo (np. stopien kompresji plików ktore przetwarszasz) ale nie te wrażliwe (np. klucz do API
  • Odpowiedz
Mirasy spod tagu #php i #symfony. Tak sobe zacząłem obczajać to sławetne symfony i widzę, że domyślnie jest tam struktura aplikacji jakby to powiedzieć - pozioma, czyli osobno worek na kontrolery, osobno na serwisy, osobno na encje itp. Wprawdze dawno we frameworkach nie pisałem, ale pamiętam, że starodawnych czasach, gdy jeszcze panował zend1 to można było tam skonfigurować stukturę bardziej modułową, czyli np można było zrobić moduł
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kefas_safek: Generalnie dobrą praktyką jest posiadanie modułów oddzielonych od symfony. Ja zazwyczaj robię tak, że mam sobie src/AppBundle i jakiś na przykład src/App i w tym drugim mam sobie logikę biznesową podzieloną na różne moduły i oddzieloną kompletnie od frameworka, więc teoretycznie jakbym kiedyś zdecydował zmienić framework to zmieniam framework, a nie mój kod biznesowy. Tam też trzymam wszelakie encje, ale nie korzystam z annotacji, encja w src/App nie wie,
  • Odpowiedz
Trochę się namęczyłem żeby móc używać #nuxt #apollo #graphql #laravel #lighthouse oraz autoryzacji poprzez ciasteczka z Sanctum

Jak zwykle w dokumentacji nie ma nic na ten temat tylko trzeba przeszukać pół internetu może komuś się kiedyś przyda:

import { HttpLink } from 'apollo-link-http'
import { setContext } from 'apollo-link-context'
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Piątek wieczór – czas w sam raz na ostre cięcie na produkcji :-) Dzisiaj krótki wpis, który uporządkuje katalog z klasami migracji bazy danych w Laravel. Z biegiem czasu straszliwie puchnie i warto go co jakiś czas trochę odchudzić.

https://webroad.pl/php/7882-laravel-porzadek-w-migracjach-bazy-danych

#laravel #php #webroad
michalkortas - Piątek wieczór – czas w sam raz na ostre cięcie na produkcji :-) Dzisi...

źródło: comment_1611348695kfKVuW0Mcofs7NIgSYSOpX.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@sheeple:
Mogę wesprzec z tym ze wiekszosc zycia w zendize i symfony, ostatnia larva jakiej uzywalem to chyba wersja 4.
Mogę rowniez pomoc z frontem we vue, ale tutaj co najwyżej poziom juniora zaprezentuje :)
  • Odpowiedz
Głowię się nad rozwiązaniem systemu uprawnień, załóżmy, że w aplikacji mamy model Project i Task, które są w relacji jeden do wielu. Nasz użytkownik ma nadane uprawnienie "read" dla Project ale nie ma uprawnienia do Task, endpoint odpowiedzialny za zwracanie modelu Project domyślnie zwraca relację Task.

Jaki waszym zdaniem jest najlepszy sposób na sprawdzenie czy user ma dostęp do relacji Task i jeżeli ma to wtedy ją zwróci? Zwracać tylko model Project
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Cybe: można na etapie query buldera wrzucić with('tasks') w when który wpierw sprawdzi czy user ma uprawnienie task read. Alternatywnie można to sprawdzać na etapie API Resource/DTO i jeśli nie ma to nie zwracać relacji.
  • Odpowiedz
@maciorqa: To nie jest tak że przechodzisz z jednego na drugi i koniec, drzwi zamknięte. Po prostu pisząc w SF możesz (i powinieneś) tworzyć piękny kod zgodny z dobrymi praktykami, wzorcami itp. W larwie bywa to ciężkie, chociażby z powodu który przytoczyłem wyżej, i kiedy już się znasz i sobie popiszesz w SF, to potem jak wskakujesz na larwę to patrzysz i się odechciewa. Larwa jest super do mniejszych projektów
  • Odpowiedz
@nophp: to jakbym Ci podał paczkę do która integruje się z symfony jako bundle, albo ich oficjalną wtyczkę np do prestashop? też jest napisana niby w php ( ͡° ͜ʖ ͡°) myślałem że potrzebujesz konkretnie pod laravela jak np paypal
  • Odpowiedz
Robiąc coś lekko podobnego do wykopu, typowo pod naukę o marginalnym pewnie zasięgu, ale jednak, żeby funkcjonowało i żeby ludzie mogli dodawać treści - to musze zadbać o moderację takiej stronki? Jest to jakoś prawnie wymagane? Czy mogę sobie np. stworzyć taką czarną dziurę w d00psku internetu, gdzie każdy będzie na siebie wylewać pomyje i wymiotować innym anonom w pysk fekaliami? Jest jakiś wymóg prawny, żeby była cenzura? Czy tylko potwierdzenie 18
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JamnikWallenrod: proszę bardzo, jak będziesz bogaty sypnij cos:
Uwaga! Publikowane powyżej LINKI/ARTYKULY są prywatnymi opiniami użytkowników serwisu, które dodano po zaakceptowaniu regulaminu. WWW.pl nie ponosi odpowiedzialności za treść XYZ. Jeżeli którykolwiek ARTYKUŁ łamie zasady, zawiadom nas o tym używając opcji "zgłoś nadużycie".

I chyba taki duppchron w stopce czy gdzieś wystarczy
  • Odpowiedz
repozytoria w active record też mają sens bo porządkują model z niepotrzebnej logiki, zwłaszcza ze scope-ów.


@nowiutki: zgadzam się, sam czasem robię, skróciłem w myślach poradę dla OPa żeby skupił się na podstawach w jego przypadku
  • Odpowiedz
php artisan serve - po wpisaniu tego polecenia mam taki bład. O co chodzi? Kiedyś normalnie po zainstalowaniu composera i stworzenia projektu mogłem korzystać z artisana. A teraz taki błąd. W internecie są jakieś rozwiązania tylko pod linuxa. Ktoś coś?

Mcrypt PHP extension required.

#php #programowanie #laravel
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@spaduwa_mam_robote: no premiera była jakos tydzień czy dwa temu. Ja do mniejszych rzeczy to wolę valet a jak mam cos co wymaga wielu dodatkowych rzeczy w systemie to samemu sobie dockera komponuje, ale dam szanse Sail w którymś momencie ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Mirki mam takie coś:
users - id | email_id [...]
emails - id | name

Jak zrobić, aby automatycznie dodawało mi email przy pytaniu o użytkownika?
Stosuje hasOne, getEmailAttribute i protected appends, ale nie działa (
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach