在同一个PHP类中调用方法内部的方法
我认为这在PHP中是可能的,但我在让它工作时遇到了一些困难。我试图通过只创建一个应该显示在php类方法内部的html实例来最小化被复制的代码量。这是我只想创建一次的部分在同一个PHP类中调用方法内部的方法,php,function,methods,Php,Function,Methods,我认为这在PHP中是可能的,但我在让它工作时遇到了一些困难。我试图通过只创建一个应该显示在php类方法内部的html实例来最小化被复制的代码量。这是我只想创建一次的部分 public function display($dbCon){ $content = $obj->content; $contentSEO = $obj->contentSEO; $contentLink = $obj->contentLink; if(!empty($
public function display($dbCon){
$content = $obj->content;
$contentSEO = $obj->contentSEO;
$contentLink = $obj->contentLink;
if(!empty($content) && !empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$contentSEO","<a href=\"$contentLink\"><small>$contentSEO</small></a>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$content","<a href=\"$contentLink\">$content</a>",$content);
printf("%s", $content);
} elseif(!empty($content) && !empty($contentSEO) && empty($contentLink)){
$content = str_replace("$contentSEO","<small>$contentSEO</small>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && empty($contentLink)){
printf("%s", $content);
} else {
echo "Error";
}
}
现在,简单的方法是简单地将它们添加到同一个函数中,这确实有效。就像下面的例子
public function content1($dbCon){
if($res = $this->dbConnection->query("SELECT * FROM content WHERE status = '1' and id = '1'")) {
while($obj = $res->fetch_object()) {
$content = $obj->content;
$contentSEO = $obj->contentSEO;
$contentLink = $obj->contentLink;
if(!empty($content) && !empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$contentSEO","<a href=\"$contentLink\"><small>$contentSEO</small></a>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$content","<a href=\"$contentLink\">$content</a>",$content);
printf("%s", $content);
} elseif(!empty($content) && !empty($contentSEO) && empty($contentLink)){
$content = str_replace("$contentSEO","<small>$contentSEO</small>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && empty($contentLink)){
printf("%s", $content);
} else {
echo "Error";
}
}
}
}
但相反,我不断收到我在代码中植入的错误消息,以防它不起作用。在此方面的任何帮助都将不胜感激 我想这是因为你需要调用
$this->display($obj)代码>而不是$this->display($dbCon)代码>不,我试过了,我还试过其他几种变体,你给了我一些想法,为什么它会被破坏,但这些都没有效果。
public function content1($dbCon){
if($res = $this->dbConnection->query("SELECT * FROM content WHERE status = '1' and id = '1'")) {
while($obj = $res->fetch_object()) {
$content = $obj->content;
$contentSEO = $obj->contentSEO;
$contentLink = $obj->contentLink;
if(!empty($content) && !empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$contentSEO","<a href=\"$contentLink\"><small>$contentSEO</small></a>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && !empty($contentLink)){
$content = str_replace("$content","<a href=\"$contentLink\">$content</a>",$content);
printf("%s", $content);
} elseif(!empty($content) && !empty($contentSEO) && empty($contentLink)){
$content = str_replace("$contentSEO","<small>$contentSEO</small>",$content);
printf("%s", $content);
} elseif(!empty($content) && empty($contentSEO) && empty($contentLink)){
printf("%s", $content);
} else {
echo "Error";
}
}
}
}
$this->display($dbCon);