Maison  >  Questions et réponses  >  le corps du texte

Comment utiliser correctement les modèles PHP

Je suis nouveau sur PHP et je lis actuellement le livre "PHP pour les débutants absolus". Le livre enseigne actuellement la création de modèles et l'utilisation d'objets StdClass() pour éviter les conflits de noms.

J'ai un fichier modèle appelé page.php et un fichier de page d'accueil appelé index.php.

Ma page.code php

<?php
return "<!DOCTYPE html>
<html>
<head>  
<title>$pageData->title</title>
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
</head>
<body>
$pageData->$content
</body>
</html>";

mon index.php

<?php
//this correctly outputs any errors 
error_reporting( E_ALL );
ini_set("display_errors", 1);

$pageData = new stdClass();

$pageData->title = "Test title";
$pageData->content = "<h1>Hello World</h1>";
$page = include_once "templates/page.php";
echo $page;

L'erreur que j'ai reçue est

Attention : variable non définie $title dans C:xampphtdocsch2templatespage.php à la ligne 5

Attention : variable non définie $content

dans C:xampphtdocsch2templatespage.php à la ligne 9

Je ne comprends pas cela car c'est exactement ce que le livre enseigne, toute aide serait grandement appréciée et s'il existe une meilleure façon d'utiliser les modèles, n'oubliez pas que je suis un débutant, alors restez simple !

P粉738346380P粉738346380268 Il y a quelques jours297

répondre à tous(1)je répondrai

  • P粉129168206

    P粉1291682062024-02-18 13:04:26

    Votre page.php a l'air un peu bizarre. return Ce n'est pas quelque chose que j'utilise lors de l'impression de HTML. De plus, vous utilisez php et html dans la balise php, ce qui ne fonctionnera pas. Essayez ceci :

    
    
      
    <?php echo $pageData->title; ?>
    
    
    
    content; ?>
    
    

    Pas besoin de echo $page dans votre index.php, laissez page.php le faire.

    /EDIT : Il y avait aussi une faute de frappe à la ligne 9 : $pageData->$content; Je l'ai corrigée.

    répondre
    0
  • Annulerrépondre