我是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更深的抽象类,其中包含一个反函数?
答案 0 :(得分:0)
你可以在每个扩展类中使用public static $isCalled = false;
,而只需要调用函数
if (!self::$isCalled) {
self::$isCalled = true;
/* do your code */
}