PHP学习笔记二十六【类的重载】

<?php
  //重载:
  //函数名一样,通过函数的参数个数或者是参数类型不同,达到调用同一个函数名

    Class A{
     // public function test1(){
      // echo "test1()";
     // }
     // public function test1($name)
     // {
        // echo "hello world";
     // }
      //PHP不支持以上的重载方式

       public function test1(){
      echo "调用test1()";
     }
     public function test2($name)
     {
        echo "调用test2()";
        echo "<br/>".__CLASS__."<br/>";//输出在当前哪个类中
            echo "<br/>".__FUNCTION__."<br/>";//输出函数名称
     }

      //使用魔术方法定义方法的重载
      function __call($method,$p)
      {
        if($method=="test")
        {
            if(count($p)==1)
            {
              $this->test1($p);
            }else if(count($p)==2)
            {
              $this->test2($p);
            }
        }
      }
    }
     $a=new A();
     $a->test("张三");
     $a->test("张三",34);

     echo "<br/>".__LINE__; //魔术常量输出当前行
     echo "<br/>".__FILE__; //输出文件路径
     echo "<br/>".__DIR__; //目录

  ?>
时间: 2024-10-21 03:02:09

PHP学习笔记二十六【类的重载】的相关文章

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误 demo: html: <!DOCTYPE html> <html ng-app = 'HttpGet'> <head> <title>18.4 $http(2)</title> <meta charset="utf-8"

马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤: 一.master 1.启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2.选择一个惟一server-id server-id = {0-2^32} 3.创建具有复制权限的用户 REPLICATION SLAVE REPLICATION CLIENT 二.slave 1.启用中继日志 relay-log = relay-log relay-log-index = 2.选择一个惟一的server

Java基础学习笔记二十六 JDBC

什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句. JDBC原理 早期SUN公司的天才们想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结论是,由SUN提供一套访问数据库的规范(就是

Android学习笔记二十六.跨进程调用Service(AIDL Service)

跨进程调用Service(AIDL Service) 一.AIDL Service 1.什么是AIDL Service? AIDL,即Android Interface Definition Language.是Android用于定义远程接口,AIDL接口定义语言的语法比较简单,这种接口定义语言并不是真正的编程语言,它只是定义两个进程之间的通信接口.AIDL的语法与Java接口很相似,但存在如下几点差异: (1)AIDL定义接口的源代码必须以.aidl结尾; (2)AIDL接口中用到数据类型,除

学习笔记二十六:事件处理(二)

在这个并非尽善尽美的世界上,勤奋会得到报偿,而游手好闲则要受到惩罚.--毛姆 本讲内容:MouseEvent .MouseMotionListener 一.MouseEvent   让鼠标能知道鼠标按下的消息.知道点击的位置等五个方法. MouseMotionListener鼠标拖动坐标.鼠标移动坐标二个方法. public class Text extends JFrame { MyPanel mb=null; public static void main(String[] args) {

Linux学习笔记&lt;二十六&gt;——DNS服务器

DNS(Domain Name System 域名系统):提供Internet上域名到IP地址的映射 域名:又叫主机名,FQDN(Full Qualified Domain Name完全限定域名) 基本信息: Linux中通常使用bind服务来提供DNS服务器 应用层协议 基于UDP53端口号:用于查询 基于TCP53端口号:用于主从服务器同步数据 基于TCP953端口号:rndc用于远程控制DNS服务器 解析方式: 正向:FQDN <--> IP 反向:IP <-->FQDN 解

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource