`

php实现多构造器的类

    博客分类:
  • PHP
阅读更多
有时候实例化类时,需要根据构造方法的参数个数进行初始化不用的内容,这有点像php函数或方法的可选参数:
<?php 
class A { 
    public function __construct() { 
        $a = func_get_args(); 
        $i = func_num_args(); 
        if (method_exists($this,$f='__construct'.$i)) { 
            call_user_func_array(array($this,$f),$a); 
        } 
    } 
    
    public function __construct1($a1) { 
        echo '__construct with 1 param called: '.$a1.PHP_EOL; 
    } 
    
    public function __construct2($a1,$a2) { 
        echo '__construct with 2 params called: '.$a1.','.$a2.PHP_EOL; 
    } 
    
    public function __construct3($a1,$a2,$a3) { 
        echo '__construct with 3 params called: '.$a1.','.$a2.','.$a3.PHP_EOL; 
    } 
} 
$o = new A('sheep'); 
$o = new A('sheep','cat'); 
$o = new A('sheep','cat','dog'); 

// 结果: 
// __construct with 1 param called: sheep 
// __construct with 2 params called: sheep,cat 
// __construct with 3 params called: sheep,cat,dog 
?> 
0
7
分享到:
评论

相关推荐

    bootstrap表单构造器

    在实际应用中,开发者可以将表单构造器集成到现有的Web应用程序中,或者作为一个独立的模块供多个项目共享。通过这样的工具,不仅能够快速构建美观且功能完善的表单,还能减少调试和维护的时间,提高生产力。

    JS+HTML版表单构造器(Fom Builder)适合Web系统使用

    **Bootstrap表单构造器.htm**可能是包含Fom Builder具体实现的一个HTML文件,它可能使用了流行的前端框架Bootstrap来提供美观的界面和响应式设计。Bootstrap提供了丰富的预定义样式和组件,确保表单在不同设备和屏幕...

    PHP实现的构造sql语句类实例

    1. PHP构造SQL语句类的概念与应用: 构造SQL语句类是面向对象编程中的一个实践,其主要目的是为了生成动态SQL语句。该类的实例化可以用于不同的数据库操作,例如插入、查询、更新和删除数据。通过对类方法的调用,...

    php实现简单的源码语法高亮函数类

    本文将深入探讨如何使用PHP实现一个简单的源码语法高亮函数类,以及如何扩展其功能以支持更多的编程语言和语法特性。 首先,我们需要理解什么是语法高亮。语法高亮是一种编程和文本编辑器中的功能,它通过使用不同...

    php实现的RSS生成类

    在压缩包中,`readme.md`文件可能包含了更详细的使用说明或示例代码,而`php实现的RSS生成类`可能是上述类的一个具体实现,建议结合这两个文件来理解和应用这个RSS生成类。通过实践和调试,你将更深入地理解如何在...

    PHP中Private修饰符与Constructor.pdf

    例如,在 Student 类中,我们可以继承 Person 类,并使用 private 修饰符和构造器来实现成员属性的赋值和操作。 private 修饰符和构造器在 PHP 中扮演着重要的角色,确保程序的安全性和可靠性。我们可以通过私有...

    PHP实现的购物车类实例

    在探讨PHP实现的购物车类实例之前,首先应当了解一个购物车系统的基本作用与需求。购物车系统允许用户将商品添加至一个虚拟的购物车,并且可以在其中随时修改所选商品的数量、删除商品、计算购物车中的总金额等。...

    php实现一个发送邮件类 gmail邮箱

    在PHP中实现一个用于发送邮件的类,特别是与Gmail邮箱集成,是常见的需求,尤其在网站通知、用户注册验证或客户服务中。本教程将详细讲解如何构建这样的类,并使用PHPMailer库,这是一个广泛使用的开源PHP邮件处理库...

    使用Laravel中的查询构造器实现增删改查功能

    本篇文章将详细介绍如何利用Laravel查询构造器实现增删改查功能。 首先,确保你的环境配置正确,包括PHP、Nginx和MySQL服务已启动,并且创建了一个名为`shop`的数据库以及`goods`和`user`两个数据表。在进行任何...

    字典树php实现

    ### 字典树(Trie Tree)的PHP实现详解 #### 一、引言 字典树,也称为前缀树或Trie树,是一种用于存储字符串数据结构,它能够高效地支持诸如查找、插入和删除等操作。由于其在字符串处理上的独特优势,字典树被广泛...

    PHPMailer类包

    这个类提供了构造函数来初始化邮件参数,如发件人、收件人、主题、邮件内容等。此外,还包含了设置SMTP配置、添加附件、设置邮件头等方法。 2. `class.smtp.php`: 这个文件包含了SMTP类,用于处理与SMTP服务器的...

    一个好用的php模版解析类

    "一个好用的PHP模版解析类"是针对这个主题的具体实现,提供了一种高效、易于维护的方式来构建动态网站。 模板引擎的核心思想是通过定义特定的语法或标记来嵌入动态内容。在PHP中,这种模板解析类通常会识别如`{{...

    韩顺平老师php代码 php类

    在PHP编程语言中,类(Class)是一种构造对象的蓝图,它定义了对象的状态(属性)和行为(方法)。PHP类是面向对象编程的基础,它允许我们创建自定义的数据类型,封装数据和功能,实现代码的重用。在这个场景中,...

    功能强大的php加密解密类

    在给定的描述中,类的构造函数接收密钥,这意味着它可能使用该密钥来初始化加密上下文,确保数据的安全性。 4. **类的结构与使用** 一个功能强大的加密解密类可能包含以下关键方法: - `__construct($key)`: 初始...

    一些PHP中常用的类源码

    9. **属性访问器和修改器(Accessors & Mutators)**:也称为getter和setter方法,用于控制对类属性的访问,以保护数据的安全性。 10. **静态属性和方法**:使用`static`关键字声明的属性和方法属于类本身,而不是...

    php实现邮件发送

    这里我们将深入探讨如何使用PHP实现这一功能,主要关注提供的`mail.class.php`类和`sendmail.php`实例。 首先,PHP内置了一个`mail()`函数,可以用于发送简单的文本邮件。但它的功能有限,不支持HTML内容、多部分...

    php Rss 2.0 生成类

    1. **初始化类**:类的构造函数接受必要的参数,如频道标题、描述、URL等,用于设置RSS feed的基础信息。 2. **添加条目**:类应该提供方法来添加新的条目,每个条目包含标题、描述、链接、发布日期和作者信息。 3...

    PHP多条件动态筛选,仿58等分类信息原理

    在PHP编程中,多条件动态筛选是常见的功能需求,尤其在构建类似58同城这样的分类信息系统时,用户往往需要...而`filter.php`文件很可能是实现这个功能的核心脚本,包含了处理筛选条件、构造和执行SQL、展示结果等功能。

    Laravel 使用查询构造器配合原生sql语句查询的例子

    然而,在处理某些复杂查询场景时,如多表联合查询、子查询或自定义SQL逻辑,可能需要结合使用查询构造器与原生SQL语句。下面我们将详细探讨如何在Laravel中结合两者进行查询。 首先,让我们了解一下Laravel查询构造...

Global site tag (gtag.js) - Google Analytics