PHP 中的私有
关键字是在程序中用作保留的单词,并赋予它们特殊的含义。它们可以是命令或参数。与所有其他编程语言一样,PHP 也有一组称为关键字的特殊单词,它们不能用作其他目的的变量名称。它们也被称为保留名称。
广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
私有关键字,顾名思义,是只能从定义它的类中访问的关键字。所有关键字默认都属于公共类别,除非它们被指定为私有或受保护。私有关键字通过为整个代码中的关键字提供最少的可见性来帮助实现安全目的。当只有一个类调用此关键字时,折射也更容易。
除了私有关键字之外,还可以有私有方法。在面向对象编程中,方法是与任何类关联的过程集。对于私有方法,只能在属于同一类或其模块的方法中调用它们。
还有可以声明的私有常量和属性。在这些情况下,可见性仅限于它们的类之间,而不是实例之间。如果两个对象属于同一类型,则一个对象可以调用另一个对象的私有方法。
语法:
任何变量、属性或方法都可以通过在其前面加上“private”关键字来声明为私有。
class MyClass() { private variable_name; private Method_name(); private $priv = 'Private property'; }
私有财产示例
让我们通过以下示例来了解 PHP 中私有财产的工作原理:
代码:
<?php /** * Definition of PHPExample */ class PHPExample { public $public = 'Public property'; protected $protected = 'Protected property'; private $private = 'Private property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; echo "\n"; } } $val = new PHPExample(); echo $val->public; // Public will work without any error echo "\n"; echo $val->protected; // Uncaught Error: Cannot access protected property PHPExample::$protected in /workspace/Main.php:21 echo $val->private; // Uncaught Error: Cannot access private property PHPExample::$private in /workspace/Main.php:22 $val->displayValue(); // Displays all 3 Public, Protected and Private properties /** * Definition of PHPExample2 */ class PHPExample2 extends PHPExample { // It supports redeclaration of public and protected properties and not private public $public = 'Public2 property'; protected $protected = 'Protected2 property'; function displayValue() { echo $this->public; echo "\n"; echo $this->protected; echo "\n"; echo $this->private; //Undefined property: PHPExample2::$private in /workspace/Main.php on line 39 } } $val2 = new PHPExample2(); echo $val2->public; // Public will work without error echo "\n"; echo $val2->protected; // Fatal Error echo $val2->private; // Undefined property: PHPExample2::$private in /workspace/Main.php on line 46 $val2->displayValue(); // Shows Public2, Protected2, Undefined ?>
输出 1:
输出 2:在第 23 行评论后。
输出 3:在第 24 行评论后。
输出 4:对第 46、47 和 40 行进行评论后。
对上面代码的解释:当你完全运行这段代码时,你一定会在一些行号处遇到致命错误,比如第25,26,45,52,53行。我们首先在主类 PHPExample 中声明所有 3 个属性 public、private 和 protected,以显示它们各自的单词。内联 25,我们尝试访问 PHPExample 类的所有 3 个属性。由于私有和受保护的示例无法在其类之外访问,因此我们在输出中收到如图所示的致命错误,并且仅显示公共属性。
在代码的后半部分,我们声明了另一个类 PHPExample2,我们在其中重新声明受保护和公共属性的显示值。私人不允许这样做,然后我们执行与上半场相同的动作。由于我们试图调用此处未声明的私有属性,因此我们收到未定义属性错误。
私有方法和关键字示例
让我们通过以下示例来了解 PHP 中私有方法和关键字的工作原理:
代码:
<?php class NameExample { // Declaring first name as private value private $first_name; // Declaring last name as private value private $last_name; public $public = 'Displaying from public method'; private $private ='Displaying from private method'; // private function for setting the value for first_name private function fName($first_name) { $this->$first_name = $first_name; echo $this -> private; } // public function for setting the value for last_name public function lName($last_name) { $this->$last_name = $last_name; echo $this -> public; } // public function to display full name value public function dispName() { echo "My name is: " . $this->$first_name . " " . $this->$last_name; } } // Creating a new object named $arun of the class $arun = new NameExample(); // trying to access private class variables $arun->$first_name = "Arun"; // invalid $arun->$last_name = "Sharma"; // invalid // calling the public function to set $first_name and $last_name $john->fName("John"); $arun->lName("Wick"); // $arun-> dispName(); ?>
输出 1:
输出 2: 注释第 32、33 和 36 行后。
上述代码说明:在上面的示例中,$first_name 和 $last_name 被声明为类 NameExample 的私有变量,因此不能使用类对象直接调用它们。因此,当我们第一次尝试运行代码时,我们会收到错误“未定义的变量:第 32 行 /workspace/NameExample.php 中的first_name”,第 33 行也是如此。当我们评论这两行并再次运行代码时我们收到错误“未捕获错误:在 /workspace/NameExample.php:36 中的 null 上调用成员函数 name()”。
这是因为我们已将函数 fName 声明为私有,并且它正在尝试访问该函数。当第 36 行也被注释并从方法名称显示时,代码运行顺利,因为它是公共方法。
在 PHP 中使用 Private 的优点
以下是在 PHP 中使用 Private 的优点:
- 私有变量仍然可以通过使用“getters”和“setters”来访问,这使编码人员可以更好地控制访问数据。
- 私有反过来意味着封装,它将变量从一个类分离到另一个类,从而保护对类内部所做的更改。
- 私有变量的行为被限制在特定的类内,也避免了混乱。
- 私有变量可以轻松地重新实现,而不会有在任何地方破坏代码的风险。
PHP 私人规则和规定
以下是 PHP 中 Private 需要遵循的规则和规定:
- 对于任何变量成员或方法,必须始终声明其范围,无论它属于公共、受保护还是私有。
- 按照方法的顺序,应该遵循以下顺序:public,>受保护>私人
- 私有变量无法从通过从声明它们的主类扩展来声明的子类中访问。但是,如果在子类中再次声明相同的私有属性,则可以访问它,但不建议这样做。
- 因此,在类中声明的私有方法只能在该类内部调用。
结论
私有是一种限制类的变量、方法或属性的可访问性的方法。它们只能在声明它们的类中访问,而不能从其扩展的任何子类中访问。父类中的任何受保护属性都可以被子类覆盖并公开,但不能设为私有。
以上是PHP 中的私有的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。
