Im new для Symfony 3.0, и мой текущий проект касается словарного анализа. точнее с подсчетом слогов слова. Трудно было найти решение этой проблемы. Через некоторое время я наткнулся на пакет PECL «ps» (http://php.net/manual/de/ref.ps.php), точнее на функцию ps_hyphenate() (http://php.net/manual/de/function.ps-hyphenate.php). Я успешно установил этот пакет и его зависимости (pslib и inittool) и управлял им, чтобы получить пример работы ps_hyphenate() в моей локальной среде.Как использовать функцию PHP-расширения в контроллере 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);
}
В результате я получаю эту ErrorMessage:
Attempted to call function "ps_new" from namespace "AppBundle\Controller".
«Нет проблем» я не думал. Просто избегайте определенного пространства имен контроллера.
...
$psdoc = \ps_new();
...
это результат:
Attempted to call function "ps_new" from the global namespace.
Что не так? Разве расширения PECL не являются частью глобального пространства имен? Как я могу заставить эту функцию сохранения жизни работать?
Любовь Fab.
удлинительный правильно включен (то есть вы можете использовать эти функции в простой PHP скрипт без Sym Fony)? – xabbuh
Привет, да, я попытался запустить пример http://php.net/manual/de/function.ps-hyphenate.php в своей локальной среде и добиться успеха. Есть ли вероятность, что symfony использует другой php.ini? – user3531999
Решенный! Большое вам спасибо за подсказку! – user3531999