我正在处理一个脚本,它调用同一个类两次,并抛出以下错误信息:
我需要再次调用它以获得不同的结果。
编辑2:
这是urlConverter:
现在我从另一个脚本中调用以下内容:
Fatal: Cannot redeclare class urlConverter (/var/www/core/cache/includes/elements/modsnippet/23.include.cache.php:14)
我尝试将以下代码放置在:
if( !class_exists( 'urlConverter', false ) )
{
$urlConverter = new urlConverter( $modx );
}
然而,我所使用的CMS报告了500错误,但我无法从日志中看出它为什么会出现这种错误。
有人知道如何检查该类是否已正确声明吗?
编辑:
我正在使用CMS,因此该类位于片段中而不是实际文件中。这是他们调用片段的方式:
$data['viewonlinelink'] = $this->modx->runSnippet( 'urlConverter', array(
'action' => 'encrypt',
'string' => http_build_query( $string ) ) );
我需要再次调用它以获得不同的结果。
编辑2:
这是urlConverter:
<?php
class urlConverter {
public $modx;
public function __construct( modX &$modx )
{
$this->modx =& $modx;
}
public function action( $scriptProperties )
{
return $this->$scriptProperties['action']( $scriptProperties['string'] );
}
private function encrypt( $str )
{
return $str;
}
private function decrypt( $str )
{
return $str;
}
}
}
$urlConverter = new urlConverter( $modx );
return $urlConverter->action( $scriptProperties );
现在我从另一个脚本中调用以下内容:
$data['viewonlinelink'] = $this->modx->runSnippet( 'urlConverter', array(
'action' => 'encrypt',
'string' => http_build_query( $string ) ) );
$data['confirmonline'] = $this->modx->runSnippet( 'urlConverter', array(
'action' => 'encrypt',
'string' => http_build_query( $reversed ) ) );
在我的urlConverter类中运行加密函数,我应该得到两个不同的结果。
include_once
或require_once
。 - Sampson