Home  >  Article  >  Backend Development  >  Common functions for php arrays

Common functions for php arrays

高洛峰
高洛峰Original
2016-11-30 10:18:49926browse

The code is as follows:
/*
* Encapsulation: one of the three major characteristics of object-oriented
*
* 1. It is to combine the members (properties, methods) of the object into an independent and identical unit, and try to May hide internal details of the object
* Access permission modifier public protected private
* private: private, members modified with this keyword can only be accessed within the object (only accessed with $this)
*
* Properties can be encapsulated :
* As long as a variable needs to be used in multiple methods, declare this variable as a member attribute, which can be used directly in all methods in this object
*
* Member attribute is equivalent to a global variable in this object
*
* Member attributes will be used in methods. Changes in member attribute values ​​​​actually change the execution behavior of the method, that is, change the function of the object
*
* If the value of the member attribute is abnormal, the function of the method execution will be changed. Abnormal
*
* Function: No need to change or read its value outside the object
* 1. Encapsulate
* and then provide a public method (the object member attributes can be controlled by assigning and taking values ​​through the method)
*
*
* Methods can also be encapsulated
*
* Function:
* 1. Use private modification so that it can only be used internally
*
* 2. There are 100 methods in a class, 95 of which are encapsulated (for others 5 service methods), only 5 methods can be used
*
* 100 member attributes, all let the value be obtained, and the value cannot be changed; or the value can only be changed, but the value cannot be obtained // In this case, use the following method More convenient
* Magic methods related to encapsulation:
*
* __set();//It is a method that is automatically called when directly setting [private] member attribute values ​​
* __get();//It is to directly obtain [private] ] member attribute value, the method is automatically called
* __isset();//It is to directly use isset() to check whether the private attribute in the object exists, and this method is automatically called
* __unset();//It is to use unset directly () Method automatically called when deleting private attributes in an object
*
*
*
*
*
*
*
*/
class Person{
//x encapsulates member attributes and does not need to be changed outside the object
private $name;
private $age;
private $sex;
private __unset($proName){
unset($this->$proName);
}
//When directly checking whether the private attribute in the object exists, automatically Call this method
//Use of __isset($proName), $proName represents the attribute name
private function __isset($proName){
return isset($this->$proName);//isset() returns whether it exists
}
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
//When getting a private member attribute, this method is automatically called
private function __get($proName)
{
//Control the value obtained
if($proName=="age"){
if($this -age>40)
return $this->age-10;
}
return $this->$proName;
}
//When setting private member attributes, this method is automatically called
private function __set( $proName,$proValue){
//$proName represents the member attribute name, $proValue represents the member attribute value
//Control the setting range
if($proName=="age"){
if($proValue > 100 | | $proValue<0)
return;
}
$this->$proName=$proValue;
}
//Provide public methods to set the value of member attributes
function setAge($age){
//Control age Range, increase security
if($age > 100 || $age < 0 )
return;
$this->age=$age;
}
//Provide public methods to obtain the value of member attributes
function getAge(){
//Control the range of age
if($this->age < 30)
return $this->age;
else if($this->age<40)
return $this->age-5;
else if($this->age<50)
return $this->age;
else
return $this->age-15;
Provide public methods to}
function say(){
echo "My name: {$this->name}, my age: {$this->age}, my surname: {$this->sex}< br>";
//Access the encapsulated run() method
$this-run();
}
private function run(){
echo '111111111111
'
}
function eat(){
}
//Destruction method
function __destruct(){
}
}
$p1=new Person("zhangsan",25,"male");
$p2=new Person;
$p3=new Person;
//$p1->age=-50;//Because age can be accessed from the outside at will, the member attributes are encapsulated for security.
$p1->setAge(30);//Set the member attribute value through the method
$p1->getAge();//Get the member attribute value through the method
//By adding the magic method_ _set($proName,$proValue) __get($proName), you can directly call member attributes
$p1->say();//You can call
$p1->run();//Private method Cannot be called directly
//Delete the name in $p1
unset($p1->name);
//Determine whether the name exists
if(isset($p1->name)){
echo "Exists< br>";
}else{
echo "There is no such member
";
}
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn