Je suis nouveau à Symfony 3.0 et mon projet actuel traite de l'analyse de mots. plus précisément avec le comptage des syllabes d'un mot. Il était difficile de trouver une solution à ce besoin. Après un moment, je tombe sur le paquet PECL "ps" (http://php.net/manual/de/ref.ps.php), pour être exact la fonction ps_hyphenate() (http://php.net/manual/de/function.ps-hyphenate.php). J'ai réussi à installer ce paquet et ses dépendances (pslib et inittool) et l'ai géré pour obtenir l'exemple de ps_hyphenate() qui fonctionne sur mon environnement local.Comment utiliser la fonction d'une extension PHP dans un contrôleur de Symfony
Inspiré par mon coup de chance j'ai essayé de mettre en œuvre une méthode dans mon contrôleur symfony
private function countSyllables($string) {
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "/../Utils/hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $string);
ps_delete($psdoc);
return count($hyphens);
}
En conséquence, je reçois ce errormessage:
Attempted to call function "ps_new" from namespace "AppBundle\Controller".
« Pas de problème » je pensais. Juste échapper à l'espace de noms spécifique du contrôleur.
...
$psdoc = \ps_new();
...
ce fut le résultat:
Attempted to call function "ps_new" from the global namespace.
Quel est le problème? Les extensions PECL ne font-elles pas partie de l'espace de noms global? Comment puis-je faire fonctionner cette fonction vitale?
Amour Fab.
est l'extension correctement activée (c.-à-pouvez-vous utiliser ces fonctions dans un simple script PHP sans Sym Fony)? – xabbuh
Salut, oui, j'ai essayé d'exécuter l'exemple de http://php.net/manual/de/function.ps-hyphenate.php sur mon environnement local et réussir. Est-il possible que symfony utilise un php.ini différent? – user3531999
Résolu! Merci beaucoup pour votre indice! – user3531999