php函数的逆向工程

php函数的逆向工程,php,symfony,Php,Symfony,我知道这实际上不是逆向工程 我有这个功能: <?=$this->get('translator')->trans('dashboard.actions', array(), 'front');?> 我想了解如何插入在使用该代码时被调用的函数(使用include maybe) 我知道函数名需要是trans,它有3个参数,但是如何定义它呢?让我用一种更简单的方式来解释:在php脚本中,当使用$this->get('translator')->trans('dashboa

我知道这实际上不是逆向工程

我有这个功能:

<?=$this->get('translator')->trans('dashboard.actions', array(), 'front');?>

我想了解如何插入在使用该代码时被调用的函数(使用include maybe)


我知道函数名需要是trans,它有3个参数,但是如何定义它呢?让我用一种更简单的方式来解释:在php脚本中,当使用
$this->get('translator')->trans('dashboard.actions',array(),'front')时,如何打印Hello world

这只是一个常规类方法:

class Traslator{
    public function trans($a, $b, $c){
        return 'Hello world';
    }
}
现在,您只需要另一个名为
get()
的类方法,该方法返回上一个类的实例:

class Foo{
    public function get(){
        return new Traslator;
    }
}
完整代码:

<?php

class Traslator{
    public function trans($a, $b, $c){
        return 'Hello world';
    }
}

class Foo{
    public function get(){
        return new Traslator;
    }


    public function test(){
        ?>
        <?=$this->get('translator')->trans('dashboard.actions', array(), 'front');?>
        <?php
    }
}

$f = new Foo;
$f->test();


$此
引用当前对象实例,该变量可能不会被重新分配。也就是说,要诱使PHP做您想做的事情,需要在您提到的行之前和之后添加代码

通过创建单个类,可以获得结果


然后排队

<?=$this->get('translator')->trans('dashboard.actions', array(), 'front');?>

然后需要结束该类,并调用执行所需操作的方法

<?php
}}
    $i = new C();
    $i->hw();
$this->get('translator')
返回类的实例,让我们将其称为“translator”——在该实例上调用
trans()
方法

所以您想将“Translator”的实例更改为扩展版本

class ExtTranslator extends Translator{
    public function trans($params){
        echo 'fdsfds'; // here you could add what you like
        return parent::trans($params);
    }
}

是的,很难帮助您,因为我真的不知道您想做什么-要使用该代码,您必须首先理解它…

如果没有源代码,很难找到它。您是否尝试过搜索“函数转换(”或者一个翻译类?你能给我们看看你的类的代码吗?因为你使用了
$this
,我假设你在一个类中写了一个方法..那就是Symfony code IIRC。请不要试图去想原始代码,把它当作一个孤立的问题,你有这个问题:输出需要是Hello world我们/你知道输出吗在上面的代码中?Muchas Gracias!,“>”在测试功能完成后马上做什么?@DomingoSL-这是你的代码。我想你想用那条精确的线打印
Hello wordl
。我想这在原始脚本中是有目的的。对downvoter:你能解释一下“这个答案没有用”吗反馈?如果我违反了某些Symphony禁忌,请注意在我发布答案时没有这样的标记。嗯,我对如何使用它有点困惑,让我们假设我将您的代码放在一个php脚本try.php和另一个文件content.php中,我有几行php+html代码,其中有几个$this->get('translator')->trans('dashboard.actions',array(),'front')如何组合它们?我尝试了公共函数测试(){return include('content.php');},但没有成功
class ExtTranslator extends Translator{
    public function trans($params){
        echo 'fdsfds'; // here you could add what you like
        return parent::trans($params);
    }
}