2011-08-31 4 views
-1

Possible Duplicate:
How can I use C++ code to interact with PHP?php & si erreur: classe non trouvée

Je le fichier test.php suivant:

<html> 
<head> 
<title>Personalized Hello World</title> 
</head> 

<body> 

<?php include "/home/test.hpp"; 

$s= new example(); 

?> 


</body> 

</html> 

le fichier test.hpp est:

#ifndef TEST_ 
#define TEST_ 


class example 
{ 
    public: 
    example(); 
    void show(); 
}; 

#endif 

Je le test Fichier .so. compiler .php avec: php test.php -dextension=test.so

Je l'erreur:

PHP Fatal error: Class 'example' not found in /var/www/test.php on line 10 

Comment résoudre ce problème? THX

+5

Je ne pense pas que vous pouvez juste inclure le code C++ dans un code PHP comme ça. –

+0

Si ce que vous faites est possible, c'est incroyable! – xdazz

Répondre

1

Vous essayez d'inclure du code C++ à partir d'un script PHP. L'interpréteur PHP n'est pas capable d'analyser le code C++. Seul le code PHP. Parce que c'est un interpréteur PHP. Pas un compilateur C++. Ce sont des langues différentes. Comme le conseille @ J0HN, vous devriez lire ceci: How can I use C++ code to interact with PHP?

Il explique comment écrire des extensions à PHP, ce qui est la bonne façon d'interfacer PHP avec du code C++.

+0

ok. merci pour vos conseils. donc devrais-je créer un fichier .php qui se connecte avec les méthodes de mon code .cpp et que tout lier avec le fichier .so. S'il te plaît, éclaire-moi un peu. Je vous demande cela parce que si les méthodes du fichier .cpp incluaient d'autres fichiers .h? Dois-je emballer tous les fichiers. Cpp dans le fichier .php ou seulement les plus importants? – sunset

+0

Non, en fait, vous devez écrire un module spécial en C ou C++ (AFAIR) qui exporte l'API que vous voulez utiliser en PHP, compilez-le en tant que fichier .so, puis vous pouvez utiliser ces fonctions dans votre code PHP. – slaphappy

+0

Je pense que cet article devrait vous aider: http://devzone.zend.com/article/4486-Wrapping-C-Classes-in-a-PHP-Extension – slaphappy