Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Michał Pipa

Strony: [1] 2 3 ... 12
1
To wydaje się być właściwym mechanizmem: How to Create and Enable Custom User Checkers.

2
Pomoc / Odp: symfony4 tworzenie koszyka do sklepu internetowego
« dnia: Listopada 02, 2018, 13:03:44 »
Failed to start the session because headers have already been sent by "C:\Projekty\PhpStorm\shop\vendor\symfony\var-dumper\Dumper\AbstractDumper.php" at line 181.

To jest dość typowy problem. Do działania sesji potrzebne jest ustawienie cookie. Cookie jest ustawiane w nagłówkach HTTP, a one muszą być wysłane zanim zostanie wysłany pierwszy bajt odpowiedzi HTTP. Dlatego gdy zaczniesz już wysyłać odpowiedź, to nie możesz już ustawić żadnych nagłówków.

Symfony rozwiązuje ten problem nie wysyłając nic aż do ostatniej chwili, kiedy we front kontrolerze jest wywoływana metoda getContent() na obiekcie response. Do tego momentu nie powinno się nic wysyłać, czyli w uproszczeniu nie powinieneś nigdy w aplikacji Symfony wykonywać echo, ani podobnych. Jak chcesz coś wysłać, to umieść to w obiekcie response.

Z komunikatu wynika, że wykonałeś gdzieś wcześniej var_dump, co zablokowało możliwość ustawiania nagłówków i uruchomienia sesji. Odnajdź to wywołanie var_dump i je usuń.

Cytuj
Nie wiem w jaki sposób to naprawić, myślałem też by zapisywac koszyk użytkownika do bazy danych? Jak powinno się taki koszyk zrobić?

Koszyk można zapisywać zarówno w sesji, jak i w bazie danych. Wszystko zależy od tego, co chcesz osiągnąć. Koszyk w bazie danych będzie mógł być dostępny dla wielu sesji tego samego użytkownika (np. z wielu różnych urządzeń). Zapisywanie w sesji za to jest nieco prostsze.

3
Pomoc / Odp: Jak się odwołać w PHP do wartości z pliku yaml?
« dnia: Października 02, 2018, 18:11:18 »
Ustaw parametr kontenera DI. Potem możesz się do niego odwoływać w konfiguracji i w kodzie.

4
Pomoc / Odp: Jak usunac cache?
« dnia: Sierpnia 10, 2018, 19:00:28 »
Ta wartość może być zapisana w wielu różnych miejscach. Bez analizy kodu ciężko powiedzieć gdzie to jest.

5
Pomoc / Odp: Symfony 3.4 blad. Jak naprawic?
« dnia: Sierpnia 06, 2018, 20:47:41 »
Trudno to powiedzieć tylko z tej jednej linijki, ale sprawdź czy poprawnie ustawiasz grupy dla użytkownika. Czy nie próbujesz ustawić grupy jako wartości typu string zamiast obiektu?

6
Pomoc / Odp: Jak naprawic blad aktualizacji komposers?
« dnia: Sierpnia 03, 2018, 17:02:30 »
Wygląda na to, że zainstalowałeś całą aplikację jak zależność. Czy na pewno chciałeś tak zrobić?

7
Showcase / Odp: Symfony 4.1 vs Framework3
« dnia: Sierpnia 01, 2018, 18:39:55 »
Zastanawia mnie jedno. Symfony strasznie długo się prekompiluje (5-20 s). Potem działa dość szybko, ale moja aplikacja jest wiele razy wydajniejsza. Czy nie dyskredytuje to Symfony do używania przy projektach dla dużej rzeszy użytkowników? Czy nie lepiej jest wtedy napisać coś po swojemu?

Co masz na myśli pisząc "Symfony strasznie długo się prekompiluje"? Chodzi Ci o czas budowania cache? Cache jest budowany tylko raz, a potem jest już tylko używany, więc nie jest to żaden problem.

8
Pomoc / Odp: Jak rozszerzyc formularz o dodatkowe pole w Symfony 3.4.11?
« dnia: Sierpnia 01, 2018, 18:35:31 »
Nie musisz rozszerzać bundla. Wystarczy że rozszerzysz klasę formularza. Tu masz przykład z FOSUserBundle: Overriding Default FOSUserBundle Forms.

9
Pomoc / Odp: Jak w Doctrine zbudować złożone zapytanie
« dnia: Maja 01, 2018, 00:50:02 »
Doctrine to jest ORM (Object Relational Mapper), czyli jego zadaniem jest mapowanie obiektów do relacyjnej bazy danych. To, co Ty próbujesz zrobić, to nie jest mapowanie tabel do obiektów, tylko do wartości skalarnych. SQL jest bardzo eleganckim rozwiązaniem tego problemu i właśnie jego powinieneś użyć. Nie ma w tym nic złego.

Przy okazji polecam prezentację Benjamina Eberlei (byłego maintainera projektu Doctrine) o tym kiedy stosować i kiedy nie stosować Doctrine: Doctrine 2: To Use or Not to Use.

