从视图移动到控制器时,如何调整函数调用?

时间:2014-04-16 22:54:58

标签: php function joomla joomla-component

我的理解是,在为joomla构建MVC组件时,我们应该将自定义函数保存在该视图的控制器PHP文件中。我正在快速构建组件的视图,并在视图中使用以下功能来查找两点之间的最短距离:

function distance($a, $b)
    {
list($lat1, $lon1) = $a;
list($lat2, $lon2) = $b;

$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
return $miles;
    }

我稍后在视图中使用其他基于变量的信息来调用此函数:

$distances = array_map(function($items) use($ref) {
$a = array_slice($items, 0);
return distance($a, $ref);
}, $items);
asort($distances);

当我将距离函数移动到控制器文件中时,当我尝试加载视图时出现以下错误:

Fatal error: Call to undefined function distance() 

我应该在调用中更改什么或以其他方式正确格式化MVC架构的功能?

0 个答案:

没有答案