Summary of PHP code specifications_PHP tutorial
Naming convention
Θ Class files are suffixed with .class.php, named using camel case, and the first letter is capitalized, such as Pay.class.php;
Θ Class name and directory_file name consistent. For example: the directory of the class name Zend_Autoloader is Zend/Autoloader.class.php;
Θ Use lowercase letters and underscores to name functions. For example: get_client_ip;
Θ method naming uses camel case, with the first letter lowercase or underscore "_", such as listComment(), _getResource(), usually methods starting with an underscore are private methods;
Θ attribute naming Use camel case, with the first letter lowercase or with an underscore "_", such as $username, $_instance. Usually attributes starting with an underscore are private attributes;
Θ Constants are named with uppercase letters and an underscore "_", such as "HOME_URL";
Common nouns
1> list nouns (singular), such as listApple, we know at a glance that we are reading a list of apples. We do not need to write getApples or listApples or readApples - because we stipulate that get Generally used to read a single data, such as getApple.listApples without adding s, we also know that it is a list of apples (make sure to shorten the variable naming as much as possible);
2>get noun (singular);
3>noun Total, which means The total number of something. Such as expenseTotal;
4>found: indicates whether a certain value has been found;
5>uccess or ok: whether an operation is successful;
6>done: whether a certain project is completed;
7> ;error: Whether an error occurred;
8>result: the returned result
Code reconstruction
1. Try to keep the code in the function or method body within one screen.
2. Unused methods in the class are randomly deleted.
3. Modify methods in other people’s classes and require a signature.
4. Write a readme file in each module (for more complex business descriptions or code descriptions).
5. Try to let each class do its own thing and each function do one thing.
Common codes
Use && or || to simplify operations
Before simplification:
$a=1;
$b = 0;
if(isset($a)){
$b=1;
print($b. "n");
}
if($b!=0){
print($b."n");
}
After simplified:
$a=1;
$b = 0;
isset( $a) && ($b=1) && print($b."n");
$b == 0 || print($b."n");
Obviously the code looks neater and simpler!
When judging "==", put the constant in front
:
$a = 1;
if($a = 1){
echo '$a == 1';
}
:
$a = 1;
if( 1 = $a){
echo '$a == 1';
}
Obviously, if the constant is placed in front, the compiler will be able to determine the error.
Formal format:
$a = 1;
if(1 = = $a){
echo '$a == 1';
}
Before lookup table method
:
/*Error code: 4,5,7,8 returns status 1, error code 1,3,6 returns status 2* /
$error = 4;
$state = 0;
if($error == 4 || $error == 5 || $error == 7 || $error == 8){
$state = 1;
}
if($error == 1 || $error == 3 || $error == 6){
$state = 2;
}
echo "$state n";
:
/*Error code: 4, 5, 7, 8 returns status 1, error code 1, 3, 6 returns status 2*/
$error = 4;
$state = 0;
$arr = array(4 => 1, 5 => 1, 7 => 1, 8 => 1, 1 => 2, 3 => 2, 6 => 2) ;
isset($arr[$error]) && ($state = $arr[$error]);
echo "$state n";
Obviously the code is more concise, clearer, easier to understand, and faster!
Summary
I originally wanted to put some design patterns in the code, but there were too many and it was not easy to put them. These are just the details!
If you have a better way to write it, you can leave a message.

PHPsessionscanstorestrings,numbers,arrays,andobjects.1.Strings:textdatalikeusernames.2.Numbers:integersorfloatsforcounters.3.Arrays:listslikeshoppingcarts.4.Objects:complexstructuresthatareserialized.

TostartaPHPsession,usesession_start()atthescript'sbeginning.1)Placeitbeforeanyoutputtosetthesessioncookie.2)Usesessionsforuserdatalikeloginstatusorshoppingcarts.3)RegeneratesessionIDstopreventfixationattacks.4)Considerusingadatabaseforsessionstoragei

Session regeneration refers to generating a new session ID and invalidating the old ID when the user performs sensitive operations in case of session fixed attacks. The implementation steps include: 1. Detect sensitive operations, 2. Generate new session ID, 3. Destroy old session ID, 4. Update user-side session information.

PHP sessions have a significant impact on application performance. Optimization methods include: 1. Use a database to store session data to improve response speed; 2. Reduce the use of session data and only store necessary information; 3. Use a non-blocking session processor to improve concurrency capabilities; 4. Adjust the session expiration time to balance user experience and server burden; 5. Use persistent sessions to reduce the number of data read and write times.

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHPidentifiesauser'ssessionusingsessioncookiesandsessionIDs.1)Whensession_start()iscalled,PHPgeneratesauniquesessionIDstoredinacookienamedPHPSESSIDontheuser'sbrowser.2)ThisIDallowsPHPtoretrievesessiondatafromtheserver.

The security of PHP sessions can be achieved through the following measures: 1. Use session_regenerate_id() to regenerate the session ID when the user logs in or is an important operation. 2. Encrypt the transmission session ID through the HTTPS protocol. 3. Use session_save_path() to specify the secure directory to store session data and set permissions correctly.

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita


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

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
