php类函数不写public

在PHP中,类函数的访问修饰符有三种,分别是`public`、`protected`和`private`。其中,`public`表示该函数可以在类的内部和外部被访问和调用,`protected`表示该函数只能在当前类和其子类中被访问和调用,`private`表示该函数只能在当前类中被访问和调用。

然而,在某些情况下,我们可能会看到一些PHP类中的函数没有明确指定访问修饰符,也就是不写`public`、`protected`或`private`。那么,如果不写访问修饰符,这个函数的访问权限是什么呢?

实际上,在PHP中,如果不写访问修饰符,默认情况下函数的访问权限为`public`,也就是说该函数可以在类的内部和外部被访问和调用。这是因为,PHP在解析类时,会假设没有指定访问修饰符的函数为`public`。

例如,假设我们有一个Person类,其中定义了一个函数`getName()`,但没有指定访问修饰符,代码如下所示:

```php

class Person {

function getName() {

echo "Hello, I'm a person.";

}

}

```

在这个例子中,`getName()`函数的访问权限默认为`public`,因此可以在类的内部和外部被访问和调用。下面是使用这个函数的示例代码:

```php

$person = new Person();

$person->getName(); // 输出:Hello, I'm a person.

```

可以看到,在类的外部,我们通过实例化Person类的对象,然后调用`getName()`函数,成功输出了函数中的内容。

需要注意的是,即使不写访问修饰符,并且默认为`public`,仍然可以在类的内部显式地指定为其他访问修饰符。例如,我们可以将`getName()`函数的访问修饰符修改为`protected`,代码如下所示:

```php

class Person {

protected function getName() {

echo "Hello, I'm a person.";

}

}

```

在这种情况下,`getName()`函数的访问权限为`protected`,只能在当前类和其子类中被访问和调用。这意味着,外部代码无法直接访问和调用`getName()`函数,必须通过继承Person类,并在子类中调用该函数。

总结来说,如果不写访问修饰符,默认为`public`,函数可以在类的内部和外部被访问和调用。然而,为了代码的可读性和维护性,建议在定义类函数时,明确指定其访问权限,以提醒其他开发人员该函数的使用方式和访问限制。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(26) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部