基本上我是OOP编程和php,html,css和mysqli的新手。我正在为我的课程编写一个相当高级的网站,这是一个很大的跳跃。我只是想知道你如何在一个页面内调用一个类,例如
public function appointment_data($book_date, $book_time, $stu_id, $stf_id, $lab_id, $reason){
$strTime = strval($book_time);
$sqlTime;
if ($book_time < 1000) {
$sqlTime = "0" . subStr($strTime, 0, 1) . ":" . subStr($strTime, 1, 2);
} else {
$sqlTime = subStr($strTime, 0, 2) . ":" . subStr($strTime, 2, 2);
}
$result = $this->_db->query("INSERT INTO appointments
(Appt_Date, Appt_Time, Student_Id, Teacher_Id, Location_Id, Reason) VALUES
('$book_date', '$sqlTime', $stu_id, $stf_id, $lab_id, '$reason')");
}
这是我的一个功能,但我无法调用它并使用它。所有的逻辑应该是正确的吗?
答案 0 :(得分:2)
例如,如果这是一个名为Appointment的类的一部分,你可以这样称呼它:
// Instantiate an object of class Appointment
$appointment_obj = new Appointment();
// Call method appointment_data()
$appointment_obj->appointment_data($date, $time, $stu_id, $stf_id, $lab_id, $reason);
只是为了让它更完整:
如果您没有并且无法实例化对象实例,那么如果将static
添加到函数声明中,也可以静态调用该方法:
public static function appointment_data($book_date, $book_time, $stu_id, $stf_id, $lab_id, $reason){
然后你可以这样称呼它:
Appointment::appointment_data($date, $time, $stu_id, $stf_id, $lab_id, $reason);
但是,如果您保留函数,则不能这样做,因为它引用$this
,它表示当前对象,并且在静态函数中不可用。