自动加载功能?

时间:2011-08-01 09:11:58

标签: php oop design-patterns structure

我有一个类,用于在网站的管理区域中定义新的元框。每个新框都需要很多参数,因此每个新对象的定义都保存在一个单独的函数中。

function my_metabox(){
   $args = array(/*the args*/);
   $metabox = new MetaBox($args);
}

然后我有一个函数,位于需要加载框的位置,一次加载所有元框。

function load_metaboxes(){
  my_metabox();
  my_other_boxes();
  etc_etc();
}

问题主要是每当我创建一个新框时都必须手动警告load_metaboxes()函数,是否有更好的方法来构建它?

2 个答案:

答案 0 :(得分:0)

也许你可以使用这样的东西:

//declaring my functions
function test_funct_1() { echo 'test'; return true; }
function test_funct_2() { return true; }
function test_funct_3() { return true; }
function test_funct_4() { return true; }

//get all function declared
$func = get_defined_functions();
//show only functions declared by user (you)
print_r($func['user']);

//call a individual function
$func['user'][0]();

答案 1 :(得分:-1)

使用php autload magin方法

这是文档 http://php.net/manual/en/language.oop5.autoload.php

在你的类中创建一个方法名__autoload并调用其中的所有函数,这样当你创建一个类的实例时,__ autoload中调用的函数将自动加载