##2 Static properties and static methods
1. static ① You can modify attributes and methods, which are called static attributes and static methods respectively, also called class attributes and class methods; name directly. Use the "class name :: $ static attributes", "class name :: static method ()" Person :: $ sex; person ::); ③ Static attributes, methods, in It is declared when the class is loaded. Preliminate to the object; ④ Static method, non -static attributes or methods cannot be called; Non -static method, you can call static attributes or methods; Generated, rather than a static attribute method, no instantiation has been born yet) ⑤ In a class, you can use the self keyword to refer to the class name. Class Person { Static $ Sex = "nan"; Function say () { Echo Self :: $ sex; } ⑥ Static attributes are shared. That is to say, many new objects also share the same attribute.
2. final ① final modified class, this class is the final class and cannot be inherited; ② final modified method, this method is the final method and cannot be overridden! ③ Final properties cannot be modified. 3. const keyword; When declaring constants in a class, you cannot use the define() function! You must use the const keyword. and define () are similar to the state, the const keyword declaration cannot be brought with $, and all of them must be uppercase! Once a constant is declared, it cannot be changed. When calling, it is the same as static, using the class name Person:: constant. [Small summary] Several special operators 1. . can only connect strings; ""."" 2. => declares that the array is associated with the key and value [" key"=>"value"] 3. -> Object (object generated by $this new) uses member attributes and member methods. 4. : : ① Use the parent keyword to call the method of the same name in the parent class; parent::say(); ② Use the class name (and self) to call the static properties, static methods, and constant.
##3 Single interest mode in PHP (monomorphic mode )
Simple interest mode is also called monomorphic pattern by because it can be guaranteed that a class can only have one object instance. Implementation points: ① The constructor is privatized, and it is not allowed to use the new keyword to create objects. ② Provide external methods to obtain objects. In the method, determine whether the object is empty. If it is empty, create the object and return it. If it is not empty, put it back directly. ③ The attributes of the instance object and the methods of the past objects must be static. ④ After that, you can only use the static methods we provide to create objects. $s1 = Singleton::getSingle();
##4 Serialization and Deserialization (Serialization ization and deserialization)
1. Serialization: The process of converting an object into a string through a series of operations is called serialization; The process of converting a string into an object is called deserialization; 3. When is serialization used? ① When the object needs to be transmitted in the network; ② The object needs to be saved for a long time in the file or database; 4. How to achieve the serialization and anti -stringing of the object? Serialization: $str = serialize($duixiang); Deserialization: $duixiang = unserialize($str); when executing When the object is serialized, the __sleep() function will be automatically executed; ② The __sleep() function is required to return an array. The values in the array are attributes that can be serialized; attributes that are not in the array cannot be Serialization; Function __sleep () { Return Array ("name", "Age"); // Only name/Age can be serialized } 6, __ wakeupup ()Magic method: ① When deserializing an object, the __wakeup() method is automatically called; ② When called automatically, it is used to re-copy the new object attributes generated by deserialization; function __wakeup(){
5 Constraint type
1. Type constraint: refers to adding a data type before a variable to constrain that the variable can only store the corresponding data type. (This operation is common in strongly typed languages. In PHP, only Can realize type constraints of arrays and objects) 2. If the type constraint is a certain class, this class and subclass objects of this class can pass; 3. In PHP, type Constraints can only occur in formal parameters of functions. class Person{} class Student extend function func(Person $p){ //Constraint function parameters, only accept Person class and Person subclass echo " 111 " Echo $ P-& GT; name; } Func (New Person ()); √ Func (New Student ()); √ Func (" 111 " );
##6 Summary of magic methods
## 1 , __construct(): Constructor, automatically called when new an object 2. __destruct(): Destructor, automatically called before an object is destroyed 3. __get(): Access private information in the class attribute, automatically called. Pass the read attribute name and return $this->Attribute name 4. __set(): Automatically called when assigning a value to a private attribute of the class. Pass the attribute name and attribute value that need to be set 5. __isset(): Automatically called when using isset() to detect the private attributes of the object. Pass the detected attribute name and return isset($this->attribute name); 6. __unset(): Automatically called when using unset() to delete the object's private attributes. Pass the deleted attribute name, and execute unset($this->attribute name) in the method; | 7. __toString(): Automatically called when using echo to print the object. Return the actual content when you want to print the object; the return must be a string; 8. __call(): Automatically called when calling an undefined or unpublicized method in a class. Pass the called function name and parameter list array; 9. __clone(): Automatically called when cloning an object using the clone keyword. The function is to initialize and copy the newly cloned object; 10. __sleep(): Automatically called when the object is serialized. Returns an array whose values are serializable properties. 11. __wakeup(): Automatically called when the object is deserialized. To deserialize the newly generated object, perform initialization copy; 12. __autoload(): The function needs to be declared outside the class. Automatically called when instantiating a live class. By passing the instantiated class name, the corresponding class file can be automatically loaded using the class name.
There may be some errors in the notes taken while studying, and you are welcome to criticize and give me some advice.
Reflect, review, gain a little bit every day--------------------- Looking forward to a better self
|
|
|