php类的实例化和外部传入参数-明生-k8凯发旗舰
php参数传递的常用方法有$_post[]、$_get[]、$_session[]3种。
php类的实例化时也可能需要传入外部参数,如表单等。
一、类的定义(father.php)
(一)静态传入外部参数
同样可以借助$_post[]、$_get[]、$_session[]等方法传递参数,因为$_post[]、$_get[]、$_session[]是全局变量,所以传递到php类实例化页面时,可以被获封装类取到。
示例传递手机和验证码到类sendmsm
(1)表单
(2)ajax传参(部分代码)
php类的实例化时也可能需要传入外部参数,如表单等。
一、类的定义(father.php)
class person{
var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.'要吃饭';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
//类似于这样的内部调用,相当于把eat()的代码引入到zuoyong()里面,而不是跳转到eat()里面继续执行
//如果是http://localhost/zuoyong?food=xigua这样的url来调用zuoyong()
//那么eat()中可直接通过$_get['food']获取url参数,因为全局变量可在函数内部使用
$this->eat();
}
}
一、类的实例化(son.php)var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.'要吃饭';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
//类似于这样的内部调用,相当于把eat()的代码引入到zuoyong()里面,而不是跳转到eat()里面继续执行
//如果是http://localhost/zuoyong?food=xigua这样的url来调用zuoyong()
//那么eat()中可直接通过$_get['food']获取url参数,因为全局变量可在函数内部使用
$this->eat();
}
}
(一)静态传入外部参数
include('person.class.php');
$son = new person('cuihua',25,'girl');
$son->name = '田妞';
$son->eat();//田妞要吃饭
(二)动态传入外部参数$son = new person('cuihua',25,'girl');
$son->name = '田妞';
$son->eat();//田妞要吃饭
同样可以借助$_post[]、$_get[]、$_session[]等方法传递参数,因为$_post[]、$_get[]、$_session[]是全局变量,所以传递到php类实例化页面时,可以被获封装类取到。
示例传递手机和验证码到类sendmsm
(1)表单
(2)ajax传参(部分代码)
$.ajax({
type: "post",
datatype: "json",
//url: ajaxurl,
url : 'http://localhost:3000/sms/example.php',
data: {
action: "sendsms",
phone: phone,
captcha_code: captcha_code,
token: token,
admin: admin
},
(3)类的实例化和接收参数type: "post",
datatype: "json",
//url: ajaxurl,
url : 'http://localhost:3000/sms/example.php',
data: {
action: "sendsms",
phone: phone,
captcha_code: captcha_code,
token: token,
admin: admin
},
//阿里发送短信接口
function send_sms($code, $phone) {
require_once plugin_dir_path(__file__) . 'config.php';
require_once plugin_dir_path(__file__) . 'lib/alisms.php';
$alisms = new smsdemo($accesskeyid, $accesskeysecret);
$res = $alisms->sendsms(
$sign, // 短信签名
$template, // 短信模板编号
$phone, // 短信接收者
array( // 短信模板中字段的值
"code" => $code
)
);
if ($res->code == 'ok')
return 1;
else
return 0;
}
这里就使用$_post[]方法将表单中的手机号($phone)和验证码($code)传入了sendsms中,完成了类的实例化和传入外部动态参数。
function send_sms($code, $phone) {
require_once plugin_dir_path(__file__) . 'config.php';
require_once plugin_dir_path(__file__) . 'lib/alisms.php';
$alisms = new smsdemo($accesskeyid, $accesskeysecret);
$res = $alisms->sendsms(
$sign, // 短信签名
$template, // 短信模板编号
$phone, // 短信接收者
array( // 短信模板中字段的值
"code" => $code
)
);
if ($res->code == 'ok')
return 1;
else
return 0;
}