如何使用Codeigniter在视图文件中调用我自己的函数?
我有一个功能:
function hoursToSeconds($ hour){// $ hour必须是字符串类型:" HH:mm:ss" $ parse = array();
if (!preg_match ('#^(?<hours>[\d]{2}):(?<mins>[\d]{2}):(?<secs>[\d]{2})$#',$hour,$parse)) {
// Throw error, exception, etc
throw new RuntimeException ("Hour Format not valid");
}
return (int) $parse['hours'] * 3600 + (int) $parse['mins'] * 60 + (int) $parse['secs'];
}
我刚刚调用了这个函数$sum += hoursToSeconds($rec['emp_late']);
,但它没有用。
这可能是什么问题?
答案 0 :(得分:1)
最好的方法是使用助手
https://www.codeigniter.com/userguide3/general/helpers.html
CodeIgniter助手是一个具有多个功能的PHP文件。
让我们在 application / helpers / 中创建助手说hour_helper.php,粘贴你的函数
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('hoursToSeconds'))
{
function hoursToSeconds ($hour) { // $hour must be a string type: "HH:mm:ss"
$parse = array();
if (!preg_match ('#^(?<hours>[\d]{2}):(?<mins>[\d]{2}):(?<secs>[\d]{2})$#',$hour,$parse)) {
// Throw error, exception, etc
throw new RuntimeException ("Hour Format not valid");
}
return (int) $parse['hours'] * 3600 + (int) $parse['mins'] * 60 + (int) $parse['secs'];
}
}
加载助手
这可以在控制器,模型或视图(不可取)
// load helper
$this->load->helper('hour_helper');
// to test
echo hoursToSeconds('10:20:23');
如果要在多个模块/控制器/模型之间共享此帮助程序,请通过将其添加到自动加载配置文件(即path/to/application/config/autoload.php
)自动加载。
$autoload['helper'] = array('hour_helper');
在您的情况下,在控制器中加载助手,然后在视图中调用它
答案 1 :(得分:0)
检查hoursToSeconds()
的参数格式是否正确 HH:mm:ss