php怎么不支持public

不及物动词 其他 114

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,关键字”public”是用于定义类成员(类的属性和方法)的访问修饰符之一。它表示这个成员可以被类内部的其他方法和类外部的对象访问。然而,与其他一些编程语言不同,PHP不要求显式地使用访问修饰符来声明类的成员。

    在PHP中,默认情况下,类成员是公共的(即可被类内外访问)。这是因为PHP的设计哲学之一是简单和方便,让开发者更快地开发应用程序。因此,如果你没有明确指定一个成员的访问修饰符,它将被视为公共的。

    例如,下面的代码演示了一个简单的PHP类,其中包含了一个公共属性和一个公共方法:

    “`
    class MyClass {
    public $myProperty;

    public function myMethod() {
    // do something
    }
    }
    “`

    在这个例子中,”myProperty”是一个公共属性,可以从类内部和类外部直接访问。同样,”myMethod”是一个公共方法,可以被类内部的其他方法和类外部的对象调用。

    需要注意的是,作为开发者,我们可以显式地使用其他访问修饰符来限制类成员的访问。除了”public”之外,PHP还支持”private”(私有),”protected”(受保护)和”static”(静态)等访问修饰符。不同的访问修饰符有不同的作用和范围,可以根据需要进行灵活的使用。

    总而言之,虽然PHP默认将类成员视为公共的,但我们仍然可以通过显示指定访问修饰符来明确限制其访问范围。这使得我们可以更好地控制和保护代码,同时提供更高的灵活性和可维护性。对于大型的应用程序和面向对象的开发,使用访问修饰符是一种良好的编程实践。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    标题:PHP为什么不支持public?

    PHP是一种流行的脚本语言,被广泛应用于Web开发领域。尽管它具有许多优点和功能,但有一点不同于其他编程语言,即它不支持public访问修饰符。下面是解释为什么PHP不支持public的五个原因。

    1. 避免过度复杂化语言特性
    PHP的设计目标是简单易用,避免过多的语法规则和复杂性。在其他编程语言中,public访问修饰符用于指定类的成员(属性和方法)对外部代码的可见性。然而,PHP选择通过其他方式实现对类成员的访问控制。

    2. 使用魔术方法 __get() 和 __set()
    PHP中,可以使用魔术方法__get()和__set()来实现对私有成员的访问控制。__get()在访问不存在的属性时触发,而__set()在设置不存在的属性时触发。通过这种方式,PHP开发人员可以自定义属性的访问和设置行为,实现精确的访问控制。

    3. 使用命名约定
    另一种在PHP中控制属性和方法访问的方式是通过命名约定。按照约定,以下划线(_)开头的属性和方法视为私有,不应直接访问。这种约定使得PHP代码更易读且具有一致性,尽管它缺乏像public访问修饰符那样的严格语法控制。

    4. 面向对象编程的原则
    PHP采用了面向对象编程的原则,其中一条原则是封装。封装指的是将数据和操作尽可能地封装在类内部,只暴露必要的接口给外部。PHP通过私有和受保护的成员来实现封装,而不是使用public修饰符。这种设计使得PHP代码更加可靠和安全。

    5. 避免属性和方法的滥用
    允许属性和方法被直接访问可能会导致滥用和难以维护的代码。通过限制外部对类成员的直接访问,PHP鼓励使用者编写更加模块化和可扩展的代码。这种设计有助于保持代码的健康和可维护性。

    综上所述,PHP选择不支持public访问修饰符是为了避免过度复杂化语言特性,通过魔术方法和命名约定实现对类成员的访问控制,遵循面向对象编程的原则,并鼓励编写更加模块化和可扩展的代码。尽管PHP缺少public修饰符,但仍然可以实现高度灵活和可控的访问控制。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    对于问题“PHP为什么不支持public”,答案可以分为两个方面来讨论。

    首先,需要明确的是,PHP是一种服务器端脚本语言,用于开发动态网页和应用程序。在PHP中,提供了可视性修饰符(public、protected和private)来控制类的成员(属性和方法)的可访问性。

    在PHP中,public关键字用于声明一个成员是公共的,即可以在类内部和外部访问。而为什么PHP不支持public关键字,主要有以下几个原因:

    1. PHP的设计初衷:PHP始终坚持简单、灵活和易学易用的原则,而不是过于复杂的面向对象语言。这意味着在PHP中,类的成员默认为公共的,即可在类的内部和外部访问。因此,对于PHP来说,使用public关键字来明确成员的可访问性并不是必要的。

    2. 类型约束的灵活性:在PHP中,变量的类型可以是动态的,这意味着一个变量可以在不同的上下文中包含不同的类型。因此,对于一个公共成员来说,无论它的类型是什么,都可以在类的内部和外部访问和修改。这种灵活性在PHP的动态特性方面是非常重要的。

    3. 类型封装的概念模糊:在其他面向对象语言中,类的成员常常使用访问修饰符来指定其可访问性,从而封装类的内部实现细节。然而,在PHP中,封装的概念并不是非常明确,因为PHP的设计目标就是简单易用。因此,public关键字在PHP中的作用和意义相对较少,也就没有特别需要使用它的需求。

    总结起来,PHP不支持public关键字主要是因为其设计目标的简单和灵活性,以及动态特性的影响。在PHP中,默认情况下,类的成员都是公共的,不需要使用public关键字来指定。这种特点使得PHP在开发过程中更加灵活和易学易用。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部