Mirki i mirabelki, szukam programisty PHP z dobrą znajomością Laravel / Symfony. Projekt na jakieś 2 miesiące pracy. Start na początku lipca.

Rozliczenie na FV lub UoD. Mile widziane osoby z Wrocławia i okolic. Zainteresowanych proszę o wiadomość prywatną z informacją o stawce godzinowej oraz dyspozycyjności na lipiec-sierpień.

#webdev #php #laravel #symfony #it #wroclaw
$di = new ContainerBuilder();

$di->register(Controller::class)
->setAbstract(true)
->addArgument('asdf')
;

$definition = new ChildDefinition(Controller::class);
$definition->setClass(TestController::class);
$di->setDefinition(TestController::class, $definition);

var_dump($di->get(TestController::class));

wyrzuca

Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\RuntimeException: Constructing service "App\Controller\TestController" from a parent definition is not supported at build time.
Kontrolery istnieją i Controller jest rodzicem TestController. Mi się już pomysły kończą :/
#php #symfony
Cześć Mirki, w ramach dokształcania się w PHP ogarnąłem ostatnio sobie framework Symfony 3. Chciałbym stworzyć sobie w nim jakąś aplikację, ale chciałbym przy okazji, aby była ona skalowalna i ogólnie zgodna z przyjętymi standardami, aby móc nie wstydzić się umieścić jej na githubie w swoim portfolio. Czy ktoś podrzuciłby jakieś linki odnośnie na przykład nazewnictwa własnych Bundli, albo ogólnie odnośnie tego jak powinna wyglądać struktura profesjonalnego projektu w Symfony?
#symfony #
Dlaczego Bundle były nieporozumieniem?


@TeslaX: Dlatego, że z założenia bundle miał być niezależnym modułem aplikacji. W praktyce wszystkie bundle "własne" w aplikacji były od siebie nawzajem zależne.

Same w sobie bundle nie są złe, tylko większość programistów ma braki w wiedzy i doświadczenia z zakresu z projektowania aplikacji, więc źle ich używa. "Nieporozumienie" to dobre określenie na to zjawisko.
#programowanie #php #serializacja #json #symfony #symfony4 #doctrine #orm

Siema phpmirki,
piszę API RESTowe w Symfony 4 i za pomocą Doctrine pobieram sobie z bazy danych listę obiektów klasy ClassA, która wśród swoich pól prywatnych ma jedno pole typu ArrayCollection i teraz chcę zwrócić wszystko jako JSON, aby miało to strukturę mniej więcej

