函数及类与对象
函数及类与对象
一. 实例演示函数的相关知识点
一). 输出函数
echo Hello;printWorld;//有返回值var_dump([1,2,3]);var_export([1,2,3]);printf(uname = %s,朱老师);//格式化输出print_r([1,2,3]);echo sprintf(<div style=”color:blue”>%s</div>,青狐资源网);$str=vprintf(%d+%d=%d,[10,20,10+20]);echo $str;// 四个数据格式化函数记忆方式// 1.printf(format,a,b,…):打印(离散参小白学搭建点我wcqh.cn数)// 2.vprintf(format,array):打印(数组参数)// 3.sprintf(format,a,b,…):只返回不打印// 4.vsprintf(format,array):只返回不打印// 记忆:// s:只返回不打印// v:数组参数二).函数
1.申明 (类型进行限定)function sum(int $a,int $b):int{return $a+$b;}2.调用echo sum(10,20);3.参数// php禁止函数重载:同一作用域内,存在同名函数,根据参数不同判断调用哪个function sum1(int $a,int $b,int $c=0):int{returna小白学搭建点我wcqh.cnrray_sum([$a,$b,$c]);}// 3.1参数太少:加一个默认值echo sum1(1,2,3),“\n”;// echo sum1(1,2);这样会报错需要默认值// 3.2参数太多:可以用可变参数(…rest)echo sum1(1,2,3,4,5,6),“\n”;function sum2(…$args):int{return array_sum($args);}// 3.3引用参数function sum3(&$a){return $a+=10;}$a=10;echo sum3($a);echo $a=.$a.“\n”;4.返回值// 4.1默认返回单值// 4.2多值返回小白学搭建点我wcqh.cn用数组function fn1(){return[admin,admin@wcqh.cn];}print_r(fn1());list($name,$email)=fn1();// 可以直接用js模板解构[$name,$email]=fn1();echo “$name($email)”;二. 实例演示课堂上提及全部类与对象的关键字,重点放在属性与方法的重载上
一)代码的实现
<?php/** * class: 声明类 * new: 类的实例化 * public: 访问限制符(公开成员/默认值) * private: 访问限制符(私有成员,仅在类中访问,类外不可见)* __construct(): 构造方法(实例化小白学搭建点我wcqh.cn时调用,用于初始化类实例) * $this: 当前类实例的引用,只能用在类中 * __get($name): 属性重载,拦截非法属性”读”访问 * __set($name,$value): 属性重载,拦截非法属性”写”访问 * __call($name,$arguments): 方法重载,拦截非法的方法访问 */// 类声明:classclassDemo{// 访问限制符:public公开成员(默认值)// __method:魔术方法,用户不能直接调用,PHP调用// 用途:创建实例初始化状态,属性,调用方法publicstring $name=朱老师;privateint $salary;privatei小白学搭建点我wcqh.cnnt $age;// 方法:函数// 构造方法:在类实例时化自动调用// __method:魔术方法,用户不能直接调用,由php调用// 用途:创建实例初始化状态,属性赋值,调用方法publicfunction __construct($name,$salary,$age){ $this->name=$name; $this->salary=$salary; $this->age=$age;}publicfunction getSalary(){return $this->salary–5000;}publicfunction setSalary($value){ $this->salary +=$value;}小白学搭建点我wcqh.cn//属性重载,拦截外部的非法属性访问publicfunction __get($name){if($name===salary){return $this->$name–5000;}return $this->$name;}// __set(value):属性设置器(写)publicfunction __set($name,$value){if($name===salary){ $this->$name += $value;}else{ $this->$name = $value;}}// 格式化打印privatefunction hello($a,$b,$c){return<<< DATA $this->name:工小白学搭建点我wcqh.cn资($this->salary)年龄($this->age) DATA;}// 方法重载// $name:方法名称,$arguments:参数数组publicfunction __call($name,$arguments){// return $name .,.join(,,$arguments);if($name===hello){return<<< DATA $this->name:工资($this->salary)年龄($this->age) DATA;}}}// 类的实例化:对象// 实例===对象$obj =newDemo(王老师,8000,30);$obj->salary +=2000;// 小白学搭建点我wcqh.cn$obj->setSalary(2000);echo $obj->salary.“\n”;echo $obj->getSalary().“\n”;$obj->age=40;echo $obj->age =40,“\n”;echo $obj->hello(a,b,c).“\n”;var_dump($obj);Db::table(user)->field(id,name);二)实现的效果图
© 版权声明
1.如需技术支持联系QQ:1339833655
2. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
3. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
8. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
THE END
暂无评论内容