PHP - 只调用一次抽象类子方法?

时间:2015-12-11 11:42:56

标签: php oop

我是OOP编程的新手,我正在创建设置页面并扩展各种抽象类。

我创建了两个 抽象 admin_setting theme_admin_setting(extends admin_setting),它本身有两个扩展类:(不是抽象的) setting_news setting_buttons ,功能非常相似,但页面上输出的表单字段不同。

然后可以通过javascript在设置页面上添加和删除每个按钮/新闻项目,然后在提交时将其保存到数据库中。

当添加一个新的按钮/新闻项目(在JS中),因为表单字段不同,它有点乱,所以我想将一些变量传递给脚本,使代码更清晰。

当我想在脚本标记中传递Javascript某些值但只想在每个扩展类的每个实例中执行一次时,出现了问题。

例如:

setting_news:

<script>var news_array = <?php echo $news_array... </script>

setting_buttons:

<script>var button_array = <?php echo $button_array... </script>

但每次实例化类(每页约10次)时,它显然会输出脚本标记,我想保持代码整洁,只做一次。

答案是否可能创建另一个比theme_admin_setting更深的抽象类,其中包含一个反函数?

1 个答案:

答案 0 :(得分:0)

你可以在每个扩展类中使用public static $isCalled = false;,而只需要调用函数

if (!self::$isCalled) {
    self::$isCalled = true;
    /* do your code */
}