ProductController :: viewProduct

Request

GET Parameters

Key Value
currency
"€(EUR)'""
lang
"Français"
region
"Lidsa"
url
"product/baron-bbq/tourtine/7149/"

POST Parameters

No POST parameters

Uploaded Files

No files were uploaded

Request Attributes

Key Value
_controller
"App\Controller\ProductController::viewProduct"
_firewall_context
"security.firewall.map.context.main"
_locale
"en"
_route
"viewProduct"
_route_params
[
  "_locale" => "en"
  "producerUrl" => "baron-bbq"
  "productName" => "tourtine"
  "id" => "7149"
]
_template
Sensio\Bundle\FrameworkExtraBundle\Configuration\Template {#935
  #template: "frontend/product.html.twig"
  -vars: []
  -streamable: false
  -owner: []
}
id
"7149"
producerUrl
"baron-bbq"
product
App\Entity\Product {#1115
  #em: Doctrine\ORM\EntityManager {#322 …}
  #userServ: App\Service\UserService {#148 …}
  -urlName: null
  -id: 7149
  -origName: "Tourtine"
  -origBrandName: "6 à 8 portions"
  -qtyLeft: 0
  -unitAmount: 2.6
  -unit: 3
  -available: true
  -origDescription: "<p>Tourti&egrave;re du Lac &agrave; la brisket,&nbsp;pulled-pork, cheddar en grain et sauce demi-glace au foie gras.</p><p><strong>Pour 6 &agrave; 8 portions</strong></p>"
  -categories: Proxies\__CG__\App\Entity\Category {#1177 …}
  -conservation: Proxies\__CG__\App\Entity\Conservation {#1156 …}
  -Origin: "Québec/Canada"
  -bestBefore: null
  -creationDate: DateTime @1609736400 {#1112
    date: 2021-01-04 00:00:00.0 America/New_York (-05:00)
  }
  -nutritionFact: null
  -newProduct: true
  -images: Doctrine\ORM\PersistentCollection {#1157 …}
  -mainImage: Proxies\__CG__\App\Entity\Image {#1178 …}
  -tags: Doctrine\ORM\PersistentCollection {#1135 …}
  -ingredients: Doctrine\ORM\PersistentCollection {#1149 …}
  -storages: Doctrine\ORM\PersistentCollection {#1190 …}
  -pricings: Doctrine\ORM\PersistentCollection {#1208 …}
  -certifications: Doctrine\ORM\PersistentCollection {#1221 …}
  -company: Proxies\__CG__\App\Entity\Company {#1382 …}
  -taxable: false
  -maturinUpc: "055843410967"
  -codeUPC: null
  -code1: null
  -code2: null
  -code3: null
  -codeBox: null
  -alimentsDuQuebec: false
  -deliveryLocations: Doctrine\ORM\PersistentCollection {#1370 …}
  -minimumInStorage: 100
  -deliveryMethods: Doctrine\ORM\PersistentCollection {#1347 …}
  -limitedQuantity: false
  -alimentsDuQuebecCertification: null
  -DeliveryType: 0
  -DeliveryPickup: false
  -draft: false
  -deliveryMail: true
  -locations: Doctrine\ORM\PersistentCollection {#1321 …}
  -region: Proxies\__CG__\App\Entity\Region {#1292 …}
  -advices: "<p>Cuisson:</p><p>Garder gel&eacute;e.</p><p>Pr&eacute;chauffer le four ou le BBQ &agrave; 325 &deg; F, recouvrir de papier d&rsquo;aluminium (attention de ne pas coller le papier &agrave; la p&acirc;te) et placer sur la grille du centre au four ou de fa&ccedil;on indirecte au bbq. Cuire 3h.</p><p>Augmenter le four &agrave; 375 &deg; F, d&eacute;couvrir et laisser dorer environ une heure. Bingo!</p><p>(Pour un meilleur r&eacute;sultat, badigeonner la tourtine d&rsquo;un &oelig;uf battu avec 2 cuill&egrave;res &agrave; soupe d&rsquo;eau froide avant de couvrir et d&rsquo;enfourner).</p>"
  -recipes: null
  -userViewed: Doctrine\ORM\PersistentCollection {#1303 …}
  -inCarts: Doctrine\ORM\PersistentCollection {#1246 …}
  -solexId: "37229"
  -replenishmentItems: Doctrine\ORM\PersistentCollection {#1263 …}
  -favorites: Doctrine\ORM\PersistentCollection {#1275 …}
  -listOfIngredients: "<p>Sauce demi glace, Pomme de terre, Viande (porc et boeuf), Fromage en grain, Foie gras de canard, &Eacute;pices et Sel.</p><p>Pate: Farine de bl&eacute;, Graisse, Eau, Oeufs, Vinaigre.</p><p>Contient: Bl&eacute;, Gluten de bl&eacute;, Soya, Lait, Oeuf, Sulfites.</p><p>Peut contenir: Poisson et Crustac&eacute;e</p>"
  -qtyReadyToShip: 66
  -expirationDate: DateTime @1621915200 {#1113
    date: 2021-05-25 00:00:00.0 America/New_York (-04:00)
  }
  -isConsigned: false
  -consignedCost: 0.0
  -nutritionFactImage: null
  -isFragile: false
  -qtyPerUnit: 1
  -validatedByDistributor: true
  -deliveryNote: null
  -isJustInTime: false
  -reminderLowQuantitySent: false
  -hasMultipleProducts: false
  -hasFreeMaturinShipping: false
  -deal: null
  -productsInBundle: Doctrine\ORM\PersistentCollection {#1277 …}
  -badges: Doctrine\ORM\PersistentCollection {#1399 …}
  -diets: Doctrine\ORM\PersistentCollection {#1412 …}
  -discountPricings: Doctrine\ORM\PersistentCollection {#1414 …}
  -subCategory: Proxies\__CG__\App\Entity\Category {#1416 …}
  -complementedByGroups: Doctrine\ORM\PersistentCollection {#1429 …}
  -complementaryGroups: Doctrine\ORM\PersistentCollection {#1431 …}
  -actionWhenExpired: 0
  -isSubscribable: null
  -subscriptions: Doctrine\ORM\PersistentCollection {#1451 …}
  -isBoxOfProducts: false
  -productsInBox: Doctrine\ORM\PersistentCollection {#1465 …}
  -isOnlySubscribable: null
  -justInTimeDeliveryDate: null
  -freeMaturinShippingIfLowerThen: null
  -isOnlySubscribableToType: null
  -targetOfReplacementScripts: Doctrine\ORM\PersistentCollection {#1479 …}
  -quantityWarehouse: 78
  -quantityWarehouseReserved: 3
  -quantityOnHold: 2
  -parentProductId: null
  -feeWarehousePackingPerUnit: 3.3
  -feeWarehouseHandlingPerUnit: null
  -isDisplayedInAssociationOnly: false
  -isHri: false
  -puroExclusion: false
  -containsAlcohol: false
  -isConsumer: true
  -productColaborPrice: null
  -isPrixLaureat: false
  -cantUseCoupon: false
  -corporative: null
  -seasonality: null
  -seasonalityStart: null
  -seasonalityEnd: null
  -quantityMaxProd: null
  -productDelete: false
  -orderFrequency: 0
  -portionForMeal: 0
}
productName
"tourtine"

Request Headers

Header Value
accept
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
accept-encoding
"gzip,deflate,br"
connection
"Keep-alive"
cookie
"PHPSESSID=28lbk1lv3hb4f8jcm0gpjh2l5m"
host
"staging.maturin.ca"
referer
"https://staging.maturin.ca/"
user-agent
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-type
"text/html; charset=UTF-8"
date
"Tue, 07 Apr 2026 21:24:34 GMT"
x-debug-token
"e4c0be"

Cookies

Request Cookies

Key Value
PHPSESSID
"28lbk1lv3hb4f8jcm0gpjh2l5m"

Response Cookies

No response cookies

Session

Session Metadata

Key Value
Created
"Tue, 07 Apr 26 15:41:57 -0400"
Last used
"Tue, 07 Apr 26 17:24:32 -0400"
Lifetime
"31536000"

Session Attributes

Attribute Value
_csrf/https-authenticate
"ifB2-DmsQqaVZuB40-JktXxPZ5GM-BhjKSgmrqlFYls"
_csrf/https-cart
"Hmxnj-4bMY5jm-Q66PlVZL7pJJGdnBoJZhCdJndifXA"
_csrf/https-form
"atFSyGEQ7FZXwOLmSGyBzu1syG_OmovqOL1pySLD44c"
_csrf/https-registration
"AdSJ8EaThNJfXIUvGr2CBFpH0w5hF1LT-7EwKQHj7c4"
_hwi_oauth.facebook.224654284787874.csrf_state.01ba857cbe465bb9aec5dec4aa460b14
"01ba857cbe465bb9aec5dec4aa460b14"
_hwi_oauth.facebook.224654284787874.csrf_state.160173e47418a36aa0b08d81d6ea1116
"160173e47418a36aa0b08d81d6ea1116"
_hwi_oauth.facebook.224654284787874.csrf_state.41399c959ea2ef0025aee8a3a5c77dab
"41399c959ea2ef0025aee8a3a5c77dab"
_hwi_oauth.facebook.224654284787874.csrf_state.cdafaf01b988769113329af6c918ac73
"cdafaf01b988769113329af6c918ac73"
_security.last_error
Symfony\Component\Security\Core\Exception\BadCredentialsException {#241
  -token: Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken {#251 …}
  #message: "Bad credentials."
  #code: 0
  #file: "/var/www/html/Markego/vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php"
  #line: 68
  trace: {
    /var/www/html/Markego/vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php:68 {
      session_start($options) …
      › if ($this->hideUserNotFoundExceptions) {    throw new BadCredentialsException('Bad credentials.', 0, $e);}
    }
    /var/www/html/Markego/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:151 {
      Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() …
      › // ok to try and start the sessionif (!session_start()) {    throw new \RuntimeException('Failed to start the session');
    }
    /var/www/html/Markego/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:320 {
      Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag($name) …
      › } elseif (!$this->started) {    $this->start();}
    }
    /var/www/html/Markego/vendor/symfony/http-foundation/Session/Session.php:244 {
      Symfony\Component\HttpFoundation\Session\Session->getBag($name) …
      › {    $bag = $this->storage->getBag($name);}
    /var/www/html/Markego/vendor/symfony/http-foundation/Session/Session.php:266 {
      Symfony\Component\HttpFoundation\Session\Session->getAttributeBag(): AttributeBagInterface …
      › {    return $this->getBag($this->attributeName);}
    }
    /var/www/html/Markego/vendor/symfony/http-foundation/Session/Session.php:68 {
      Symfony\Component\HttpFoundation\Session\Session->get($name, $default = null) …
      › {    return $this->getAttributeBag()->get($name, $default);}
    }
    /var/www/html/Markego/vendor/symfony/security-http/Firewall/ContextListener.php:113 {
      Symfony\Component\Security\Http\Firewall\ContextListener->authenticate(RequestEvent $event) …
      › $sessionId = $session->getId();$token = $session->get($this->sessionKey);}
    /var/www/html/Markego/vendor/symfony/security-http/Firewall/AbstractListener.php:27 {
      Symfony\Component\Security\Http\Firewall\AbstractListener->__invoke(RequestEvent $event) …
      › if (false !== $this->supports($event->getRequest())) {    $this->authenticate($event);}
    }
    /var/www/html/Markego/vendor/symfony/security-bundle/Debug/WrappedListener.php:51 {
      Symfony\Bundle\SecurityBundle\Debug\WrappedListener->__invoke(RequestEvent $event) …
      › if (\is_callable($this->listener)) {    ($this->listener)($event);} else {
    }
    /var/www/html/Markego/vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:35 {
      Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(RequestEvent $event, iterable $listeners) …
      › $wrappedListener = new WrappedListener($listener);$wrappedListener($event);$this->wrappedListeners[] = $wrappedListener->getInfo();
    }
    /var/www/html/Markego/vendor/symfony/security-http/Firewall.php:97 {
      Symfony\Component\Security\Http\Firewall->onKernelRequest(GetResponseEvent $event) …
      › if ($event instanceof RequestEvent) {    $this->callListeners($event, $authenticationListeners());} else {
    }
    /var/www/html/Markego/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:126 {
      Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher) …
      › 
      › ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);}
    /var/www/html/Markego/vendor/symfony/event-dispatcher/EventDispatcher.php:264 {
      Symfony\Component\EventDispatcher\EventDispatcher->doDispatch($listeners, $eventName, Event $event) …
      ›     }    $listener($event, $eventName, $this);}
    }
    /var/www/html/Markego/vendor/symfony/event-dispatcher/EventDispatcher.php:239 {
      Symfony\Component\EventDispatcher\EventDispatcher->callListeners(iterable $listeners, string $eventName, $event) …
      › if ($event instanceof Event) {    $this->doDispatch($listeners, $eventName, $event);}
    /var/www/html/Markego/vendor/symfony/event-dispatcher/EventDispatcher.php:73 {
      Symfony\Component\EventDispatcher\EventDispatcher->dispatch($event) …
      › if ($listeners) {    $this->callListeners($listeners, $eventName, $event);}
    }
    /var/www/html/Markego/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:168 {
      Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch($event) …
      › try {    $this->dispatcher->dispatch($event, $eventName);} finally {
    }
    /var/www/html/Markego/vendor/symfony/http-kernel/HttpKernel.php:122 {
      Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response …
      › $event = new RequestEvent($this, $request, $type);$this->dispatcher->dispatch($event, KernelEvents::REQUEST);}
    /var/www/html/Markego/vendor/symfony/http-kernel/HttpKernel.php:68 {
      Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
      › try {    return $this->handleRaw($request, $type);} catch (\Exception $e) {
    }
    /var/www/html/Markego/vendor/symfony/http-kernel/Kernel.php:201 {
      Symfony\Component\HttpKernel\Kernel->handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) …
      › try {    return $this->getHttpKernel()->handle($request, $type, $catch);} finally {
    }
    /var/www/html/Markego/public/index.php:35 {$request = Request::createFromGlobals();$response = $kernel->handle($request);$response->send();
    }
  }
}
_security.last_username
"(select 198766*667891 from DUAL)"
_security.main.target_path
"https://staging.maturin.ca/livraison?url=livraison"
cartId
18217509
favorites
Doctrine\Common\Collections\ArrayCollection {#236
  -elements: []
}

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
ADMIN_TO_SEND_ADDRESS
"maxime@maturin.ca"
APP_DEBUG
"1"
APP_ENV
"dev"
APP_SECRET
"ece17b137845c6af87737a7b429bf83e"
DATABASE_URL
"mysql://dev:adf98hj248r7hdasfSDF23r@127.0.0.1:3306/omelodev"
DEV_TO_MAIL_ADDRESS
"maxime@maturin.ca"
ELASTICSEARCH_HOST
"127.0.0.1"
ELASTICSEARCH_PORT
"9200"
ENABLE_TWIG_CACHE
"true"
MAILER_FROM
"reply-message@maturin.ca"
MAILER_URL
"smtp://mail.maturin.ca:587?encryption=&auth_mode=&username=maxime@maturin.ca&password=y3TE3dK7"
SOLEXIS_API_HOST
"https://maturin-dev.solutionextreme.com/api/"
SOLEXIS_NEW_API_HOST
"https://maturin-dev.solutionextreme.com/api/"
STRIPE_API_KEY
"sk_test_cLLpvDdtubdfD3HTPOK3uEoC"
STRIPE_API_PKEY
"pk_test_Hk3TQ3qfUi6YJ5ZTc2jdQB3X"

Defined as regular env variables

Key Value
CONTEXT_DOCUMENT_ROOT
"/var/www/html/Markego/public"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/html/Markego/public"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_ENCODING
"gzip,deflate,br"
HTTP_CONNECTION
"Keep-alive"
HTTP_COOKIE
"PHPSESSID=28lbk1lv3hb4f8jcm0gpjh2l5m"
HTTP_HOST
"staging.maturin.ca"
HTTP_REFERER
"https://staging.maturin.ca/"
HTTP_USER_AGENT
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHP_SELF
"/index.php"
QUERY_STRING
"url=product/baron-bbq/tourtine/7149/&currency=%C3%A2%E2%80%9A%C2%AC(EUR)'"&lang=Fran%C3%83%C2%A7ais&region=Lidsa"
REDIRECT_HTTPS
"on"
REDIRECT_QUERY_STRING
"url=product/baron-bbq/tourtine/7149/&currency=%C3%A2%E2%80%9A%C2%AC(EUR)'"&lang=Fran%C3%83%C2%A7ais&region=Lidsa"
REDIRECT_SSL_TLS_SNI
"staging.maturin.ca"
REDIRECT_STATUS
"200"
REDIRECT_URL
"/product/baron-bbq/tourtine/7149/"
REMOTE_ADDR
"45.153.34.143"
REMOTE_PORT
"59692"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1775597071
REQUEST_TIME_FLOAT
1775597071.868
REQUEST_URI
"/product/baron-bbq/tourtine/7149/?currency=%C3%A2%E2%80%9A%C2%AC(EUR)'"&lang=Fran%C3%83%C2%A7ais&region=Lidsa"
SCRIPT_FILENAME
"/var/www/html/Markego/public/index.php"
SCRIPT_NAME
"/index.php"
SERVER_ADDR
"51.79.50.9"
SERVER_ADMIN
"webmaster@localhost"
SERVER_NAME
"staging.maturin.ca"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SIGNATURE
"<address>Apache/2.4.41 (Ubuntu) Server at staging.maturin.ca Port 443</address>\n"
SERVER_SOFTWARE
"Apache/2.4.41 (Ubuntu)"
SSL_TLS_SNI
"staging.maturin.ca"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_DEBUG,APP_SECRET,DATABASE_URL,MAILER_URL,MAILER_FROM,DEV_TO_MAIL_ADDRESS,ADMIN_TO_SEND_ADDRESS,ELASTICSEARCH_HOST,ELASTICSEARCH_PORT,STRIPE_API_KEY,STRIPE_API_PKEY,SOLEXIS_API_HOST,SOLEXIS_NEW_API_HOST,ENABLE_TWIG_CACHE"