Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Symfony2][Symfony]symfony nadpisanie klasy wewnątrz biblioteki swoim service
symer
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Jak nadpisać jakąś klasę wewnątrz biblioteki (IMG:style_emoticons/default/questionmark.gif) wiem, że można ją edytować ale nie o to mi chodzi. Tworzę jakąś usługę w moim bundle i po prostu nadpisuje jakąś wybraną klasę wewnątrz biblioteki np. FosUser. Chcę nadpisać vendor\friendsofsymfony\user-bundle\Form\Type\RegistrationFormType. swoją klasą , którą posiadam w swoim Bundle jako service

Ten post edytował symer 2.07.2018, 19:57:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Jeśli faktycznie używasz FOSUserBundle to wywal go i napisz po swojemu. Zajmie Ci to tyle samo czasu co nadpisywanie tego.
Go to the top of the page
+Quote Post
symer
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


To jest przykład, że Chcę nadpisać tą klasę w FosUserBundle. Pytanie dotyczy jak nadpisać jakąś klasę wewnątrz biblioteki używając własnej service
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Jeśli jest to typowy bundle do SF to może to: https://symfony.com/doc/3.3/bundles/inheritance.html

Go to the top of the page
+Quote Post
symer
post
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Można to zrobić inaczej? Z tego co widzę, to tutaj mogę jedynie z jednego bundle coś podmienić, z którego dostaje getParent. A jak to zrobić jak Chcę pozmieniać w paru bundle ?
Go to the top of the page
+Quote Post
ohm
post
Post #6





Grupa: Zarejestrowani
Postów: 623
Pomógł: 144
Dołączył: 22.12.2010

Ostrzeżenie: (0%)
-----


Co do fosuser to masz w dokumentacji wszystko https://symfony.com/doc/current/bundles/FOS...ding_forms.html
Go to the top of the page
+Quote Post
Pilsener
post
Post #7





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Nie nadpisuje się, bo to bardzo zła praktyka.
Jeśli jakaś biblioteka nam nie pasuje to:
- szukamy innej
- forkujemy ją
- tworzymy do niej adapter
- piszemy własny kod
- i/lub korzystamy z całego spektrum innych możliwości

Niekiedy twórcy biblioteki przewidują taką możliwość, np:
https://symfony.com/doc/current/bundles/FOS...ding_forms.html

Jednak to tworzy więcej problemów, niż rozwiązuje, za kilka miesięcy nikt się nie połapie w tym.
Go to the top of the page
+Quote Post
symer
post
Post #8





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Rozumiem o co Tobie biega i masz racje. No ale Ja nie Chcę jej całkowicie nadpisać. Tylko dodać możliwości . Oto mi chodzi. Bez ruszania jakichkolwiek czynności
Go to the top of the page
+Quote Post
Pilsener
post
Post #9





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
Tylko dodać możliwości

No to nie ma potrzeby nadpisywania.
Tworzysz po prostu własny serwis, gdzie używasz tej biblioteki.
Przykład: masz bibliotekę Guzzle do obsługi API, ale nie ma tam metody pobierającej listę pacjentów z NFZ - robisz więc serwis, który używa Guzzle do pobrania tych danych:

  1. return $this->guzzle->get('nfz.com/listaPacjentow');


Można oczywiście Guzzle nadpisać, ale biblioteki, serwisy, klasy pisze się po to, aby były wyspecjalizowane - jak coś jest do wszystkiego, to jest do niczego.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A możesz powiedzieć co chcesz zrobić? Bo coś mi się wydaje że próbujesz wywarzyć otwarte drzwi i próbować z komina zrobić bramę garażową dla reniferów św. Mikołaja.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 11:16