Sujet : Gestion des imports avec hoa 1.0

Coucou,

J'ai pris ton code que tu as poster pour xyl

<?php

require_once '../../Framework/Core/Core.php';

import('StringBuffer.Read') and load();
import('Xml.Read')          and load();

$in  = new Hoa_StringBuffer_Read();
$in->initializeWith(
    '<?xml version="1.0" encoding="utf-8"?>' . "\n" .
    '<foo xmlns="foobar">' . "\n" .
    '  <p>The <em>cake</em> is a <strong>lie</strong>!</p>' . "\n" .
    '</foo>'
);

$xml = new Hoa_Xml_Read($in);
var_dump(
    $xml->p,
    $xml->p->useNamespace('foobar')->selectChildElements(),
    $xml->p->readAsPhrasingModel('foobar')
);

J'essai de prendre la main sur le Core mais il connait pas la fonction import :S :S

Fatal error: Call to undefined function import() in C:\wamp\www\Hoa_test_WebSocket\Application\Controller\Index.php on line 5

Comment tu travailles @Hywan ?

Dernière fois dit par Ecureuil Virtuel (18 Feb. 2011 10:10)

" L'imagination est plus importante que la connaissance. La connaissance est limitée alors que l'imagination englobe le monde entier, stimule le progrès, suscite l'évolution. " - Life in the cloud :: Getting Started with Hoa - Hoa débutant

2

Re : Gestion des imports avec hoa 1.0

Hey smile,

On n'utilise plus import() directement maintenant. On commencera toujours par préciser quelle famille de bibliothèques on va utiliser :

from('Hoa')
-> import('StringBuffer.Read')
-> import('Xml.Read');

La fonctionnalité « and load() » a disparu sous cette forme. Tu dois faire maintenant :

import('…', true);

Note que ce n'est plus si utile que ça sous PHP5.3 car l'autoload est bien plus rapide. J'avais fait ça pour palier à un « problème » sous PHP5.2.x.

Et comme on est en PHP5.3, on a les espaces de nom, donc Hoa_StringBuffer_Read et Hoa_Xml_Read deviennent respectivement \Hoa\StringBuffer\Read et \Hoa\Xml\Read. Ainsi, le code devient :

<?php

require_once '/var/lib/hoa/Core/Core.php';

from('Hoa')
-> import('StringBuffer.Read')
-> import('Xml.Read');

$in = new \Hoa\StringBuffer\Read();
$in->initializeWith(
    '<?xml version="1.0" encoding="utf-8"?>' . "\n" .
    '<foo xmlns="foobar">' . "\n" .
    '  <p>The <em>cake</em> is a <strong>lie</strong>!</p>' . "\n" .
    '</foo>'
);

$xml = new \Hoa\Xml\Read($in);
var_dump(
    $xml->p,
    $xml->p->useNamespace('foobar')->selectChildElements(),
    $xml->p->readAsPhrasingModel('foobar')
);

Je vois que tu tentes d'essayer les WebSockets aussi. Attention, elles ont été désactivées dans beaucoup de navigateurs (sauf les nightlies) car le protocole montrait une faille. Le protocole n'étant plus « stable » (il ne l'a jamais été en fait tongue), je ne peux pas te garantir un résultat pour l'instant.

Enfin, pourrais-tu changer le titre de ton sujet pour que ça colle vraiment avec le sujet ? Merci !

« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »