วิธีการเขียนฟังก์ชั่นเพิ่มใน phpagi และการเรียกใช้งาน

บทความเกี่ยวกับ PHPAGI ซึ่งจะทำให้เราเขียน PHP สั่งงาน Asterisk ได้ตามปรารถนา

Moderator: jubjang

วิธีการเขียนฟังก์ชั่นเพิ่มใน phpagi และการเรียกใช้งาน

โพสต์โดย nuiz » 04 มี.ค. 2011 13:48

ถ้าจะเขียน Function เพิ่มต้องทำยังไง
ดูรายชื่อฟังก์ชั่นที่ phpagi มาให้แล้ว ที่เว็บนี้เลยครับ http://phpagi.sourceforge.net/
ถ้าดูแล้วไม่มี function ที่เราต้องการ ใครที่มีฝีไม้ลายมือในการเขียน php สามารถเพิ่ม function เข้าไปในไฟล์ phpagi.php ได้ครับ เขียนแบบนี้เลย

โค้ด: เลือกทั้งหมด
function myfunction1 () {
//เขียน php code
//ตอนจะออกจากฟังก์ชั่นนี้ ให้ส่ง value ออกไปด้วยหรือไม่ก็ได้ ถ้าต้องการส่งออกไปด้วย ให้ใช้ return ครับ

}


โค้ด: เลือกทั้งหมด
function myfunction2($argument1, $argument2, $argument3) {
//เขียน php code
//ตอนจะออกจากฟังก์ชั่นนี้ ให้ส่ง value ออกไปด้วยหรือไม่ก็ได้ ถ้าต้องการส่งออกไปด้วย ให้ใช้ return ครับ

}


จะมีค่าส่งเข้ามาด้วยหรือไม่ก็ได้

วิธีการเรียกฟังก์ชั่นใน phpagi มาใช้งาน
มีอยู่ 2 แบบครับ ขึ้นอยู่กับว่าเราเรียกจากไฟล์ไหน

1. เรียกใช้จาก php script ที่เราเขียนขึ้นมาเอง
ซึ่งก็มี 2 แบบคือ
- แบบเรียกใช้งานเฉยๆ ประมาณนี้ครับ

โค้ด: เลือกทั้งหมด
$agi-> myfunction1;
$agi-> myfunction2($callerid, $destination, $dtmf);


- แบบเอาค่ามากำหนดให้ตัวแปรอีกที เพื่อนำไปทำงานต่อ

โค้ด: เลือกทั้งหมด
$return = $agi->myfunction1;

if ($return == 5) {
  $agi->stream_file('you-entered');
  $agi->say_digits($return);
}


2. เรียกใช้จากตัว phpagi เอง คือไฟล์ phpagi.php
มันเป็นไปได้นะครับที่เวลาเราเขียน function เพิ่มในไฟล์ phpagi.php และต้องเรียก function อื่นในไฟล์เดียวกันนี้มาใช้งานด้วย วิธีการเรียกจะเป็นแบบนี้ครับ

โค้ด: เลือกทั้งหมด
function existing_function() {

}

function new_function() {

     $this->existing_function();

}


ให้ใช้ $this-> ตามด้วยชื่อฟังก์ชั่น


โดยที่ existing_function คือฟังก์ชั่นที่มีอยู่ใน phpagi อยู่แล้ว หรือเป็นฟังก์ชั่นที่เราเขียนขึ้นมาเองก็ได้ ส่วน new_function คือฟังก์ชั่นที่เราเขียนขึ้นมาใหม่และต้องมีการเรียกใช้ฟังก์ชั่นที่มีอยู่แล้ว
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 4818
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: วิธีการเขียนฟังก์ชั่นเพิ่มใน phpagi และการเรียกใช้งาน

โพสต์โดย sitt01 » 05 มิ.ย. 2011 11:46

ช่วยตรวจให้หน่อยครับว่าผมเขียน Funciton ถูกหรือเปล่า มี 2 Function นะครับ

$agi-> checkname(); //เรียก FUNCTION แรก
if ($ename[13] <> null or $ename[12] <> null ){ //ตรวจสอบว่ามีชื่อพนักงานในระบบหรือเปล่า
$agi->updateemptime(); //ถ้ามี เรียก FUNCTION ที่ 2 เพื่อลงเวลาทำงาน
}

function checkname(){
$db_con = mssql_connect("10.0.0.100","x","password");
mssql_select_db( "emp",$db_con);
$query = mssql_query ("select * from view_empname where Expr5 = $empid or Expr4 = $empid" ,$db_con);
$ename= mssql_fetch_row($query);
mssql_close($db_con);
}

function updateemptime(){
$db_con = mssql_connect("10.0.0.100","x","password");
mssql_select_db( "emp",$db_con);
$strSql = mssql_query ("INSERT INTO timecheck (empid,place,timechk) VALUES ('$empid','$did',CURRENT_TIMESTAMP)");
if (!$strSql){
die ($agi->stream_file("noupdate"));
}
mssql_close($db_con);
}


ขอบคุณครับ
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 281
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19


ย้อนกลับไปยัง PHPAGI - Where PHP Connects To Asterisk

ผู้ใช้งานขณะนี้

่กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 1 ท่าน