CakePHP:不同文件/类之间的交互

时间:2011-01-07 15:56:14

标签: php cakephp structure cakephp-1.3

我正在克隆一个商业学生管理系统。学生使用前端申请讲座,uni工作人员可以修改活动(时间,房间等)。 该应用程序的核心将是为学生分配座位的algortihm。我已经在这里问了一下: How to implement a seat distribution algorithm for uni lectures

现在,我在这里找到了该算法的一个类: http://www.phpclasses.org/browse/file/10779.html

我把'class GA'放到app / vendors中。我需要编写一个'类解决方案',它代表一个对象(一个子对象,后来成为进化过程的父对象)。

我还必须编写函数mutate(),crossover()和fitness()。根据是否有超额预订课程等,健身计算解决方案的分数; crossover()是疯狂的猴子性别功能,它产生一个来自两个父母的孩子,mutate()在交叉后修改一个孩子。

现在,fitness() - 函数需要访问一些相关模型及其find()函数。它通过检查解决方案来评估解决方案的适用性。如果有超额预订课程或未实现的愿望,并对此进行处罚。

我将把ga.php,solution.php和三个函数放在哪里? ga.php必须访问这些功能,但功能必须访问模型。我也不想在fitness()函数中调用任何App :: import(),因为算法运行时会调用数千次。

希望有人可以帮助我。在此先感谢=)

1 个答案:

答案 0 :(得分:0)

您使用的是PHP5吗?如果是这样,为什么不在fitness()函数中执行类似的操作:

if (!class_exists('GA', false)) App::import('Vendor', 'GA');

这样就可以在需要时调用App :: import。

*顺便说一句,如果该类被称为GA(全部大写),您应该将包含它的文件重命名为g_a.php以遵循Cake约定。*