Components
20
Twig Components
118
Render Count
656
ms
Render Time
84.5
MiB
Memory Usage
Components
Render calls
| menu:main | App\Twig\Components\Menu\MainMenu | 74.5 MiB | 42.09 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\MainMenu {#5978 -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#208 …} -em: Doctrine\ORM\EntityManager {#550 …} -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#205 …} -kernel: App\Kernel {#14 …} -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.41 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoDark" ] |
|||
| Attributes | [ "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoDark" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6025 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoWhite" ] |
|||
| Attributes | [ "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]" "data-front--header-target" => "logoWhite" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6036 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| utils:theme-switcher |
[Anonymous]
|
68.5 MiB | 1.07 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#6087 -props: [ "class" => "max-w-fit" ] } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150" "data-front--header-target" => "logoDark" ] |
|||
| Attributes | [ "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150" "data-front--header-target" => "logoDark" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6102 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150" "data-front--header-target" => "logoWhite" ] |
|||
| Attributes | [ "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150" "data-front--header-target" => "logoWhite" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6152 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "search" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6180 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "search" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "flexed-biceps" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6196 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "flexed-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "barbell" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6220 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "barbell" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "category" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6244 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "category" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fire" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6268 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fire" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "discipline " "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6292 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "discipline " +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "stats-chart" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6316 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "stats-chart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "latest" "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Attributes | [ "class" => "h-7 w-7 mr-4 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6340 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "latest" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "random" "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Attributes | [ "class" => "h-8 w-8 mr-3 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6364 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "random" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 68.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-down" "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180" ] |
|||
| Attributes | [ "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6703 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "chevron-down" +title: null +symbolDefsName: null } |
|||
| utils:theme-switcher |
[Anonymous]
|
68.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#6658 -props: [ "class" => "max-w-fit" ] } |
|||
| menu:connexion-menu | App\Twig\Components\Menu\ConnexionMenu | 74.5 MiB | 8.87 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\ConnexionMenu {#6788 -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6789 …} -formFactory: Symfony\Component\Form\FormFactory {#6787 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6940 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "hidden dark:block h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "hidden dark:block h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#6975 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "block dark:hidden h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "block dark:hidden h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7005 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "google" "class" => "h-[24px] w-[20px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "h-[24px] w-[20px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7037 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "google" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 72.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "apple" "class" => "h-[24px] w-[20px] fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "h-[24px] w-[20px] fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7056 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "apple" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "h-[80px] w-[300px]" ] |
|||
| Attributes | [ "class" => "h-[80px] w-[300px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7166 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-down" "class" => "fill-white w-[20px] h-[20px]" ] |
|||
| Attributes | [ "class" => "fill-white w-[20px] h-[20px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7200 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "chevron-down" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.16 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "flexed-biceps" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7216 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "flexed-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fire" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7240 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fire" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "category" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7264 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "category" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "barbell" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7288 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "barbell" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "discipline" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7312 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "discipline" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "stats-chart" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7336 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "stats-chart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "latest" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7360 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "latest" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "random" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7384 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "random" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "favorites" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7408 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "favorites" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "more" "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Attributes | [ "class" => "h-5 w-5 mr-2 fill-current" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7432 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "more" +title: null +symbolDefsName: null } |
|||
| app:lang-selector | App\Twig\Components\App\LangSelector | 74.5 MiB | 0.97 ms | |
|---|---|---|---|---|
| Input props | [ "defaultOpenLeft" => true ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LangSelector {#7477 +routeName: null +params: null +withQuery: true +defaultOpenLeft: true -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7467 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.06 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "h-16 w-full" ] |
|||
| Attributes | [ "class" => "h-16 w-full" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7108 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| menu:breadcrumb | App\Twig\Components\Menu\Breadcrumb | 74.5 MiB | 1.07 ms | |
|---|---|---|---|---|
| Input props | [ "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4600 -items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Thoracic Opener" "url" => "/en/exercises/group/311-thoracic-opener" ] [ "label" => "Medball Thoracic Opener" "url" => null ] ] } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Menu\Breadcrumb {#7560 +items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Thoracic Opener" "url" => "/en/exercises/group/311-thoracic-opener" ] [ "label" => "Medball Thoracic Opener" "url" => null ] ] +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4600 -items: [ [ "label" => "menu.home" "url" => "/en/" ] [ "label" => "menu.exercises" "url" => "/en/exercises" ] [ "label" => "Thoracic Opener" "url" => "/en/exercises/group/311-thoracic-opener" ] [ "label" => "Medball Thoracic Opener" "url" => null ] ] } } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7590 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.06 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7612 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.06 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "chevron-right" "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Attributes | [ "class" => "w-[10px] h-[10px] fill-black dark:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7635 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "chevron-right" +title: null +symbolDefsName: null } |
|||
| ad:banner | App\Twig\Components\Ad\AdBanner | 74.5 MiB | 0.43 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "my-4" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdBanner {#7678 +includeScript: true +labelClass: null +containerClass: "my-4" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:video | App\Twig\Components\Media\Video | 74.5 MiB | 0.40 ms | |
|---|---|---|---|---|
| Input props | [ "media" => App\Entity\Media\MediaVideo {#4554 #uploadedFile: null #file: Vich\UploaderBundle\Entity\File {#4556 …} #credits: Doctrine\ORM\PersistentCollection {#4558 …} -source: null -zone: null -urlExternal: "https://www.youtube.com/watch?v=mOEpmTo8uuE" #id: 851 -notes: null #translations: Doctrine\ORM\PersistentCollection {#4530 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -tiersId: null -tiersName: "azeoo" #createdAt: DateTimeImmutable @1731450639 {#4592 : 2024-11-12 23:30:39.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1731450639 {#4544 : 2024-11-12 23:30:39.0 Europe/Zurich (+01:00) } #createdBy: null #updatedBy: null -duration: null -format: null -startTime: null -endTime: null -youtubeId: "mOEpmTo8uuE" } "title" => "Medball Thoracic Opener" "showCredits" => false ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Media\Video {#7765 +media: App\Entity\Media\MediaVideo {#4554 #uploadedFile: null #file: Vich\UploaderBundle\Entity\File {#4556 …} #credits: Doctrine\ORM\PersistentCollection {#4558 …} -source: null -zone: null -urlExternal: "https://www.youtube.com/watch?v=mOEpmTo8uuE" #id: 851 -notes: null #translations: Doctrine\ORM\PersistentCollection {#4530 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -tiersId: null -tiersName: "azeoo" #createdAt: DateTimeImmutable @1731450639 {#4592 : 2024-11-12 23:30:39.0 Europe/Zurich (+01:00) } #updatedAt: DateTimeImmutable @1731450639 {#4544 : 2024-11-12 23:30:39.0 Europe/Zurich (+01:00) } #createdBy: null #updatedBy: null -duration: null -format: null -startTime: null -endTime: null -youtubeId: "mOEpmTo8uuE" } +title: "Medball Thoracic Opener" +posterSm: null +posterLg: null +hasPipButton: true +loop: false +mute: false +showCredits: false +creditsTitle: "label.media_video.credits" -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …} -appManager: App\BusinessLogic\App\Manager\AppManager {#152 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "favorites" "class" => "h-4 w-4 stroke-yellow text-transparent" "data-front--favorite-target" => "icon" ] |
|||
| Attributes | [ "class" => "h-4 w-4 stroke-yellow text-transparent" "data-front--favorite-target" => "icon" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7781 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "favorites" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-5 h-5 text-white inline-flex" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white inline-flex" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7814 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| app:page-sharer | App\Twig\Components\App\PageSharer | 74.5 MiB | 1.39 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "mt-2 md:m-0" ] |
|||
| Attributes | [ "class" => "mt-2 md:m-0" ] |
|||
| Component | App\Twig\Components\App\PageSharer {#7838 +shareUrl: "https://test.fitmetrics.ch/en/exercise/6733d70f76309-medball-thoracic-opener" +title: "Medball Thoracic Opener - Exercise - FitMetrics" +description: "The Medball Thoracic Opener is a mobility exercise designed to improve thoracic spine extension and upper body posture. By using a medicine ball as support, this stretch gently opens the chest and encourages better spinal alignment, which is particularly beneficial for individuals who spend long hours sitting or performing overhead movements. The exercise helps counteract the forward-rounded posture commonly caused by desk work, driving, or mobile device use. Incorporating the Medball Thoracic Opener into a warm-up or recovery routine enhances mobility for exercises such as overhead presses, snatches, and squats. Additionally, it supports improved breathing mechanics by expanding the rib cage and facilitating greater lung capacity. This exercise is widely used in functional training, CrossFit, yoga, and general fitness routines to promote flexibility, posture correction, and injury prevention. Since it requires only a medicine ball and minimal space, it is accessible for both home and gym training. Practiced consistently, the Medball Thoracic Opener contributes to a stronger, more mobile upper body foundation, making it an excellent addition to mobility-focused programs and rehabilitation strategies." +quote: null +hashtags: [ "fitmetrics" ] +alignMobileLeft: false -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7868 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "reddit" "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7896 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "reddit" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "twitter" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7921 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "twitter" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7944 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7967 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "linkedin" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#7990 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "linkedin" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8013 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.03 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "email" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8036 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "email" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Attributes | [ "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#8067 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| ui:editor-render | App\Twig\Components\Ui\Editor\EditorRender | 74.5 MiB | 0.89 ms | |
|---|---|---|---|---|
| Input props | [ "data" => [ "time" => 1756298637 "version" => "2.31.0-rc.7" "blocks" => [ [ "type" => "header" "data" => [ "level" => 2 "text" => "Instructions" ] ] [ "type" => "list" "data" => [ "style" => "ordered" "items" => [ [ "content" => "Sit on the floor with your knees bent and feet flat." "items" => [] "meta" => [] ] [ "content" => "Place a medicine ball under your mid-back, just below the shoulder blades." "items" => [] "meta" => [] ] [ "content" => "Hold a stick or extend your arms overhead with elbows slightly bent." "items" => [] "meta" => [] ] [ "content" => "Slowly lean back over the ball, allowing your chest to open." "items" => [] "meta" => [] ] [ "content" => "Relax and hold the stretch for the desired time." "items" => [] "meta" => [] ] ] "meta" => [] ] ] [ "type" => "header" "data" => [ "level" => 2 "text" => "Technical tips" ] ] [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Keep your core lightly engaged to avoid excessive lower back arch." "items" => [] "meta" => [] ] [ "content" => "Move into the stretch gradually, avoiding sudden motions." "items" => [] "meta" => [] ] [ "content" => "Allow your head and neck to stay relaxed." "items" => [] "meta" => [] ] [ "content" => "Adjust the ball position to target different thoracic segments." "items" => [] "meta" => [] ] ] "meta" => [] ] ] [ "type" => "header" "data" => [ "level" => 2 "text" => "Breathing tips" ] ] [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Inhale deeply as you open your chest." "items" => [] "meta" => [] ] [ "content" => "Exhale slowly to relax deeper into the stretch." "items" => [] "meta" => [] ] [ "content" => "Maintain steady, controlled breathing throughout." "items" => [] "meta" => [] ] ] "meta" => [] ] ] ] ] ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Editor\EditorRender {#8116 +title: null +data: [ "time" => 1756298637 "version" => "2.31.0-rc.7" "blocks" => [ [ "type" => "header" "data" => [ "level" => 2 "text" => "Instructions" ] ] [ "type" => "list" "data" => [ "style" => "ordered" "items" => [ [ "content" => "Sit on the floor with your knees bent and feet flat." "items" => [] "meta" => [] ] [ "content" => "Place a medicine ball under your mid-back, just below the shoulder blades." "items" => [] "meta" => [] ] [ "content" => "Hold a stick or extend your arms overhead with elbows slightly bent." "items" => [] "meta" => [] ] [ "content" => "Slowly lean back over the ball, allowing your chest to open." "items" => [] "meta" => [] ] [ "content" => "Relax and hold the stretch for the desired time." "items" => [] "meta" => [] ] ] "meta" => [] ] ] [ "type" => "header" "data" => [ "level" => 2 "text" => "Technical tips" ] ] [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Keep your core lightly engaged to avoid excessive lower back arch." "items" => [] "meta" => [] ] [ "content" => "Move into the stretch gradually, avoiding sudden motions." "items" => [] "meta" => [] ] [ "content" => "Allow your head and neck to stay relaxed." "items" => [] "meta" => [] ] [ "content" => "Adjust the ball position to target different thoracic segments." "items" => [] "meta" => [] ] ] "meta" => [] ] ] [ "type" => "header" "data" => [ "level" => 2 "text" => "Breathing tips" ] ] [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Inhale deeply as you open your chest." "items" => [] "meta" => [] ] [ "content" => "Exhale slowly to relax deeper into the stretch." "items" => [] "meta" => [] ] [ "content" => "Maintain steady, controlled breathing throughout." "items" => [] "meta" => [] ] ] "meta" => [] ] ] ] ] +spacing: 4 +adsInterval: 5 +withAds: true +withMarketingBanner: false +marketingBannerPosition: 8 -host: "https://test.fitmetrics.ch" #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} } |
|||
| ui:editor-render | App\Twig\Components\Ui\Editor\EditorRender | 74.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "data" => [ "time" => 1756298637 "version" => "2.31.0-rc.7" "blocks" => [ [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Avoid if you have acute spinal injuries." "items" => [] "meta" => [] ] [ "content" => "Not recommended for individuals with severe osteoporosis." "items" => [] "meta" => [] ] [ "content" => "Use caution if experiencing chronic shoulder instability." "items" => [] "meta" => [] ] [ "content" => "Consult a physician if you have herniated discs or spinal stenosis." "items" => [] "meta" => [] ] ] "meta" => [] ] ] ] ] ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Editor\EditorRender {#8177 +title: null +data: [ "time" => 1756298637 "version" => "2.31.0-rc.7" "blocks" => [ [ "type" => "list" "data" => [ "style" => "unordered" "items" => [ [ "content" => "Avoid if you have acute spinal injuries." "items" => [] "meta" => [] ] [ "content" => "Not recommended for individuals with severe osteoporosis." "items" => [] "meta" => [] ] [ "content" => "Use caution if experiencing chronic shoulder instability." "items" => [] "meta" => [] ] [ "content" => "Consult a physician if you have herniated discs or spinal stenosis." "items" => [] "meta" => [] ] ] "meta" => [] ] ] ] ] +spacing: 4 +adsInterval: 5 +withAds: true +withMarketingBanner: false +marketingBannerPosition: 8 -host: "https://test.fitmetrics.ch" #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 74.5 MiB | 0.25 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "mt-6" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#8164 +includeScript: true +labelClass: null +containerClass: "mt-6" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 74.5 MiB | 0.65 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5390 -news: Doctrine\ORM\PersistentCollection {#5373 …} -exercises: Doctrine\ORM\PersistentCollection {#5375 …} #id: 5582 #createdAt: DateTimeImmutable @1756298637 {#5385 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5360 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5419 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8221 +faq: App\Entity\Faq {#5390 -news: Doctrine\ORM\PersistentCollection {#5373 …} -exercises: Doctrine\ORM\PersistentCollection {#5375 …} #id: 5582 #createdAt: DateTimeImmutable @1756298637 {#5385 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5360 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5419 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 74.5 MiB | 0.24 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "What is the Medball Thoracic Opener good for?" "answer" => "The Medball Thoracic Opener is effective for improving thoracic spine mobility, opening the chest, and correcting poor posture caused by prolonged sitting or forward-rounded shoulders." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8249 +question: "What is the Medball Thoracic Opener good for?" +answer: "The Medball Thoracic Opener is effective for improving thoracic spine mobility, opening the chest, and correcting poor posture caused by prolonged sitting or forward-rounded shoulders." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 74.5 MiB | 0.18 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5421 -news: Doctrine\ORM\PersistentCollection {#5428 …} -exercises: Doctrine\ORM\PersistentCollection {#5425 …} #id: 5583 #createdAt: DateTimeImmutable @1756298637 {#5416 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5423 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5435 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8280 +faq: App\Entity\Faq {#5421 -news: Doctrine\ORM\PersistentCollection {#5428 …} -exercises: Doctrine\ORM\PersistentCollection {#5425 …} #id: 5583 #createdAt: DateTimeImmutable @1756298637 {#5416 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5423 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5435 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 74.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "How long should I hold the Medball Thoracic Opener?" "answer" => "It is recommended to hold the Medball Thoracic Opener for 20 to 60 seconds, focusing on slow breathing to relax into the stretch." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8325 +question: "How long should I hold the Medball Thoracic Opener?" +answer: "It is recommended to hold the Medball Thoracic Opener for 20 to 60 seconds, focusing on slow breathing to relax into the stretch." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 74.5 MiB | 0.16 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5434 -news: Doctrine\ORM\PersistentCollection {#5606 …} -exercises: Doctrine\ORM\PersistentCollection {#5491 …} #id: 5584 #createdAt: DateTimeImmutable @1756298637 {#5432 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5431 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5407 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8328 +faq: App\Entity\Faq {#5434 -news: Doctrine\ORM\PersistentCollection {#5606 …} -exercises: Doctrine\ORM\PersistentCollection {#5491 …} #id: 5584 #createdAt: DateTimeImmutable @1756298637 {#5432 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5431 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5407 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 74.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "Can beginners do the Medball Thoracic Opener?" "answer" => "Yes, the Medball Thoracic Opener is beginner-friendly, as it requires minimal equipment and can be performed with gradual depth adjustments." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8372 +question: "Can beginners do the Medball Thoracic Opener?" +answer: "Yes, the Medball Thoracic Opener is beginner-friendly, as it requires minimal equipment and can be performed with gradual depth adjustments." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.16 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5403 -news: Doctrine\ORM\PersistentCollection {#5402 …} -exercises: Doctrine\ORM\PersistentCollection {#5400 …} #id: 5585 #createdAt: DateTimeImmutable @1756298637 {#5405 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5404 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5398 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8375 +faq: App\Entity\Faq {#5403 -news: Doctrine\ORM\PersistentCollection {#5402 …} -exercises: Doctrine\ORM\PersistentCollection {#5400 …} #id: 5585 #createdAt: DateTimeImmutable @1756298637 {#5405 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5404 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5398 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.05 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "When should I use the Medball Thoracic Opener?" "answer" => "The Medball Thoracic Opener can be used as part of a warm-up to prepare for overhead exercises or as a recovery stretch to improve posture and relieve back tension." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8419 +question: "When should I use the Medball Thoracic Opener?" +answer: "The Medball Thoracic Opener can be used as part of a warm-up to prepare for overhead exercises or as a recovery stretch to improve posture and relieve back tension." } |
|||
| faq | App\Twig\Components\Ui\FaqComponent | 76.5 MiB | 0.15 ms | |
|---|---|---|---|---|
| Input props | [ "faq" => App\Entity\Faq {#5350 -news: Doctrine\ORM\PersistentCollection {#5349 …} -exercises: Doctrine\ORM\PersistentCollection {#5347 …} #id: 5586 #createdAt: DateTimeImmutable @1756298637 {#5352 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5351 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5345 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\FaqComponent {#8422 +faq: App\Entity\Faq {#5350 -news: Doctrine\ORM\PersistentCollection {#5349 …} -exercises: Doctrine\ORM\PersistentCollection {#5347 …} #id: 5586 #createdAt: DateTimeImmutable @1756298637 {#5352 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #updatedAt: DateTimeImmutable @1756298637 {#5351 : 2025-08-27 14:43:57.0 Europe/Zurich (+02:00) } #createdBy: App\Entity\User {#3695 …} #updatedBy: App\Entity\User {#3695 …} #translations: Doctrine\ORM\PersistentCollection {#5345 …} #newTranslations: null #currentLocale: "en" #defaultLocale: "en" -published: true #publishedAt: null -publishedBy: null } } |
|||
| raw-faq | App\Twig\Components\Ui\RawFaqComponent | 76.5 MiB | 0.04 ms | |
|---|---|---|---|---|
| Input props | [ "question" => "Does the Medball Thoracic Opener help with shoulder mobility?" "answer" => "Yes, by extending the thoracic spine and opening the chest, the Medball Thoracic Opener indirectly improves shoulder mobility and overhead range of motion." ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\RawFaqComponent {#8466 +question: "Does the Medball Thoracic Opener help with shoulder mobility?" +answer: "Yes, by extending the thoracic spine and opening the chest, the Medball Thoracic Opener indirectly improves shoulder mobility and overhead range of motion." } |
|||
| anatomy:avatar | App\Twig\Components\Anatomy\Avatar | 84.5 MiB | 597.88 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "relative" "primaryMuscles" => [ 12 ] "secondaryMuscles" => [ 11 25 26 28 30 ] "displayFront" => false ] |
|||
| Attributes | [ "class" => "relative" ] |
|||
| Component | App\Twig\Components\Anatomy\Avatar {#8394 #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8477 …} +primaryMuscles: [ 12 ] +secondaryMuscles: [ 11 25 26 28 30 ] +type: "url" +urlReferenceType: 2 +displayFront: false +selectedMuscles: [] +displayTagMuscles: false +hoverMuscleDefaultText: "-" #entityManager: Doctrine\ORM\EntityManager {#550 …} #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#1600 …} #avatarData: App\BusinessLogic\Anatomy\AvatarData {#8475 …} -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8476 …} } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.66 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Back" "url" => "/en/exercises/muscle/12-back" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9616 +name: "Back" +url: "/en/exercises/muscle/12-back" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.13 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Chest" "url" => "/en/exercises/muscle/11-chest" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9668 +name: "Chest" +url: "/en/exercises/muscle/11-chest" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Lats" "url" => "/en/exercises/muscle/25-lats" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9692 +name: "Lats" +url: "/en/exercises/muscle/25-lats" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Rhomboid" "url" => "/en/exercises/muscle/26-rhomboid" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9716 +name: "Rhomboid" +url: "/en/exercises/muscle/26-rhomboid" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Shoulders" "url" => "/en/exercises/muscle/28-shoulders" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9740 +name: "Shoulders" +url: "/en/exercises/muscle/28-shoulders" +color: "primary" +small: false +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Serratus anterior" "url" => "/en/exercises/muscle/30-serratus-anterior" "color" => "primary" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9764 +name: "Serratus anterior" +url: "/en/exercises/muscle/30-serratus-anterior" +color: "primary" +small: false +selected: false } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#9604 +includeScript: true +labelClass: null +containerClass: "max-h-[300px] max-w-[300px]" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| training:difficulty-badge | App\Twig\Components\Training\DifficultyBadge | 84.5 MiB | 0.64 ms | |
|---|---|---|---|---|
| Input props | [ "difficulty" => "beginner" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Training\DifficultyBadge {#9797 +difficulty: "beginner" +small: false +link: true } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Isolation" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9828 +name: "Isolation" +url: null +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Medicine ball" "url" => "/en/exercises/equipment/81-medicine-ball" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9868 +name: "Medicine ball" +url: "/en/exercises/equipment/81-medicine-ball" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Pvc pipe" "url" => "/en/exercises/equipment/98-pvc-pipe" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9892 +name: "Pvc pipe" +url: "/en/exercises/equipment/98-pvc-pipe" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Fitness" "url" => "/en/exercises/sport/5-fitness" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9916 +name: "Fitness" +url: "/en/exercises/sport/5-fitness" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Crossfit" "url" => "/en/exercises/sport/7-crossfit" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9940 +name: "Crossfit" +url: "/en/exercises/sport/7-crossfit" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Yoga" "url" => "/en/exercises/sport/8-yoga" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9964 +name: "Yoga" +url: "/en/exercises/sport/8-yoga" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Pilates" "url" => "/en/exercises/sport/9-pilates" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#9988 +name: "Pilates" +url: "/en/exercises/sport/9-pilates" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Stretching" "url" => "/en/exercises/category/56-stretching" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10012 +name: "Stretching" +url: "/en/exercises/category/56-stretching" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Mobility" "url" => "/en/exercises/category/59-mobility" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10036 +name: "Mobility" +url: "/en/exercises/category/59-mobility" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Warm-up" "url" => "/en/exercises/category/62-warm-up" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10060 +name: "Warm-up" +url: "/en/exercises/category/62-warm-up" +color: "gray" +small: true +selected: false } |
|||
| ui:badge | App\Twig\Components\Ui\Badge | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "Recovery and relaxation" "url" => "/en/exercises/category/75-recovery-and-relaxation" "small" => true "color" => "gray" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ui\Badge {#10084 +name: "Recovery and relaxation" +url: "/en/exercises/category/75-recovery-and-relaxation" +color: "gray" +small: true +selected: false } |
|||
| ad:square:fluid | App\Twig\Components\Ad\AdSquareFluid | 84.5 MiB | 0.11 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "hidden lg:flex items-center justify-center my-6" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdSquareFluid {#9778 +includeScript: true +labelClass: null +containerClass: "hidden lg:flex items-center justify-center my-6" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| app:loading_spinner | App\Twig\Components\App\LoadingSpinner | 84.5 MiB | 0.54 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LoadingSpinner {#8103 +color: "fill-primary" +size: 8 +centered: true +inline: false } |
|||
| app:loading_spinner | App\Twig\Components\App\LoadingSpinner | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LoadingSpinner {#10136 +color: "fill-primary" +size: 8 +centered: true +inline: false } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.12 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "program" "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Attributes | [ "class" => "w-6 h-6 mr-3 !text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10176 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "program" +title: null +symbolDefsName: null } |
|||
| ui:widget-embed | App\Twig\Components\Ui\WidgetEmbed | 84.5 MiB | 1.74 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "hidden md:block" "route" => "https://test.fitmetrics.ch/en/widgets/exercise/preview-6733d70f76309?video=1" "parameters" => [ [ "name" => "orientation" "description" => "Change the layout: horizontal (side by side) or vertical (stacked)" "example" => "?orientation=vertical" "values" => [ "horizontal" "vertical" ] ] [ "name" => "video" "description" => "Show the exercise video (if available): yes" "example" => "?video=1" "values" => [ "0" "1" "true" "false" ] ] ] "defaultWidth" => 350 "defaultHeight" => 700 ] |
|||
| Attributes | [ "class" => "hidden md:block" ] |
|||
| Component | App\Twig\Components\Ui\WidgetEmbed {#10212 +route: "https://test.fitmetrics.ch/en/widgets/exercise/preview-6733d70f76309?video=1" +parameters: [ [ "name" => "orientation" "description" => "Change the layout: horizontal (side by side) or vertical (stacked)" "example" => "?orientation=vertical" "values" => [ "horizontal" "vertical" ] ] [ "name" => "video" "description" => "Show the exercise video (if available): yes" "example" => "?video=1" "values" => [ "0" "1" "true" "false" ] ] ] +defaultWidth: 350 +defaultHeight: 700 } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "me-1" "style" => "width: 20px; height: 20px;" ] |
|||
| Attributes | [ "class" => "me-1" "style" => "width: 20px; height: 20px;" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10250 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "close" "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white" ] |
|||
| Attributes | [ "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10283 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "close" +title: null +symbolDefsName: null } |
|||
| app:page-sharer | App\Twig\Components\App\PageSharer | 84.5 MiB | 2.25 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "content-container" "title" => "Medball Thoracic Opener" "description" => "The Medball Thoracic Opener is a mobility exercise designed to improve thoracic spine extension and upper body posture. By using a medicine ball as support, this stretch gently opens the chest and encourages better spinal alignment, which is particularly beneficial for individuals who spend long hours sitting or performing overhead movements. The exercise helps counteract the forward-rounded posture commonly caused by desk work, driving, or mobile device use. Incorporating the Medball Thoracic Opener into a warm-up or recovery routine enhances mobility for exercises such as overhead presses, snatches, and squats. Additionally, it supports improved breathing mechanics by expanding the rib cage and facilitating greater lung capacity. This exercise is widely used in functional training, CrossFit, yoga, and general fitness routines to promote flexibility, posture correction, and injury prevention. Since it requires only a medicine ball and minimal space, it is accessible for both home and gym training. Practiced consistently, the Medball Thoracic Opener contributes to a stronger, more mobile upper body foundation, making it an excellent addition to mobility-focused programs and rehabilitation strategies." ] |
|||
| Attributes | [ "class" => "content-container" ] |
|||
| Component | App\Twig\Components\App\PageSharer {#10323 +shareUrl: "https://test.fitmetrics.ch/en/exercise/6733d70f76309-medball-thoracic-opener" +title: "Medball Thoracic Opener" +description: "The Medball Thoracic Opener is a mobility exercise designed to improve thoracic spine extension and upper body posture. By using a medicine ball as support, this stretch gently opens the chest and encourages better spinal alignment, which is particularly beneficial for individuals who spend long hours sitting or performing overhead movements. The exercise helps counteract the forward-rounded posture commonly caused by desk work, driving, or mobile device use. Incorporating the Medball Thoracic Opener into a warm-up or recovery routine enhances mobility for exercises such as overhead presses, snatches, and squats. Additionally, it supports improved breathing mechanics by expanding the rib cage and facilitating greater lung capacity. This exercise is widely used in functional training, CrossFit, yoga, and general fitness routines to promote flexibility, posture correction, and injury prevention. Since it requires only a medicine ball and minimal space, it is accessible for both home and gym training. Practiced consistently, the Medball Thoracic Opener contributes to a stronger, more mobile upper body foundation, making it an excellent addition to mobility-focused programs and rehabilitation strategies." +quote: null +hashtags: [ "fitmetrics" ] +alignMobileLeft: false -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "check" "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Attributes | [ "class" => "w-5 h-5 text-white fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10331 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "check" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "reddit" "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10353 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "reddit" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "twitter" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10377 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "twitter" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10400 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10423 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "linkedin" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10446 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "linkedin" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10469 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "email" "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10492 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "email" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| ad:wide-skyscraper | App\Twig\Components\Ad\AdWideSkyscraper | 84.5 MiB | 0.82 ms | |
|---|---|---|---|---|
| Input props | [] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdWideSkyscraper {#719 +includeScript: true +labelClass: null +containerClass: "" +adClass: null +showBgColor: false #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} +right: true +left: true } |
|||
| ad:horizontal:fluid | App\Twig\Components\Ad\AdHorizontalFluid | 84.5 MiB | 0.64 ms | |
|---|---|---|---|---|
| Input props | [ "containerClass" => "content-container my-4" ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\Ad\AdHorizontalFluid {#10539 +includeScript: true +labelClass: null +containerClass: "content-container my-4" +adClass: null +showBgColor: true #kernel: App\Kernel {#14 …} #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …} #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …} #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} } |
|||
| app:lang-selector | App\Twig\Components\App\LangSelector | 84.5 MiB | 0.09 ms | |
|---|---|---|---|---|
| Input props | [ "defaultOpenLeft" => false ] |
|||
| Attributes | [] |
|||
| Component | App\Twig\Components\App\LangSelector {#10594 +routeName: null +params: null +withQuery: true +defaultOpenLeft: false -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …} -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …} -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …} } |
|||
| utils:theme-switcher |
[Anonymous]
|
84.5 MiB | 0.31 ms | |
|---|---|---|---|---|
| Input props | [ "class" => "max-w-fit" ] |
|||
| Attributes | [ "class" => "max-w-fit" ] |
|||
| Component | Symfony\UX\TwigComponent\AnonymousComponent {#10586 -props: [ "class" => "max-w-fit" ] } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-biceps" "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden" ] |
|||
| Attributes | [ "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10628 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "fitmetrics-white-biceps" "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block" ] |
|||
| Attributes | [ "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10660 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "fitmetrics-white-biceps" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.10 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "heart" "class" => "heart h-5 w-5 text-[#eb2a2a]" ] |
|||
| Attributes | [ "class" => "heart h-5 w-5 text-[#eb2a2a]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10683 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "heart" +title: null +symbolDefsName: null } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.08 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "whatsapp" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10706 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "whatsapp" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "instagram" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10729 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "instagram" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "threads" "class" => "w-[28px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10752 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "threads" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "tiktok" "class" => "w-[29px] h-[29px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[29px] h-[29px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10775 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "tiktok" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "facebook" "class" => "w-[19px] h-[28px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[19px] h-[28px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10798 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "facebook" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||
| media:icon | App\Twig\Components\Media\Icon | 84.5 MiB | 0.07 ms | |
|---|---|---|---|---|
| Input props | [ "name" => "youtube" "class" => "w-[28px] h-[24px]" "symbolDefsName" => "networks-symbol-defs.svg" ] |
|||
| Attributes | [ "class" => "w-[28px] h-[24px]" ] |
|||
| Component | App\Twig\Components\Media\Icon {#10821 #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6028 …} +name: "youtube" +title: null +symbolDefsName: "networks-symbol-defs.svg" } |
|||