Symfony2:如何从控制器调用PHP函数?
我需要使用PHP函数将数字转换为字母。我在“Controller”文件夹中创建了一个名为:converter.php的文件。我需要在converter.php中调用名为“convertir\u numero\u letras($number)”的函数insert。 我从以下控制器调用函数“convertir_numero_letras($number)”:Symfony2:如何从控制器调用PHP函数?,php,symfony,Php,Symfony,我需要使用PHP函数将数字转换为字母。我在“Controller”文件夹中创建了一个名为:converter.php的文件。我需要在converter.php中调用名为“convertir\u numero\u letras($number)”的函数insert。 我从以下控制器调用函数“convertir_numero_letras($number)”: public function convertirAction() { $number=1234;
public function convertirAction()
{
$number=1234;
$this->convertir_numero_letras($number);
return $this->render('contratos/mostrar_cifra.html.twig', array('numero_convertido' => $numero_convertido));
}
//file controller
<?php
namespace GRF\BlogBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class PostController extends Controller
{
public function indexAction()
{
return new Response(\GRF\BlogBundle\Helper\ConverterHelper::toNum(32434));
}
}
但是这个代码不起作用。我获得以下信息
错误消息:
试图调用类“BackendBundle\Controller\ContratosController”中名为“convertir\u numero\u letras”的未定义方法
我可以解决这个问题吗?您可以在bundel/Helper之类的包中创建一个文件夹
并在ConverHelper.php之类的文件夹中创建自定义类
像这样:
class ConvertHelper
{
public static function numero_letras($param)
{
return 'converted value';
}
}
然后您可以调用任意控制器和任意捆绑包,如下所示:
yourBundle\helper\ConverterHelper::numero_letras('someting');
不要忘记将ConverterHelper的命名空间添加到您的控制文件中
例如:
// file: GRF/BlogBundle/Helper/ConverterHelper.php
<?php
namespace GRF\BlogBundle\Helper;
class ConverterHelper
{
public static function toNum($param)
{
return $param;
}
}
//文件:GRF/BlogBundle/Helper/ConverterHelper.php
您可以在bundel/Helper之类的包中创建文件夹
并在ConverHelper.php之类的文件夹中创建自定义类
像这样:
class ConvertHelper
{
public static function numero_letras($param)
{
return 'converted value';
}
}
然后您可以调用任意控制器和任意捆绑包,如下所示:
yourBundle\helper\ConverterHelper::numero_letras('someting');
不要忘记将ConverterHelper的命名空间添加到您的控制文件中
例如:
// file: GRF/BlogBundle/Helper/ConverterHelper.php
<?php
namespace GRF\BlogBundle\Helper;
class ConverterHelper
{
public static function toNum($param)
{
return $param;
}
}
//文件:GRF/BlogBundle/Helper/ConverterHelper.php
谢谢您的回复,但您提出的解决方案不起作用。我收到以下错误消息:*自动加载程序希望在文件“C:\proyectos\cursorspierobis/src\BackendBundle\Controller\ContratosController.php”中定义类“BackendBundle\Controller\ContratosController”。找到了文件,但类不在其中,类名或命名空间可能有输入错误**我在空项目中测试它,它工作正常,当converter文件夹添加并创建类时,将此代码放在我的控制器中-注意名称空间-退出(\someBundleName\Helper\ConverterHelper::toNum(32434));--类转换器应该在helper命名空间中,谢谢您的快速响应。稍后,我将再次尝试应用您提出的解决方案。谢谢您的回复,但您提出的解决方案不起作用。我收到以下错误消息:*自动加载程序希望在文件“C:\proyectos\cursorspierobis/src\BackendBundle\Controller\ContratosController.php”中定义类“BackendBundle\Controller\ContratosController”。找到了文件,但类不在其中,类名或命名空间可能有输入错误**我在空项目中测试它,它工作正常,当converter文件夹添加并创建类时,将此代码放在我的控制器中-注意名称空间-退出(\someBundleName\Helper\ConverterHelper::toNum(32434));--类转换器应该在helper命名空间中,谢谢您的快速响应。过一会儿,我将再次尝试应用您提出的解决方案。