PHP 构造函数
在 PHP 中,构造函数是一种特殊的方法,它在实例化对象时被自动调用。构造函数通常用于对新创建的对象进行初始化,它可以给对象属性赋初值,执行一些必要的操作,构造函数通常与类名相同。当类实例化时,构造函数会被自动调用。构造函数中的参数是可选的,如果没有传递参数,则构造函数内部可以使用默认值来初始化属性。
构造函数的定义规则很简单,在 PHP 中构造函数就是具有与类名相同的函数。例如:
```php
class Person {
public function __construct() {
echo '构造函数被调用了';
}
}
$person = new Person(); // 输出: 构造函数被调用了
```
当实例化类的时候,在执行语句 `$person = new Person();` 的同时就会自动调用 Person 类的构造函数。如果我们想在构造函数中进行属性初始化,可以这么做:
```php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$person = new Person('Tom', 18);
echo $person->name; // 输出:Tom
echo $person->age; // 输出:18
```
在这个例子中,我们给构造函数传递了两个参数 $name 和 $age。在构造函数中我们通过 `$this->name = $name;` 将传递过来的 $name 赋值给了类属性 $name,同理 $this->age = $age; 将 $age 赋值给了类属性 $age。然后我们实例化了 Person 类,并调用了 $person->name 和 $person->age 来访问类属性,输出了 name 和 age 的值。
除了给类属性赋值以外,构造函数还可以执行一些必要的操作。例如:
```php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
$this->sayHello();
}
public function sayHello() {
echo 'Hello, my name is ' . $this->name . ' and I am ' . $this->age . ' years old.';
}
}
$person = new Person('Tom', 18);
```
在这个例子中,我们在构造函数中执行了一个 sayHello() 方法,这个方法会输出 'Hello, my name is Tom and I am 18 years old.' 这个字符串。当我们实例化 Person 类时,会先执行构造函数中的 $this->sayHello(); 方法,然后输出字符串。
PHP 禁止访问函数页面
在 PHP 中,有时候我们需要保护某些函数不被外部脚本随意访问,PHP 提供了一种方法来禁止访问函数页面:将函数放在另一个 PHP 文件中,然后不允许直接访问这个文件。
例如,我们有一个 printHello() 函数,我们希望这个函数只能在 index.php 中使用,并禁止其他人直接访问 print_hello.php:
print_hello.php:
```php
function printHello() {
echo "Hello!";
}
```
index.php:
```php
require_once 'print_hello.php';
printHello(); // 输出:Hello!
```
在这个例子中,我们将 printHello() 函数放在了 print_hello.php 文件中,并在 index.php 文件中引用了这个文件,然后才调用了 printHello() 函数。如果我们直接访问 print_hello.php,是无法访问到 printHello() 函数的。这样就保护了我们的函数不被其他人随意调用。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
今年必发,快把好运来转发,转走忧愁,喜当家;转走苦闷,乐哈哈;转走霉运,福当家;转来运气,它伴绕,心如蜜甜笑开花;转来财气跟你走,