A jeżeli się upierasz przy Doctrine, to musisz zastosować hydrację (nie wiem jak to przetłumaczyć) do wartości skalarnych: Single Scalar Hydration.

10
Pomoc / Odp: [S3] FOSUserBundle + dodatkowe role przy rejestracji
« dnia: Grudnia 07, 2017, 21:52:30 »
Masz to dokładnie opisane w dokumentacji: Overriding Default FOSUserBundle Forms. Musisz tylko postępować krok po kroku według tego opisu.

11
Pomoc / Odp: Dynamiczny argument dla Form
« dnia: Września 11, 2017, 18:34:40 »
Tu masz odpowiedź: Pass Options to your Form.

12
Pomoc / Odp: W jaki sposob pobrac zmienna z URL
« dnia: Lipca 17, 2017, 17:34:58 »
Mam też dodatkowe pytanie odnośnie   Handling Form Submissions. Tam jest taki kawałek kodu np:

 public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('task')
            ->add('dueDate', null, array('widget' => 'single_text'))
            ->add('save', SubmitType::class)
        ;
    }
i w związku z tym mam pytanie gdzie ma sie znajdowac ta metoda buildForm() w jakiej klasie bo rozumiem że obiekt $builder otrzymam z importu FormBuilderInterface . Jeszcze jedno gdzie i kiedy ta metoda bedzie wywolywana , czy moze w funckji gdzie submituje formualrz ?

W przykładzie Handling Form Submissions masz kompletny kod kontrolera, który pozwala wyświetlać i obsługiwać formularz. Niczego więcej nie potrzebujesz. W tym przykładzie formularz budowany jest w kontrolerze za pomocą metody createFormBuilder(), co nie jest najlepszą praktyką. Wtedy kod tworzenia formularza będzie skopiowany w każdym kontrolerze, który będzie go używał. Rozwiązaniem tego problemu jest przeniesienie kodu budującego formularz do osobnej klasy i używanie jej do budowania formularza w kontrolerach. Metoda buildForm() pochodzi właśnie z takiej klasy.

Więcej informacji: Creating Form Classes.

13
Pomoc / Odp: W jaki sposob pobrac zmienna z URL
« dnia: Lipca 14, 2017, 12:18:53 »
Próbuje dostać sie do zmiennych wysyłanych z formularza , mam taki kod w funkcji

$request = Request::createFromGlobals();

Nie powinieneś w ten sposób tworzyć obiektu Request w kontrolerze. Skąd w ogóle taki pomysł? Obiekt Request pobieramy przez parametr kontrolera, a nie tworzymy go.

Przykład:
public function exampleAction(Request $request)
{
    // tutaj możesz użyć obiektu $request
}

Polecam przeczytać dokumentację: The Request object as a Controller Argument. Bez poznania podstaw w Symfony wiele nie osiągniesz.

$imie = $request->query->get('imie');

W ten sposób pobierasz parametr URL, nie parametr formularza. Dlatego nie możesz go odczytać.

Wydaje ,mi sie że  wartosc 'imie' z tablicy przekazywanej przez funkcje render() to jest ta sama wartość która znajduje sie w poniższym kodzie w metodzie createFormBuilder() .Niesetety ten kod nie dziala prawdlowo , widok nie wyswietla zmiennej przekazanej do niego .  Co robie zle ???

Przede wszystkim źle odbierasz parametry formularza. Nie powinieneś ich pobierać bezpośrednio z obiektu $request, tylko pozwolić formularzowi je zmapować na obiekt lub tablicę. Wtedy będą one przetworzone (np. napis z datą zostanie zamieniony na obiekt klasy DateTime) i walidowane.

W dokumentacji jest to opisane: Handling Form Submissions.

Przeczytaj w końcu dokumentację, bo dużo rzeczy robisz źle.

14
Pomoc / Odp: Przekierowanie do innej strony
« dnia: Lipca 14, 2017, 12:18:35 »
Zrobiłem tak że wywołuje metode w kontrolerze w której jest funckja render(). A moze jest jeszcze jakis inny sposób ?

Symfony ma już gotowy kontroler, który renderuje szablon o nazwie przekazanej jako parametr w routingu: How to Render a Template without a custom Controller. W ten sposób możesz jedynie wyrenderować szablon który nie ma parametrów.

15
Pomoc / Odp: Przekierowanie do innej strony
« dnia: Lipca 13, 2017, 20:23:06 »
w takim razie czy to jest prawidlowy zapis przekierowania do podstrony success.html.twig ?

return $this->redirect('default/success.html.twig');

Nie. Nie możesz przekierować do szablonu Twig. Możesz przekierowywać jedynie na URL, co w Symfony oznacza stworzenie kontrolera i routingu do niego.

Polecam poczytać dokumentację, bo bez tego ciężko będzie zacząć. Na początek polecam te rozdziały:

Strony: [1] 2 3 ... 12