Classe htmlDocument

Description

Objet PHO de plus haut niveau, il est utilisé pour créer une page web complète.

NB: il est possible de créer une réponse AJAX avec un code HTML partiel en partant d'un objet de plus bas niveau (voir la méthode htmlElement->content).

Constructor

public function __construct()

Le constructor de htmlDocument n'attend aucun paramètre. Il invoque le constructor hérité de htmlElement avec le paramètre "html".

Il possède deux enfants, head et body et sa méthode content ajoute automatiquement le DOCTYPE HTML5.

Exemple


<?php
  
require_once('../classes.php');

  
$document = new htmlDocument();
  
$document->title 'Exemple';

  
$document->append('Hello World !');

  
$document->output();

Voici le code HTML obtenu (en version non compactée) :

<!DOCTYPE html>
<html>
  <head>
    <title>Exemple</title>
  </head>
  <body>
    Hello World !
  </body>
</html>

Utilisation

L'objet de base se limitant au strict minimum, vous serez sans doute amené à créer un objet spécifique à votre application en le plaçant dans le répertoire application/appDocument.php:


<?php 
/**
 *  Page par défaut de l'application
 */
class appDocument extends htmlDocument {

  function 
__construct() {
    
parent::__construct();
    
$this->title 'Mon application - titre par défaut';
    
$this->addStyleSheet('css/styles.css');
    
$this->addScriptFile('scripts.js');
  }

}

Le projet de base prend alors l'allure suivante


<?php
  
require_once('../classes.php');

  
$document = new appDocument(); /* Notez l'usage de appDocument à la place de htmlDocument ! */
  
$document->title 'Mon application - titre principal';

  
$document->append('Hello World !');

  
$document->output();

Et produira le code suivant:

<!DOCTYPE html>
<html>
  <head>
    <title>Mon application - titre principal</title>
    <link href="css/styles.css" rel="stylesheet">
    <script type="text/javascript" src="scripts.js"></script>
  </head>
  <body>
    Hello World !
  </body>
</html>