✨️ Jak uniknąć problemów przy aktualizacji frameworka PHP?
Opiszę, w jaki sposób straciłem pracę w jedynej mającej oparte na PHP własne produkty (nie software house) firmie w moim mieście. Znalazłem już inną pracę, ale moje pytanie to: co następnym razem przy zadaniu typu aktualizacja frameworka muszę robić inaczej niż robiłem, żeby nie powtórzyła się taka sama lub podobna sytuacja?

Kilka lat temu dostałem w pracy (programista PHP) zadanie: uaktualnienie Laravela (frameworka PHP) w
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirko_anonim: zaczął bym od aktualizacji inkrementalnej - nie z 4 od razu do 7, ale stopniowo. Mniejszy jednostkowy changeset i breaking changes do ogarnięcia, łatwiejsze testowanie, mniej blokowania bieżącego rozwoju aplikacji, częstszy update zespołu i pokazanie mierzalnych efektów pracy.

z version history widzę:
→ Laravel version 4.0
→ Laravel version 4.1
→ Laravel
  • Odpowiedz
A czego potrzebujesz? Pamiętaj, że pierwsza zasada forów internetowych jest taka, że opisujesz, z czym masz problem i co chcesz zrobić. Oczywiście o ile chcesz, żeby ktoś Ci pomógł.

Może zapytaj jakiegoś LLMa, żeby znalazł Ci coś w dokumentacji, jak sam nie możesz tego znaleźć?
  • Odpowiedz
@massejferguson: ale ja nie wiem, co Ty myślisz. Co chcesz osiągnąć?

Carbon::createFromFormat zwraca Ci obiekt z datą na podstawie formatu. A metoda ->format('Y-m-d') zwraca Ci string z datą wg formatu i tyle.

Tu masz przykład

https://play.phpsandbox.io/nesbot/carbon?input=%3C%3Fphp%0A%24date_in_format%20%3D%20Carbon%3A%3AcreateFromFormat%28%27m%2Fd%2FY%27%2C%20%2712%2F01%2F2025%27%29-%3Eformat%28%27Y-m-d%27%29%3B%0A%0Aecho%20%24date_in_format%3B&version=3.10.3.0
  • Odpowiedz
#php
Gdzie w tej chorej oficjalnej dokumentacji mogę poczytać o "public function somename: static" i chodzi mi o te static. Za Chiny ludowe nie mogę tego znaleść...
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, czy ktoś by miał ochotę przetestować nową wersję mojej aplikacji, która pomaga przygotować się do rozmów rekrutacyjnych programistom i devops (iOS/Android)? https://www.itflashcards.com/ dodałem ostatnio ponad 5000 quizów, nowy design, dark mode.

Jak by ktoś miał chęć sprawdzić to mogę dać kod do konta premium na 30 dni za darmo :)

Mam już kilkudziesięciu subsrybentów z całego świata, ale cholernie ciężko się wbić na dobre pozycje w sklepach Google i Apple :(
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Omer86: Dla mnie korpoidiotyzmy to uwłaczanie człowiekowi, nie poszedłbym na taką rozmowę nawet by się płaszczyć ( ͡° ͜ʖ ͡°)
Ale miło że próbujesz pomóc innym by jakoś to przetrwali
  • Odpowiedz
  • 0
@mcsQ: 1. Też korzystamy z różnych LLM, lista głupich pytań i głupich odpowiedzi, jest duża. Trzeba to ręcznie sprawdzać i weryfikować. 2. Nie masz quizów do śledzenia postępów. 3. Wkrótce chcemy nawiązać współpracę z blogerami, którzy będą weryfikować dodatkowo nowe pytania i odpowiedzi, więc będą to sprawdzone informacje.4. LLM nie jest nawet w stanie wygenerować Ci 100 pytań i odpowiedzi bez wielu błędów.
  • Odpowiedz
#laravel #php
Czy dobrą praktyką będzie dawanie kontrolera do każdej podstrony? Bo w sumie tak myślę że jeżeli serwis będzie się rozbudowywał to pojawi się jakaś logika i żeby było łatwiej rozbudowywać stronę warto zrobić zawczasu kontroller który będzie w przyszłości służył do logiki i podawania propsów do react frontu.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@massejferguson: to zależy. Czasem warto czasem nie warto.
Refactoring jest częścią rozwoju oprogramowania więc moja rada jest taka: pisz kod tak aby nawet jeśli na dzień dzisiejszy uważasz że wspólny kontroler będzie wystarczający to da się szybko i bez większych problemów wyekstrahować rzeczy do dedykowanych kontrolerów jak zajdzie potrzeba
  • Odpowiedz
#laravel #php #inertia #react
mam kompoment SEOhead i słyszałem że dobrą praktyką jest położenie danych do seohead w kontrolerze. Ale co jeżeli mamy podstrony bez kontrolera? wpisać te dane w routes/web.php czy poprostu zakodować to twardo w resources/js/Pages/ i tutaj w jednej z podstron?
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Koniec lata tuż, tuż… złap okazję na hosting w sohost®

Z kodem BTW25 każdy pakiet hostingu www oraz hostingu e-mail aż 50% taniej!
Idealna okazja, aby przyspieszyć Twoją stronę przed sezonem!

W każdym pakiecie hostingu www:
sohost - Koniec lata tuż, tuż… złap okazję na hosting w sohost®

Z kodem BTW25 każdy ...

źródło: btw25_sohost

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Migracje i komendy.

Sytuacja w której tworzymy nowe kolumny, tabele itd jest jasna - idziemy w migracje.

Co w sytuacji, gdy np. tworzymy nową kolumnę Y i chcemy przenieść dane z kolumny X do nowej Y?
Pierwsza część: tworzenie kolumny - idziemy w migrację. Druga część: przenoszenie danych, wykonalibyście za pomocą migracji czy komendy?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirunek: nie siedzę w symfony, ale zakłądam, że jak zawsze w takich sprawach odpowiedź to "to zależy". Jeżeli operacja nie jest bardzo skomplikowana to pewnie migracja, jeżeli jednak jest ddużo bardziej skomplikowana to komenda. Migracja ma ten plus, że można ją cofnąć. W większości wypadków to raczej to co opisałeś czyli migracja do tworzenia, a komenda do przeniesienia.
  • Odpowiedz
@mirunek: w autogenerowanym pliku migracji są metody up i down, które można samodzielnie rozszerzyć, dodać własną logikę, tam można zawrzeć dodatkowy kod SQL kopiowania danych między tabelami i ewentualnego cofnięcia operacji, czyli usunięcie danych, usunięcie kolumny

zależy od złożoności, komenda CLI, co do zasady ma zostać w aplikacji na zawsze, więc jak ma zostać tylko raz użyta to nie ma sensu, może być teoretycznie też wielokrotnie odpalona - przez osoby
  • Odpowiedz
Po mimo tego, że stack deweloperski w webdev zrobił w ostatnich latach gigantyczny postęp, mamy nowoczesne frameworki zarówno na fronttend jak i backend a jednak rynek Wordpress i Woocommerce ciągle rośnie i daje deweloperom dobrze zarabiać. Jest to dziwne biorąc pod uwagę jaki nieopisany chaos programistyczny zawiera przeciętny sklep oparty o Woocommerce. Ten kto to debuguje to wie. Obok siebie współistnieją wszelkie możliwe patterny i antypatterny, częściej antypatterny oraz naleciałości z webdev
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach