


Detailed explanation of inherited access type control of classes in PHP objects
Type of Access control Allows developers to restrict access to members in a class by using modifiers. This is a new feature of PHP5 and an important feature in OOP languages. Most OOP languages already support this feature. PHP5 supports the following three access modifiers, two of which we have introduced in class encapsulation. To summarize here, Access control modifiers include public (public, default), private (private) and protected (protected). Their functions and the differences between them are shown in the following table:
①Public access modifier public
Use this With this modifier, the members in the class will have no access restrictions, and all external members can access the members in this class. In all versions before PHP5, the members of the class in PHP are public.
②Private access modifier private
When a member of a class is defined as private, there are no access restrictions for all members of the same class, but for the External code of the class is not allowed to change or even operate, and subclasses of the class cannot access private-modified members. The code is as follows:
<?php //声明一个类作为父类使用,将它的成员都声明为私有的 class MyClass { private $var1=100; private function printHello(){ echo "hello<br>"; } } //声明一个Myclass类的子类师徒访问父类中的私有成员 class MyClass2 extends MyClass{ function useProperty(){ echo "输出从父类继承过来的成员属性值".$this ->var1."<br>"; $this ->printHello(); } } $subObj = new MyClass2(); $subObj -> useProperty(); //调用子类对象中的方法实现对父类私有成员的访问 ?>
In the above code, a class MyClass is declared, a private member attribute and a private member method are declared in the class, and A class MyClass2 is declared to inherit the class MyClass, and the private members in the parent class are accessed in the subclass MyClass2. But the private members in the parent class can only be used in its own class, so the access error occurs.
③Protected access modifier protected
Members modified as protected have access to subclasses of this class and subclasses of subclasses Permissions allow you to read and write properties and methods. But it cannot be accessed by external code of this class, and external code of this subclass does not have additional permissions to its properties and methods. By changing the access rights of the parent class in the above example to protected, the members of the parent class can be accessed in the subclass, but they cannot be accessed outside the class, so the purpose of encapsulating the object can also be completed. The code is as follows:
<?php class MyClass { protected $var1=100; protected function printHello(){ echo "hello<br>"; } } //声明一个Myclass类的子类师徒访问父类中的保护成员 class MyClass2 extends MyClass{ function useProperty(){ echo "输出从父类继承过来的成员属性值".$this ->var1."<br>"; $this ->printHello(); } } $subObj = new MyClass2(); $subObj -> useProperty(); //调用子类对象中的方法实现对父类私有成员的访问 echo $subObj ->var1; //试图访问类中受保护的成员,结果出错 ?>In the above example, the members in the class MyClass are set to protected using the protected modifier, and they can be accessed directly in the subclass. But it is an error to access protected modified members outside the subclass.
The above is the detailed content of Detailed explanation of inherited access type control of classes in PHP objects. For more information, please follow other related articles on the PHP Chinese website!

Thedifferencebetweenunset()andsession_destroy()isthatunset()clearsspecificsessionvariableswhilekeepingthesessionactive,whereassession_destroy()terminatestheentiresession.1)Useunset()toremovespecificsessionvariableswithoutaffectingthesession'soveralls

Stickysessionsensureuserrequestsareroutedtothesameserverforsessiondataconsistency.1)SessionIdentificationassignsuserstoserversusingcookiesorURLmodifications.2)ConsistentRoutingdirectssubsequentrequeststothesameserver.3)LoadBalancingdistributesnewuser

PHPoffersvarioussessionsavehandlers:1)Files:Default,simplebutmaybottleneckonhigh-trafficsites.2)Memcached:High-performance,idealforspeed-criticalapplications.3)Redis:SimilartoMemcached,withaddedpersistence.4)Databases:Offerscontrol,usefulforintegrati

Session in PHP is a mechanism for saving user data on the server side to maintain state between multiple requests. Specifically, 1) the session is started by the session_start() function, and data is stored and read through the $_SESSION super global array; 2) the session data is stored in the server's temporary files by default, but can be optimized through database or memory storage; 3) the session can be used to realize user login status tracking and shopping cart management functions; 4) Pay attention to the secure transmission and performance optimization of the session to ensure the security and efficiency of the application.

PHPsessionsstartwithsession_start(),whichgeneratesauniqueIDandcreatesaserverfile;theypersistacrossrequestsandcanbemanuallyendedwithsession_destroy().1)Sessionsbeginwhensession_start()iscalled,creatingauniqueIDandserverfile.2)Theycontinueasdataisloade

Absolute session timeout starts at the time of session creation, while an idle session timeout starts at the time of user's no operation. Absolute session timeout is suitable for scenarios where strict control of the session life cycle is required, such as financial applications; idle session timeout is suitable for applications that want users to keep their session active for a long time, such as social media.

The server session failure can be solved through the following steps: 1. Check the server configuration to ensure that the session is set correctly. 2. Verify client cookies, confirm that the browser supports it and send it correctly. 3. Check session storage services, such as Redis, to ensure that they are running normally. 4. Review the application code to ensure the correct session logic. Through these steps, conversation problems can be effectively diagnosed and repaired and user experience can be improved.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Zend Studio 13.0.1
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Atom editor mac version download
The most popular open source editor
