PHP object-oriented study notes one Basic concepts_PHP tutorial
1> if( "false" ) is equivalent to if( true), because a non-empty string is true
2> Check the data type:
is_array();
is_object();
is_string ();
is_null();
is_integer();
3> PHP5 introduces class type hints (type hints), which are used to constrain the parameter type of a method (not the basic data type, but the class ): Put the class name before the method parameters that need to be constrained.
For example: function write( ShopProduct $shopProduct){}
4> instanceof operator: If the object of the left operand is the right operand The type shown, the result is true
For example: if( $shopProduct instanceof BookProduct ) {}
5> Inherit class son extends parent{}
To call the method of the parent class, such as the constructor , use parent::__construct();
6> Static methods and properties
class StaticExample{
static public $a;
static public function hello(){}
}
External access uses::
For example: print StaticExample::$a;
Internal access uses self::
For example: self::$a;
7> Abstract class , abstract method
abstract class xxx{
...
abstract function write(); //No {}
}
Subclasses of abstract classes must re-declare methods and Implementation. The access control of newly implemented methods cannot be stricter than the access control of abstract methods.
8>Interface interface
only defines functions and does not include implementation. The interface can contain attribute and method declarations, But the method body is empty;
For example: interface a{
public function b();
}
Any class that implements an interface must implement all methods defined in the interface, otherwise it must be abstract Class.
A class uses implements in the declaration to implement an interface.
class Shop implements a{
public function b(){
...
}
}
9> exception exception
PHP5 introduces exception class
10> interceptor interceptor
__get($property); is called when accessing undefined properties
__set($property ,$value); Called when assigning a value to an undefined property
__isset($property); Called when using isset() for an undefined property;
__unset($property); Called for an undefined property Called when unset() is called;
__call($method, $arg_array); Called when an undefined method is called
Example: Implementation of __get()
function __get($property){
$method="get{$property}";
if(method_exists($this ,$method)){
return $this->$method();
}
}
function getName(){ return "Bob";}
function __isset($property){
$method="get{$porperty}";
return(method_exists($this, $method));
}
function __set( $property, $value){
$method="set{$property}";
if( method_exists($this,$method)){
return $this->$method($value ; 🎜>class CopyMe();
$first= new CopyMe();
$second=$first;
// PHP4: $first and $second are two completely different objects;
In PHP5, object assignment and transfer are references.
If you want to copy, you need to use: $second= clone $first; //Now $ first and $second are two completely different objects, (by_value copy)
If you want to control copying, you must implement a special method __clone()
13> Automatic loading: __autoload()
PHP5 introduces the __autoload() interceptor method to automatically include class files. When PHP encounters an operation that attempts to instantiate an unknown class, it will try to call the __autoload() method and pass the class name as a string parameter. Give it.
For example a very simple automatic positioning and inclusion strategy:
function __autoload( $classname){
include_once "$classname.php";
}
== ==================
14>Use string to dynamically reference classes
Copy code
Code As follows:
$classname="Task";
require_once("tasks/{$classname}.php);
Copy code
The code is as follows:
class_exist(); //Check whether the class exists
get_declared_classes(); //Get all classes defined in the current script process ( Returned in array form)
16> Reflection API
consists of a series of built-in classes that can analyze properties, methods, classes and parameters, and can dynamically obtain information and dynamically call methods.

PHPsessionstrackuserdataacrossmultiplepagerequestsusingauniqueIDstoredinacookie.Here'showtomanagethemeffectively:1)Startasessionwithsession_start()andstoredatain$_SESSION.2)RegeneratethesessionIDafterloginwithsession_regenerate_id(true)topreventsessi

In PHP, iterating through session data can be achieved through the following steps: 1. Start the session using session_start(). 2. Iterate through foreach loop through all key-value pairs in the $_SESSION array. 3. When processing complex data structures, use is_array() or is_object() functions and use print_r() to output detailed information. 4. When optimizing traversal, paging can be used to avoid processing large amounts of data at one time. This will help you manage and use PHP session data more efficiently in your actual project.

The session realizes user authentication through the server-side state management mechanism. 1) Session creation and generation of unique IDs, 2) IDs are passed through cookies, 3) Server stores and accesses session data through IDs, 4) User authentication and status management are realized, improving application security and user experience.

Tostoreauser'snameinaPHPsession,startthesessionwithsession_start(),thenassignthenameto$_SESSION['username'].1)Usesession_start()toinitializethesession.2)Assigntheuser'snameto$_SESSION['username'].Thisallowsyoutoaccessthenameacrossmultiplepages,enhanc

Reasons for PHPSession failure include configuration errors, cookie issues, and session expiration. 1. Configuration error: Check and set the correct session.save_path. 2.Cookie problem: Make sure the cookie is set correctly. 3.Session expires: Adjust session.gc_maxlifetime value to extend session time.

Methods to debug session problems in PHP include: 1. Check whether the session is started correctly; 2. Verify the delivery of the session ID; 3. Check the storage and reading of session data; 4. Check the server configuration. By outputting session ID and data, viewing session file content, etc., you can effectively diagnose and solve session-related problems.

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

Configuring the session lifecycle in PHP can be achieved by setting session.gc_maxlifetime and session.cookie_lifetime. 1) session.gc_maxlifetime controls the survival time of server-side session data, 2) session.cookie_lifetime controls the life cycle of client cookies. When set to 0, the cookie expires when the browser is closed.


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

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
