GET http://www.dev.michaeljpitz.com/categorie/php

Components

4 Twig Components
18 Render Count
9 ms Render Time
4.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
CategoryBadge
[Anonymous]
components/CategoryBadge.html.twig
10 0.80ms
ArticleCard
[Anonymous]
components/ArticleCard.html.twig
6 4.99ms
Navbar
"App\Twig\Components\NavbarComponent"
components/Navbar.html.twig
1 3.47ms
Breadcrumb
"App\Twig\Components\BreadcrumbComponent"
components/Breadcrumb.html.twig
1 0.43ms

Render calls

Navbar App\Twig\Components\NavbarComponent 4.0 MiB 3.47 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\NavbarComponent {#1599
  -categoryRepository: App\Repository\CategoryRepository {#878 …}
}
Breadcrumb App\Twig\Components\BreadcrumbComponent 4.0 MiB 0.43 ms
Input props
[
  "items" => [
    [
      "label" => "Accueil"
      "url" => "/"
    ]
    [
      "label" => "Articles"
      "url" => "/articles"
    ]
    [
      "label" => "PHP"
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\BreadcrumbComponent {#1617
  +items: [
    [
      "label" => "Accueil"
      "url" => "/"
    ]
    [
      "label" => "Articles"
      "url" => "/articles"
    ]
    [
      "label" => "PHP"
    ]
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 1.63 ms
Input props
[
  "article" => App\Entity\Article {#1364
    -id: 718
    -title: "Introduction à PHP 8.3 : les nouveautés essentielles"
    -slug: "introduction-php-83-nouveautes-essentielles"
    -content: "<h2>Introduction à PHP 8.3 : les nouveautés essentielles</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
    -excerpt: "Découvrez les nouvelles fonctionnalités de PHP 8.3 : types en lecture seule, json_validate() et bien plus encore."
    -featuredImage: null
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1385
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1782623193 {#1366
      date: 2026-06-28 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1379 …}
    -comments: Doctrine\ORM\PersistentCollection {#1396 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1421 …}
  }
]
Attributes
[
  "article" => "Introduction à PHP 8.3 : les nouveautés essentielles"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1659
  -props: [
    "article" => App\Entity\Article {#1364
      -id: 718
      -title: "Introduction à PHP 8.3 : les nouveautés essentielles"
      -slug: "introduction-php-83-nouveautes-essentielles"
      -content: "<h2>Introduction à PHP 8.3 : les nouveautés essentielles</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
      -excerpt: "Découvrez les nouvelles fonctionnalités de PHP 8.3 : types en lecture seule, json_validate() et bien plus encore."
      -featuredImage: null
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1385
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1782623193 {#1366
        date: 2026-06-28 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1379 …}
      -comments: Doctrine\ORM\PersistentCollection {#1396 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1421 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.35 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1696
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 0.59 ms
Input props
[
  "article" => App\Entity\Article {#1410
    -id: 738
    -title: "Les Array en PHP"
    -slug: "les-array-en-php"
    -content: """
      <p>\u{200B}En <strong>PHP,</strong> un&nbsp;<code><strong>array</strong></code><strong> </strong>(tableau) est une structure de données ordonnée qui associe des <strong>valeurs à des clés</strong>, fonctionnant comme une carte (map), une liste, un dictionnaire ou une collection. Il permet de stocker plusieurs valeurs de types différents (nombres, chaînes, booléens) dans une seule variable. Les tableaux peuvent être numériques (<strong>indexés </strong>par des nombres) ou <strong>associatifs </strong>(indexés par des chaînes).</p>\n
      \n
      <p><strong>Ils peuvent être multidimensionnel (imbriqué)</strong></p>\n
      \n
      <p><strong>Ils premettent de stocker un grand nombre de valeur dans une seule variable.</strong></p>\n
      \n
      <p style="line-height:1.38"><span style="font-size:15px;color:#000000;background-color:transparent">Les<strong> tableaux en PHP</strong> sont omniprésents : des entrées utilisateur aux résultats de base de données, en passant par les paramètres et les configurations. Ils sont incroyablement flexibles, mais la plupart d&apos;entre nous n&apos;en connaissent qu&apos;une infime partie.</span></p>\n
      \n
      <h2 style="line-height: 1.38"><span style="font-size:15px;color:#000000;background-color:transparent">Déclaration d&apos;un tableau</span></h2>\n
      \n
      <p>[php]# la plus ancienne méthode, mais<br>\n
      # est toujours fonctionnelle!<br>\n
      $tableau1 = array();<br>\n
      <br>\n
      # ou la plus fréquente<br>\n
      $tableau2 = [];<br>\n
      <br>\n
      # Débogage, donne 2 tableaux vides<br>\n
      var_dump($tableau1, $tableau2);[/php]</p>\n
      \n
      <h2>Tableau indexé</h2>\n
      \n
      <p>Des numériques en partant de 0 servent de clé pour pouvoir afficher la valeur en question.</p>\n
      \n
      <p>[php]# Ce type de tableau n&apos;est déclaré qu&apos;avec des valeurs<br>\n
      $tab_index = [<br>\n
          &apos;un&apos;, <br>\n
          &apos;deux&apos;, <br>\n
          &apos;trois&apos;,<br>\n
      ];<br>\n
      <br>\n
      <br>\n
      # On veut afficher la &apos;un&apos;<br>\n
      echo $tab_index[0];<br>\n
      <br>\n
      # retour à la ligne (\n)<br>\n
      echo PHP_EOL;<br>\n
      <br>\n
      <br>\n
      # débogage<br>\n
      var_dump($tab_index);[/php]</p>\n
      \n
      <p><br>\n
      </p>\n
      \n
      <h2>Tableau associatif&nbsp;</h2>\n
      \n
      <p>Des chaînes de caractères servent de clé pour pouvoir afficher la valeur en question.</p>\n
      \n
      <p><br>\n
      </p>\n
      \n
      <p>[php]# Ce type de tableau est déclaré qu&apos;avec des clés =&gt; valeurs<br>\n
      $tab_assoc = [<br>\n
          &apos;one&apos;=&gt;&apos;un&apos;,<br>\n
           &apos;two&apos;=&gt;&apos;deux&apos;, <br>\n
          &apos;three&apos;=&gt;&apos;trois&apos;<br>\n
       ];<br>\n
      <br>\n
      # On veut afficher la &apos;un&apos;<br>\n
      echo $tab_assoc[&apos;one&apos;];<br>\n
      <br>\n
      # retour à la ligne<br>\n
      echo PHP_EOL;<br>\n
      <br>\n
      # débogage<br>\n
      var_dump($tab_assoc);[/php]</p>\n
      \n
      <h2>Tableau Multidimensionnel</h2>\n
      \n
      <p>Un tableau peut avoir des sous tableaux, et donc contenir énormément d&apos;informations !</p>\n
      \n
      <p>[php]# Liste d&apos;élèves ayant participer à 3 contrôles<br>\n
      <br>\n
      $stagiaires = [<br>\n
          &apos;classe&apos; =&gt; &apos;2CB&apos;,<br>\n
          &apos;date&apos; =&gt; &apos;2026-04-18&apos;,<br>\n
          [<br>\n
              &apos;nom&apos; =&gt; &apos;Ben Adj&apos;,<br>\n
              &apos;prenom&apos; =&gt; &apos;Meidhy&apos;,<br>\n
              &apos;matière&apos; =&gt; [<br>\n
                  &apos;Français&apos; =&gt; &apos;18.5/20&apos;,<br>\n
                  &apos;Géographie&apos; =&gt; &apos;16/20&apos;,<br>\n
                  &apos;Mathématique&apos; =&gt; &apos;14.5/20&apos;,<br>\n
              ],<br>\n
          ],<br>\n
           [<br>\n
              &apos;nom&apos; =&gt; &apos;Pitz&apos;,<br>\n
              &apos;prenom&apos; =&gt; &apos;Michaël&apos;,<br>\n
              &apos;matière&apos; =&gt; [<br>\n
                  &apos;Français&apos; =&gt; &apos;17/20&apos;,<br>\n
                  &apos;Géographie&apos; =&gt; &apos;18/20&apos;,<br>\n
                  &apos;Mathématique&apos; =&gt; &apos;17/20&apos;,<br>\n
              ],<br>\n
          ],<br>\n
      ];</p>\n
      \n
      <p><br>\n
      </p>\n
      \n
      <p># pour récupérer la cote en Français de Pitz Michaël:</p>\n
      \n
      <p>echo $stagiaires[1][&apos;matière&apos;][&apos;Français&apos;];</p>\n
      \n
      <p><br>\n
      </p>\n
      \n
      <p># retour à la ligne</p>\n
      \n
      <p>echo PHP_EOL;</p>\n
      \n
      <p><br>\n
      </p>\n
      \n
      <p># Débogage avec print_r (plus lisible)</p>\n
      \n
      <p>print_r($stagiaires);[/php]</p>\n
      \n
      <p><br>\n
      </p>\n
      """
    -excerpt: "Un tableau en PHP est en fait une carte ordonnée qui associe des valeurs à des clés."
    -featuredImage: "903ecff8abe47fd4f6e0d8e222a5ee965297926d.jpg"
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1420
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1782623193 {#1442
      date: 2026-06-28 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1439 …}
    -comments: Doctrine\ORM\PersistentCollection {#1451 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1454 …}
  }
]
Attributes
[
  "article" => "Les Array en PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1719
  -props: [
    "article" => App\Entity\Article {#1410
      -id: 738
      -title: "Les Array en PHP"
      -slug: "les-array-en-php"
      -content: """
        <p>\u{200B}En <strong>PHP,</strong> un&nbsp;<code><strong>array</strong></code><strong> </strong>(tableau) est une structure de données ordonnée qui associe des <strong>valeurs à des clés</strong>, fonctionnant comme une carte (map), une liste, un dictionnaire ou une collection. Il permet de stocker plusieurs valeurs de types différents (nombres, chaînes, booléens) dans une seule variable. Les tableaux peuvent être numériques (<strong>indexés </strong>par des nombres) ou <strong>associatifs </strong>(indexés par des chaînes).</p>\n
        \n
        <p><strong>Ils peuvent être multidimensionnel (imbriqué)</strong></p>\n
        \n
        <p><strong>Ils premettent de stocker un grand nombre de valeur dans une seule variable.</strong></p>\n
        \n
        <p style="line-height:1.38"><span style="font-size:15px;color:#000000;background-color:transparent">Les<strong> tableaux en PHP</strong> sont omniprésents : des entrées utilisateur aux résultats de base de données, en passant par les paramètres et les configurations. Ils sont incroyablement flexibles, mais la plupart d&apos;entre nous n&apos;en connaissent qu&apos;une infime partie.</span></p>\n
        \n
        <h2 style="line-height: 1.38"><span style="font-size:15px;color:#000000;background-color:transparent">Déclaration d&apos;un tableau</span></h2>\n
        \n
        <p>[php]# la plus ancienne méthode, mais<br>\n
        # est toujours fonctionnelle!<br>\n
        $tableau1 = array();<br>\n
        <br>\n
        # ou la plus fréquente<br>\n
        $tableau2 = [];<br>\n
        <br>\n
        # Débogage, donne 2 tableaux vides<br>\n
        var_dump($tableau1, $tableau2);[/php]</p>\n
        \n
        <h2>Tableau indexé</h2>\n
        \n
        <p>Des numériques en partant de 0 servent de clé pour pouvoir afficher la valeur en question.</p>\n
        \n
        <p>[php]# Ce type de tableau n&apos;est déclaré qu&apos;avec des valeurs<br>\n
        $tab_index = [<br>\n
            &apos;un&apos;, <br>\n
            &apos;deux&apos;, <br>\n
            &apos;trois&apos;,<br>\n
        ];<br>\n
        <br>\n
        <br>\n
        # On veut afficher la &apos;un&apos;<br>\n
        echo $tab_index[0];<br>\n
        <br>\n
        # retour à la ligne (\n)<br>\n
        echo PHP_EOL;<br>\n
        <br>\n
        <br>\n
        # débogage<br>\n
        var_dump($tab_index);[/php]</p>\n
        \n
        <p><br>\n
        </p>\n
        \n
        <h2>Tableau associatif&nbsp;</h2>\n
        \n
        <p>Des chaînes de caractères servent de clé pour pouvoir afficher la valeur en question.</p>\n
        \n
        <p><br>\n
        </p>\n
        \n
        <p>[php]# Ce type de tableau est déclaré qu&apos;avec des clés =&gt; valeurs<br>\n
        $tab_assoc = [<br>\n
            &apos;one&apos;=&gt;&apos;un&apos;,<br>\n
             &apos;two&apos;=&gt;&apos;deux&apos;, <br>\n
            &apos;three&apos;=&gt;&apos;trois&apos;<br>\n
         ];<br>\n
        <br>\n
        # On veut afficher la &apos;un&apos;<br>\n
        echo $tab_assoc[&apos;one&apos;];<br>\n
        <br>\n
        # retour à la ligne<br>\n
        echo PHP_EOL;<br>\n
        <br>\n
        # débogage<br>\n
        var_dump($tab_assoc);[/php]</p>\n
        \n
        <h2>Tableau Multidimensionnel</h2>\n
        \n
        <p>Un tableau peut avoir des sous tableaux, et donc contenir énormément d&apos;informations !</p>\n
        \n
        <p>[php]# Liste d&apos;élèves ayant participer à 3 contrôles<br>\n
        <br>\n
        $stagiaires = [<br>\n
            &apos;classe&apos; =&gt; &apos;2CB&apos;,<br>\n
            &apos;date&apos; =&gt; &apos;2026-04-18&apos;,<br>\n
            [<br>\n
                &apos;nom&apos; =&gt; &apos;Ben Adj&apos;,<br>\n
                &apos;prenom&apos; =&gt; &apos;Meidhy&apos;,<br>\n
                &apos;matière&apos; =&gt; [<br>\n
                    &apos;Français&apos; =&gt; &apos;18.5/20&apos;,<br>\n
                    &apos;Géographie&apos; =&gt; &apos;16/20&apos;,<br>\n
                    &apos;Mathématique&apos; =&gt; &apos;14.5/20&apos;,<br>\n
                ],<br>\n
            ],<br>\n
             [<br>\n
                &apos;nom&apos; =&gt; &apos;Pitz&apos;,<br>\n
                &apos;prenom&apos; =&gt; &apos;Michaël&apos;,<br>\n
                &apos;matière&apos; =&gt; [<br>\n
                    &apos;Français&apos; =&gt; &apos;17/20&apos;,<br>\n
                    &apos;Géographie&apos; =&gt; &apos;18/20&apos;,<br>\n
                    &apos;Mathématique&apos; =&gt; &apos;17/20&apos;,<br>\n
                ],<br>\n
            ],<br>\n
        ];</p>\n
        \n
        <p><br>\n
        </p>\n
        \n
        <p># pour récupérer la cote en Français de Pitz Michaël:</p>\n
        \n
        <p>echo $stagiaires[1][&apos;matière&apos;][&apos;Français&apos;];</p>\n
        \n
        <p><br>\n
        </p>\n
        \n
        <p># retour à la ligne</p>\n
        \n
        <p>echo PHP_EOL;</p>\n
        \n
        <p><br>\n
        </p>\n
        \n
        <p># Débogage avec print_r (plus lisible)</p>\n
        \n
        <p>print_r($stagiaires);[/php]</p>\n
        \n
        <p><br>\n
        </p>\n
        """
      -excerpt: "Un tableau en PHP est en fait une carte ordonnée qui associe des valeurs à des clés."
      -featuredImage: "903ecff8abe47fd4f6e0d8e222a5ee965297926d.jpg"
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1420
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1782623193 {#1442
        date: 2026-06-28 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1439 …}
      -comments: Doctrine\ORM\PersistentCollection {#1451 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1454 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.07 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1739
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 0.74 ms
Input props
[
  "article" => App\Entity\Article {#1458
    -id: 720
    -title: "Doctrine ORM : optimiser vos requêtes avec QueryBuilder"
    -slug: "doctrine-orm-optimiser-requetes-querybuilder"
    -content: "<h2>Doctrine ORM : optimiser vos requêtes avec QueryBuilder</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
    -excerpt: "Apprenez à construire des requêtes performantes avec le QueryBuilder de Doctrine ORM."
    -featuredImage: null
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1456
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1782104793 {#1457
      date: 2026-06-22 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1459 …}
    -comments: Doctrine\ORM\PersistentCollection {#1461 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1463 …}
  }
]
Attributes
[
  "article" => "Doctrine ORM : optimiser vos requêtes avec QueryBuilder"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1753
  -props: [
    "article" => App\Entity\Article {#1458
      -id: 720
      -title: "Doctrine ORM : optimiser vos requêtes avec QueryBuilder"
      -slug: "doctrine-orm-optimiser-requetes-querybuilder"
      -content: "<h2>Doctrine ORM : optimiser vos requêtes avec QueryBuilder</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
      -excerpt: "Apprenez à construire des requêtes performantes avec le QueryBuilder de Doctrine ORM."
      -featuredImage: null
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1456
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1782104793 {#1457
        date: 2026-06-22 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1459 …}
      -comments: Doctrine\ORM\PersistentCollection {#1461 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1463 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.05 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1778
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.03 ms
Input props
[
  "category" => App\Entity\Category {#1216
    -id: 287
    -title: "Doctrine ORM"
    -slug: "doctrine-orm"
    -color: "#f26522"
    -description: "Doctrine ORM : entités, repositories et requêtes DQL."
    -level: 284
    -articles: Doctrine\ORM\PersistentCollection {#1213 …}
    -pages: Doctrine\ORM\PersistentCollection {#1211 …}
  }
]
Attributes
[
  "category" => "Doctrine ORM"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1798
  -props: [
    "category" => App\Entity\Category {#1216
      -id: 287
      -title: "Doctrine ORM"
      -slug: "doctrine-orm"
      -color: "#f26522"
      -description: "Doctrine ORM : entités, repositories et requêtes DQL."
      -level: 284
      -articles: Doctrine\ORM\PersistentCollection {#1213 …}
      -pages: Doctrine\ORM\PersistentCollection {#1211 …}
    }
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 0.76 ms
Input props
[
  "article" => App\Entity\Article {#1467
    -id: 724
    -title: "Les migrations Doctrine : bonnes pratiques"
    -slug: "migrations-doctrine-bonnes-pratiques"
    -content: "<h2>Les migrations Doctrine : bonnes pratiques</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
    -excerpt: "Gérez l'évolution de votre schéma de base de données sereinement avec Doctrine Migrations."
    -featuredImage: null
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1465
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1781067993 {#1466
      date: 2026-06-10 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1468 …}
    -comments: Doctrine\ORM\PersistentCollection {#1470 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1472 …}
  }
]
Attributes
[
  "article" => "Les migrations Doctrine : bonnes pratiques"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1809
  -props: [
    "article" => App\Entity\Article {#1467
      -id: 724
      -title: "Les migrations Doctrine : bonnes pratiques"
      -slug: "migrations-doctrine-bonnes-pratiques"
      -content: "<h2>Les migrations Doctrine : bonnes pratiques</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
      -excerpt: "Gérez l'évolution de votre schéma de base de données sereinement avec Doctrine Migrations."
      -featuredImage: null
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1465
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1781067993 {#1466
        date: 2026-06-10 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1468 …}
      -comments: Doctrine\ORM\PersistentCollection {#1470 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1472 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.06 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1834
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.03 ms
Input props
[
  "category" => App\Entity\Category {#1216
    -id: 287
    -title: "Doctrine ORM"
    -slug: "doctrine-orm"
    -color: "#f26522"
    -description: "Doctrine ORM : entités, repositories et requêtes DQL."
    -level: 284
    -articles: Doctrine\ORM\PersistentCollection {#1213 …}
    -pages: Doctrine\ORM\PersistentCollection {#1211 …}
  }
]
Attributes
[
  "category" => "Doctrine ORM"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1854
  -props: [
    "category" => App\Entity\Category {#1216
      -id: 287
      -title: "Doctrine ORM"
      -slug: "doctrine-orm"
      -color: "#f26522"
      -description: "Doctrine ORM : entités, repositories et requêtes DQL."
      -level: 284
      -articles: Doctrine\ORM\PersistentCollection {#1213 …}
      -pages: Doctrine\ORM\PersistentCollection {#1211 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.03 ms
Input props
[
  "category" => App\Entity\Category {#1219
    -id: 291
    -title: "Doctrine Migrations"
    -slug: "doctrine-migrations"
    -color: "#c24f1a"
    -description: "Gestion des migrations de schéma avec Doctrine Migrations."
    -level: 287
    -articles: Doctrine\ORM\PersistentCollection {#1215 …}
    -pages: Doctrine\ORM\PersistentCollection {#1218 …}
  }
]
Attributes
[
  "category" => "Doctrine Migrations"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1871
  -props: [
    "category" => App\Entity\Category {#1219
      -id: 291
      -title: "Doctrine Migrations"
      -slug: "doctrine-migrations"
      -color: "#c24f1a"
      -description: "Gestion des migrations de schéma avec Doctrine Migrations."
      -level: 287
      -articles: Doctrine\ORM\PersistentCollection {#1215 …}
      -pages: Doctrine\ORM\PersistentCollection {#1218 …}
    }
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 0.60 ms
Input props
[
  "article" => App\Entity\Article {#1476
    -id: 726
    -title: "PHP 8 : les attributs remplacent les annotations"
    -slug: "php-8-attributs-remplacent-annotations"
    -content: "<h2>PHP 8 : les attributs remplacent les annotations</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
    -excerpt: "Les attributs natifs PHP 8 permettent d'annoter le code sans dépendances tierces."
    -featuredImage: null
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1474
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1780549593 {#1475
      date: 2026-06-04 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1477 …}
    -comments: Doctrine\ORM\PersistentCollection {#1479 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1481 …}
  }
]
Attributes
[
  "article" => "PHP 8 : les attributs remplacent les annotations"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1882
  -props: [
    "article" => App\Entity\Article {#1476
      -id: 726
      -title: "PHP 8 : les attributs remplacent les annotations"
      -slug: "php-8-attributs-remplacent-annotations"
      -content: "<h2>PHP 8 : les attributs remplacent les annotations</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
      -excerpt: "Les attributs natifs PHP 8 permettent d'annoter le code sans dépendances tierces."
      -featuredImage: null
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1474
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1780549593 {#1475
        date: 2026-06-04 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1477 …}
      -comments: Doctrine\ORM\PersistentCollection {#1479 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1481 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.09 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1907
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
ArticleCard
[Anonymous]
4.0 MiB 0.67 ms
Input props
[
  "article" => App\Entity\Article {#1485
    -id: 729
    -title: "Doctrine : relations ManyToMany et tables de jonction"
    -slug: "doctrine-relations-manytomany-tables-jonction"
    -content: "<h2>Doctrine : relations ManyToMany et tables de jonction</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
    -excerpt: "Maîtrisez les relations ManyToMany dans Doctrine : configuration, chargement et performance."
    -featuredImage: null
    -imageFile: null
    -isPublished: true
    -createdAt: DateTimeImmutable @1782709593 {#1483
      date: 2026-06-29 05:06:33.0 UTC (+00:00)
    }
    -publishedAt: DateTimeImmutable @1779771993 {#1484
      date: 2026-05-26 05:06:33.0 UTC (+00:00)
    }
    -updatedAt: null
    -categories: Doctrine\ORM\PersistentCollection {#1486 …}
    -comments: Doctrine\ORM\PersistentCollection {#1488 …}
    -ratings: Doctrine\ORM\PersistentCollection {#1490 …}
  }
]
Attributes
[
  "article" => "Doctrine : relations ManyToMany et tables de jonction"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1921
  -props: [
    "article" => App\Entity\Article {#1485
      -id: 729
      -title: "Doctrine : relations ManyToMany et tables de jonction"
      -slug: "doctrine-relations-manytomany-tables-jonction"
      -content: "<h2>Doctrine : relations ManyToMany et tables de jonction</h2><p>Cet article explore en détail les concepts fondamentaux et avancés liés à ce sujet. Que vous soyez débutant ou développeur confirmé, vous trouverez ici des informations pratiques et des exemples concrets.</p><h3>Pourquoi ce sujet est important</h3><p>Dans le développement web moderne, maîtriser ces concepts vous permettra d'écrire un code plus maintenable, plus performant et plus sécurisé. Les équipes qui adoptent ces pratiques constatent une réduction significative du temps de débogage.</p><h3>Mise en pratique</h3><p>Voici comment appliquer ces connaissances dans un projet Symfony réel. Commencez par configurer votre environnement de développement correctement, puis suivez les étapes décrites ci-dessous.</p><pre><code>// Exemple de code commenté&#10;// Adaptez ce code à votre contexte</code></pre><h3>Points clés à retenir</h3><ul><li>Toujours utiliser le typage strict en PHP 8+</li><li>Privilégier les attributs PHP aux annotations pour la configuration</li><li>Tester régulièrement avec PHPUnit pour garantir la stabilité</li></ul><p>N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions d'amélioration.</p>"
      -excerpt: "Maîtrisez les relations ManyToMany dans Doctrine : configuration, chargement et performance."
      -featuredImage: null
      -imageFile: null
      -isPublished: true
      -createdAt: DateTimeImmutable @1782709593 {#1483
        date: 2026-06-29 05:06:33.0 UTC (+00:00)
      }
      -publishedAt: DateTimeImmutable @1779771993 {#1484
        date: 2026-05-26 05:06:33.0 UTC (+00:00)
      }
      -updatedAt: null
      -categories: Doctrine\ORM\PersistentCollection {#1486 …}
      -comments: Doctrine\ORM\PersistentCollection {#1488 …}
      -ratings: Doctrine\ORM\PersistentCollection {#1490 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.06 ms
Input props
[
  "category" => App\Entity\Category {#893
    -id: 284
    -title: "PHP"
    -slug: "php"
    -color: "#7b4f9e"
    -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
    -level: 0
    -articles: Doctrine\ORM\PersistentCollection {#920 …}
    -pages: Doctrine\ORM\PersistentCollection {#968 …}
  }
]
Attributes
[
  "category" => "PHP"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1946
  -props: [
    "category" => App\Entity\Category {#893
      -id: 284
      -title: "PHP"
      -slug: "php"
      -color: "#7b4f9e"
      -description: "Tout sur le langage PHP : bonnes pratiques, nouveautés et astuces."
      -level: 0
      -articles: Doctrine\ORM\PersistentCollection {#920 …}
      -pages: Doctrine\ORM\PersistentCollection {#968 …}
    }
  ]
}
CategoryBadge
[Anonymous]
4.0 MiB 0.03 ms
Input props
[
  "category" => App\Entity\Category {#1216
    -id: 287
    -title: "Doctrine ORM"
    -slug: "doctrine-orm"
    -color: "#f26522"
    -description: "Doctrine ORM : entités, repositories et requêtes DQL."
    -level: 284
    -articles: Doctrine\ORM\PersistentCollection {#1213 …}
    -pages: Doctrine\ORM\PersistentCollection {#1211 …}
  }
]
Attributes
[
  "category" => "Doctrine ORM"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#1966
  -props: [
    "category" => App\Entity\Category {#1216
      -id: 287
      -title: "Doctrine ORM"
      -slug: "doctrine-orm"
      -color: "#f26522"
      -description: "Doctrine ORM : entités, repositories et requêtes DQL."
      -level: 284
      -articles: Doctrine\ORM\PersistentCollection {#1213 …}
      -pages: Doctrine\ORM\PersistentCollection {#1211 …}
    }
  ]
}