[
{
"id": 1,
"name" : "Blabla",
"ClassB" : [{
"id": 9,
"name": "Urabura",
"status": 0
} { ...
@nehemiah: dzięki, spojrzę na to i przetestuję. Na co dzień jestem frontendowcem i zazwyczaj korzystam już z gotowego API, ale lubię zdobywać nową wiedzę :P

Może ja coś źle zaprojektowałem i nie powinno się robić takich zagnieżdżeń wielokrotnych? Bo w niektórych widokach, w których będe używał konkretnych obiektów nie będę potrzebował ich wszystkich składowych więc wydaje mi się bez sensu zwracanie ich z serwera i chciałbym mieć wpływ na to która
Tworzę stronę do faktur na zaliczenie (w Symfony3) i chciałbym stworzyć raport podsumowujący zysk/stratę miesiąc po miesiącu. Niestety moim sposobem (podanym poniżej) nie wyświetlają się miesiące dla których nie ma rekordów (np. w lutym nie było wydatków ani zysków to wyświetl w lutym 0).

//query to generate profit report
$query=$entityManager->getRepository(Invoice::class)
->createQueryBuilder('i')
->select(' sum(i.netValue) AS netSum, MONTH(i.createDate) AS month, YEAR(i.createDate) AS year, i.incoming AS incoming')
->where('i.owner=:owner')
->groupBy('year')
->addGroupBy('month')
->addGroupBy('incoming') //faktura przychodzaca czy wychodzaca
Witam.
Piszę jeszcze raz, bo mi się wydało, że znalazłem problem, ale jednak nie.
Więc mam apkę w #php bez frameworka. Dodaję komponenty symfony, zmieniam strukturę plików. Mam już router, przekazuję obiekt Request do kontrolera. Mam dostęp z tego obiektu do $GET, $POST, $SERVER, ale nie mam dostępu do sesji, więc muszę używać globalnej zmiennej $SESSION, no a wolałbym tego nie robić.
Znalazłem takie coś w dokumentacji: https://symfony.com/doc/current/components/http_foundation/session_php_bridge.html
mariecziek - Witam.
Piszę jeszcze raz, bo mi się wydało, że znalazłem problem, ale j...

źródło: comment_uibHQbguTjwGVLsK7eXMcBhX1uacKVoV.jpg

Pobierz
@MacDev: To nie jest SF2, to jest legacy code. Brak jakiegoś frameworka. Ja po prostu implementuję Router od SF, tworzę kontrollery itd. Bo dotychczas, to po prostu były wywoływane skrypty PHP pełne require_once albo include. Żadnych serwisów, kontrollerów czy modeli. Po prostu zwykły skrypt.php i PDO.

Komponenty mam najnowsze:

"symfony/routing": "^4.0",
"symfony/http-kernel": "^4.0",
"symfony/dependency-injection": "^4.0",
"symfony/templating": "^4.0",
"symfony/event-dispatcher": "^4.0",
"symfony/http-foundation": "^4.0",
Uczę się #go, napisałem pierwszą apkę która służy za proxy dla #symfony przy pobieraniu obrazków. Po prostu symfony jest za wolne żeby każde odpytanie o dynamicznie generowaną miniaturkę mogło trafiać do kontrolera ( ͡° ͜ʖ ͡°)

Jeśli komuś się nudzi był bym wdzięczny za review kodu. Nie potrafię pisać w #golang więc może być tam trochę bzdur. Ot takie #programowanie #januszeprogramowania #programista15k

Link do GitHuba https://github.com/Preclowski/go-proxy-sample

Warning,
Ciekawostka z #symfony #php

Chciałeś rejestrować repozytoria jako serwisy przez autowiring, ale nie chciało ci się klepać tych wszystkich fabryk w yamlu?

Zamiast extendować EntityRepository extenduj ServiceEntityRepository
Teraz wystarczy

services:
AppBundle\Repository\:
resource: '%kernel.project_dir%/src/AppBundle/Repository/*'
autowire: true

I życie staje się prostsze ( )

https://symfony.com/doc/current/doctrine.html#querying-for-objects-the-repository
#php #symfony
Używa ktoś z was Symfony 4? Bo jak na razie zauważyłem:
- DI nie działa, trzeba wymyślać jakieś ch*je muje w konfigu które i tak nie działają,
- przykłady z oficjalnego tutoriala nie działają,
- nie ma przykładowych bardziej zaawansowanych aplikacji. Aplikacji w stylu helloworld nie liczę.

Chyba, że ktoś w Was mnie oświeci i pokaże działający sposób na wstrzyknięcie serwisu do kostruktora w kontrolerze (w #laravel 5 minut pracy
@Jojne_Zimmerman: używam. DI działa. Przykłady działają. Starsze przykłady z łatwością można zaadaptować.

pokaże działający sposób na wstrzyknięcie serwisu do kostruktora w kontrolerze

Chyba żartujesz? Działa zarówno to jak i wstrzykiwanie serwisu do konstruktora serwisów.
Musiałeś coś nieźle #!$%@?ć z instalacją lub konfiguracją...
W Laravel w 5 minut. W Symfony w mniej niż minutę...
#symfony #php #programowanie
Używam FOSUserBundle, chcę stworzyć panel do zarządzania firmami (tabela Firma ma pola typu NIP, Regon etc.), każda firma ma pracowników i klientów, każdy będzie miał możliwość zalogowania się (konto firmowe, pracownik firmy, klient). Każda z osób ma odmienne dane w tabeli. Dobrym pomysłem będzie zrobienie 3 encji, gdzie każda dziedziczy moją customową klasę Usera jako superclass?
@Meteor100: Long story short .dist jest czytany w momencie composer install bo na podstawie niego (i pytań zadanych userowi) tworzy/aktualizuje parameters.yml. Więc albo w parameters.yml albo parameters.yml.dist masz błąd składni.
Mam relację oneToMany np. na polu "row" chcę zrobić dodawanie "row" z poziomu jednego textarea, tak że jedna linia to jeden obiekt. Aktualnie co przychodzi mi do głowy to event na formularzu i obrobienie tego to tam. Czy może zrobilibyście to inaczej?

#symfony #php
@pitu120: na szybko to zrobiłbym jakieś splitowanie jakimś znakiem albo objął bym wartość posta w jakieś znaki. Albo dodał bym nputa I ustalił na nim jakiś Maks znaków. Pod nim button do dodania kolejnych inputow
Cześć Mirki #symfony . Używam Sonata Project do budowy panelu administracyjnego i nie wiem w jaki sposób mogę rozwiązać problem duplikatów. Chciałbym dodać zabezpieczenie aby nie można było dodać dwa razy tej samej konfiguracji z listy wyboru klasy CollectionType. Ktoś wie jak mogę to zrobić?

->add(
'templates',
CollectionType::class,
array(
'label' => 'Szablon konfiguracji',
'type' => AdminType::class
),
array(
'edit' => 'inline',
'inline' => 'table',
'admin_code' => 'sonata.globe.admin.offer_has_template',
'sortable' => 'sort',
'link_parameters' =>
kratekk - Cześć Mirki #symfony . Używam Sonata Project do budowy panelu administracyj...

źródło: comment_E6SFMxoXjW6elkr55ced0KtKtE0hSsSZ.jpg

Pobierz