Cytat(twojastara @ 16.03.2015, 22:49:56 )

a dlaczego ma znaczenie co zwraca?
Dla ścisłości
Kod
Error: Call to a member function get() on a non-object
wywala dla lini nr 14.
Ponieważ w następnej linii, właśnie nr. 14, używasz składowej session tak jak obiektu, wywołując na niej metodę get('cart'). Jak zapewne wiesz, nie można wywołać metody na zmiennej która nie przechowuje w sobie obiektu a taka próba kończy się błędem.
Powinieneś wstrzyknąć obiekt klasy Request już gotowy z zewnątrz, dokładnie tak jak w pierwszym przypadku a nie tworzyć go od nowa w konstruktorze ponieważ wtedy będzie pusty i zwracał będzie puste wartości. W drugim przypadku, sposób pozyskiwania obiektu klasy Request sprawia że jest on pusty. Nie możesz oczekiwać że już samo utworzenie obiektu Request sprawi że będzie miał on w sobie dane które może Ci zwrócić.
W systemie Symfony, obiekt Request możesz pozyskać z kontenera $request = $container->get('request'). Jeżeli masz problem z dostępem do obiektu Request w klasie Card, spraw aby obiekty klasy Cart tworzone były jako usługi (services). Przykładowy plik services.xml mógłby wyglądać tak:
CODE
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services
http://symfony.com/schema/dic/services/ser...0.xsd"> <services>
<service id="app_utils.card.service" class="\AppBundle\Util\Card">
<argument type="service" id="request"/>
</service>
</services>
</container>
Dzięki temu, w kontrolerach, obiekty klasy Cart możemy pozyskiwać tak $card = $this->get('app_utils.card.service') o ile klasę Card zadeklarujesz jak w pierwszym przykładzie.
A za powoływanie obiektów klasy Card i wstrzykiwanie im obiektu Request martwił będzie się kontener zależności Symfony.
Cytat(twojastara @ 16.03.2015, 23:28:47 )

acha,
no tak, Mariner w pierwszej odpowiedzi pisał coś podobnego, (ale zamiast 'w konstruktorze' napisał 'w kontrolerze').
Fakt. Mój błąd, chodziło oczywiście o konstruktor a nie kontroler.