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);
}
}