Part 1 Basics of PHP 5
Chapter 1 Overview of PHP 5 3
1.1 What is PHP 3
1.1.1 History of PHP 3
1.1.2 The advantages of PHP 4
1.1.3 The spirit of PHP 5
1.1.4 PHP and Web 2.0 6
1.2 The spirit of PHP 5 New features 6
1.2.1 New object-oriented mode 7
1.2.2 New object-oriented features 7
1.2.3 Other new features 10
1.3 PHP 5 extension library 11
1.3.1 XML extension 12
1.3.2 SPL 13
1.3.3 MySQLi extension 13
1.3.4 PDO database abstraction layer 13
1.3.5 JSON extension 13
1.4 PHP 5 external extension library 14
1.4.1 PECL extension 14
1.4.2 PEAR extension 14
1.5 Other updates for PHP 5 14
1.5.1 Zend Engine 2.0 14
1.5.2 New memory manager 14
1.5.3 Zend Optimizer and Zend Core 14
1.6 PHP and Web Server 15
1.6.1 Apache 15
1.6.2 Microsoft IIS 15
1.6.3 Other Web servers 15
1.7 PHP 5 installation and configuration 15
1.7.1 Apache environment installation under Win32 platform 16
1.7.2 Win32 IIS environment installation under the platform 36
1.7.3 Using integrated installation package under Win32 platform 39
1.7.4 FreeBSD platform 40
1.7.5 Linux platform 47
1.8 PHP configuration and preliminary optimization 49
1.9 Other issues to pay attention to 49
1.10 PHP development tools 50
1.11 Summary 53
Chapter 2 PHP 5 development basics 54
2.1 The first PHP script 54
2.2 Variables and expressions 55
2.2.1 Printing and output variables 55
2.2.2 Display arrays and objects 57
2.2.3 Data accuracy of variables 58
2.2.4 Variables of variables 59
2.2.5 Super global variables Array 59
2.2.6 Scope of variable 64
2.3 Variable type 64
2.3.1 Boolean variable 64
2.3.2 NULL data Type 65
2.3.3 Resource 65
2.3.4 Static variable 66
2.4 Variable operator 66
2.4.1 Arithmetic operator 67
2.4.2 Assignment operator 67
2.4.3 String operation 68
2.4.4 Prefix and postfix addition and subtraction 68
2.4.5 Reference operator 69
2.4.6 Ternary operator 69
2.4.7 Comparison operator 69
2.4.8 Boolean operator 70
2.4.9 Bit operators 70
2.4.10 Other operators 70
2.4.11 Variable and script processing 71
2.4.12 Data conversion 72
2.5 Constants 74
2.5.1 Definition of constants 75
2.5.2 PHP magic constants 75
2.6 PHP control structure 76
2.6.1 Branch statement 76
2.6.2 Loop structure 79
2.7 Inclusion control 83
2.7.1 include and require 83
2.7 .2 include_once and require_once 84
2.7.3 eval() 84
2.8 Function 85
2.8.1 PHP internal function 85
2.8.2 Abort the execution of the script: exit() and die() 85
2.8.3 User-defined functions 86
2.8.4 Function naming rules 86
2.8.5 The scope of the function 87
2.8.6 Returning the value from the function 87
2.8.7 Returning the referenced value 88
2.8.8 Transfer of function parameters 89
2.8.9 Static variables in functions 91
2.8.10 Function recursion 92
2.8.11 Function naming Duplicate solutions 92
2.8.12 Create your own function library 92
2.9 String operations 92
2.9.1 The difference between single quotes and double quotes 92
2.9.2 Manually escape string data 93
2.9.3 Automatically escape string data 93
2.9.4 String serialization 94
2.9.5 String sorting 96
2.9.6 Format string 96
2.9.7 String segmentation 96
2.9.8 String interception 97
2.9.9 Calculate string length 98
2.9.10 String word statistics 98
2.9.11 String search 99
2.9.12 String processing 101
2.10 Date and time 106
2.10.1 Timestamp 107
2.10.2 PHP date function 107
2.10.3 PHP time function 109
2.11 Network related processing 112
2.11.1 header() function 112
2.11.2 Processing URL string 114
2.11.3 Obtaining users Source 116
2.11.4 Obtain PHP environment information 117
2.12 Summary 117
Chapter 3 Regular expressions 118
3.1 Introduction to regular expressions 118
3.2 Regular expression function 118
3.3 POSIX regular expression 119
3.3.1 ^ and $ locators 119
3.3.2 POSIX quantifier 119
3.3.3 Square bracket expression 120
3.3.4 Predefined character cluster 121
3.3.5 POSIX regular expression function 121
3.4 PCRE regular expression function 123
3.4.1 PCRE character class 123
3.4.2 PCRE matching 123
3.4.3 PCRE regular expression function 124
3.5 Regular Expressions VS Functions 130
3.6 Creating BBCode 130
3.7 Summary 131
Chapter 4 PHP Arrays 132
4.1 what is Array 132
4.2 Type of array 133
4.2.1 Numeric index array 133
4.2.2 Associative array 133
4.3 Array construction 134
4.3.1 One-dimensional array 134
4.3.2 Two-dimensional array and multi-dimensional array 135
4.3.3 Multi-dimensional array 140
4.4 Quickly create an array 142
4.4.1 Use the range() function 142
4.4.2 Append data to the array 143
4.4.3 Modify the content of the array 143
4.5 Accessing and processing array contents 143
4.5.1 Numeric index array sorting 143
4.5.2 Associative array sorting 144
4.5.3 Array random selection shuffle() and
4.5.3 array_rand() 145
4.5.4 Count the number of occurrences of array elements 146
4.5.5 Array merging 147
4.5.6 Search Whether the key name in the array exists 147
4.5.7 Find whether the array value exists 147
4.5.8 Calculate the sum of the numerical elements in the array 148
4.5.9 Remove the array Duplicate element values in 148
4.5.10 Move the internal pointer of the array 149
4.5.11 Get the key name of the associated array 150
4.5.12 Access the key name and sum of the array Element 150
4.5.13 Determine the type of the array 150
4.5.14 Display the content and structure of the array 151
4.5.15 Remove the specified element in the array 153
4.5.16 Insert elements at the top of the array 153
4.5.17 Insert elements at any position in the array 154
4.5.18 Statistics of array elements count() and sizeof()
4.5.18 Function 155
4.5.19 Swap array key name and value array_flip()
4.5.19 Function 155
4.5.20 Right Array element grouping statistics array_values()
4.5.20 Function 155
4.5.21 Delete the first and last elements of the array 156
4.5.22 Delete the element at any position of the array 157
4.5.23 Change the array The content is exported as variable extract()
4.5.23 Function 159
4.6 Array traversal (using foreach) 159
4.6.1 Traversal of one-dimensional index array 160
4.6.2 Traversal of one-dimensional associative arrays 160
4.7 Use for statement to traverse array 161
4.8 Use for statement to implement tree menu 162
4.9 Array traversal list() and each() 164
4.10 Array reset reset() function 164
4.10.1 each() 164
4.10.2 list() 165
4.11 Comparison of array processing between foreach and for statements 165
4.12 Array content filtering 166
4.13 Summary 168
Part 2 PHP 5 core application and Specifications
Chapter 5 Forms - Processing User Input 170
5.1 Forms and HTML 170
5.2 Designing Forms 170
5.3 GET and POST Difference 171
5.4 Form elements 172
5.5 Form processing method 174
5.5.1 Check the source of form submission 174
5.5.2 A complete Form processing 175
5.6 Other methods of processing forms 177
5.6.1 Use import_request_variables()
5.6.1 Function 177
5.6.2 Use extract() function 178
5.7 Transfer data between multiple pages 179
5.8 Verify form data 179
5.8.1 Client verification 179
5.8. 2 Server-side verification 180
5.8.3 Avoid repeated submission of forms 180
5.8.4 Handling form expiration 181
5.8.5 Techniques for judging form actions 182
5.9 Form security 183
5.9.1 Handling global errors 183
5.9.2 Preventing SQL injection 186
5.10 Developing safe code 187
5.10.1 User input validation 187
5.10.2 Advanced data validation: using ctype 187
5.10.3 Data filtering - PECL filter extension 187
5.10. 4 input_get() function 189
5.10.5 Path detection 189
5.10.6 Magic quote magic_quotes_gpc 190
5.10.7 Other efficient solutions 190
5.11 Summary 191
Chapter 6 PHP Encryption Technology 192
6.1 MD5 Algorithm 192
6.2 SHA1 Algorithm 192
6.3 C racklib extension library 193
6.4 mcrypt extension and DES algorithm 193
6.4.1 mcrypt encryption extension 194
6.4.2 mcrypt encryption mode 194
6.4.3 mcrypt initialization vector 195
6.4.4 mcrypt encryption and decryption method 195
6.5 Summary 197
Chapter 7 PHP internationalization and localization 198
7.1 I18N and L10N 198
7.2 Character set and encoding 198
7.2.1 ASCII character set 199
7.2.2 ISO-8859 character set 199
7. 2. 3 ANSI encoding 199
7.2.4 GB2312 and GBK encoding 199
7.2.5 Unicode character set 200
7.2.6 Correct use of file encoding 201
7.3 Gettext function 201
7.3.1 Setttext 202
7.3.2 php_gettext function set 202
7.3.3 Write i18n program 202
7.3 7.3 .4 Set the gettext po file 203
7.4 System localization function family 205
7.4.1 setlocale function 205
7.4.2 Currency value localization 206
7.4.3 Use pc_format_currency() function 207
7.5 Iconv function 208
7.6 mbstring extension library 209
7.6.1 Using mbstring for string interception 209
7.6.2 Detecting string encoding 210
7.6.3 mbstring conversion encoding 210
7.7 Summary 211
Chapter 8 PHP Development Specifications 212
8.1 Code Structure 212
8.1.1 One Script Service All 212
8.1.2 Separate Display Logic 213
8.2 Good coding style and style 213
8.2.1 Code comments 214
8.2.2 Code indentation 214
8.2.3 Use necessary Spaces 215
8.2.4 SQL writing specifications 215
8.2.5 Control structure 216
8.2.6 Function naming 216
8.2.7 Class Naming convention 216
8.2.8 Tips for reducing errors 217
8.3 Summary 217
Chapter 9 PHP 5 Object-oriented Development 218
9.1 Oriented object Basics 218
9.2 PHP 5 Overview of Object-Oriented Programming 219
9.2.1 Class Encapsulation 219
9.2.2 Class Inheritance 219
9.3 Object 219
9.4 Creating and using classes 220
9.5 Class structure and definition 220
9.6 Member methods 220
9.7 Member variables and attributes 221
9.8 $this keyword 222
9.9 Constructor method 222
9.10 Destructor method 223
9.11 Class inheritance and polymorphism 224
9.11.1 Class inheritance - extends 224
9.11.2 Data hiding 226
9.11.3 Constraints on accessing member variables 226
9.11.4 Set access Member methods 227
9.11.5 Class constants 228
9.11.6 Static member variables 228
9.11.7 Static member methods 230
9.12 Object passing 230
9.13 Clone an object——clone 230
9.14 Comparison of objects 231
9.15 Detection of object type——instanceof 232
9.16 Clone an Member methods 232
9.17 Class polymorphism 233
9.18 parent:: and self:: keywords 234
9.19 Abstract methods and abstract classes 235
9.20 Interface implementation 237
9.21 Implementing multiple interfaces 238
9.22 final method 240
9.23 final class 240
9.24 Exceptions and exception handling 241
9.25 Declaring the type of class in the method 242
9.26 Overloading and polymorphism 242
9.27 Magic method 243
9.27.1 __get() and __set() method 243
9.27.2 __call() method 244
9.27.3 __sleep() and __wakeup() method 245
9.27.4 __toString () method 245
9.27.5 __autoload() method 246
9.28 Class mapping API Reflection 247
9.29 Summary 253
Chapter 10 PHP session Management 254
10.1 Overview 254
10.2 Cookie Management 254
10.2.1 What is Cookie 254
10.2.2 How Cookie Works 255
10.2.3 Cookie application development 255
10.2.4 A common Cookie class 259
10.2.5 Solution 260
10.3 Session management 261
10.3.1 What is Session 261
10.3.2 Session configuration 262
10.3.3 Session application 263
10.3.4 Session encoding and decoding 267
10.3.5 Saving arrays in Session 267
10.3.6 Saving objects in Session 268
10.3.7 Session access optimization 270
10.3.8 More Sharing Session under the server 271
10.3.9 Session Security 274
10.4 Summary 275
Chapter 11 PHP Input and Output Buffering 276
11.1 Introduction to Buffering Technology 276
11.2 Reading content from the buffer 277
11.3 Using callback function 278
11.4 Output callback function 278
11.5 Compressed content output 279
11.6 Summary 279
Chapter 12 File system and character stream 280
12.1 Files and paths 280
12.1 .1 Analyze the name and extension of a file 280
12.1.2 Use PHP’s own function to analyze the current
12.1.2 path 281
12.1.3 Display the relative path The real path of Last access and update
12.2.2 Time 282
12.2.3 fileperms()——File attributes and
12.2.3 Permissions 282
12.2 .4 Obtain the file owner (Owner) 282
12.3 Sequential reading and writing of files 282
12.3.1 File opening and writing 282
12.3.2 File output 284
12.3.3 Reading file content 285
12.4 Non-linear reading and writing of files 285
12.4.1 fseek() function 286
12.4. 2 ftell() function 286
12.4.3 rewind() function 286
12.4.4 parse_ini_file() function 287
12.5 Custom logging 288
12.6 Directory and disk operations 288
12.6.1 disk_free_space() - Count the remaining space of a certain
12.6.1 288
12.6.2 disk_total_space( )——Display logic
12.6.2 Disk capacity 289
12.6.3 getcwd()/chdir() function 289
12.6.4 opendir() and readdir () function 289
12.6.5 Implement directory reading of iterator interface 290
12.7 Character stream 291
12.7.1 Principles of streams and wrappers 292
12.7.2 PHP 5’s preset stream wrapper 292
12.7.4 Application of streams and wrappers 293
12.7.5 Filter and its application 295
12.7.6 Stream related functions 296
12.7.7 Create your own stream filter 298
12.8 Obtain HTTPS encrypted content 299
12.9 Create your own stream encapsulation Server 300
12.10 Summary 301
Part 3 MySQL 5 and PHP 5 Interface
Chapter 13 Web Database Design 303
13.1 Database and Database System Concept 303
13.2 Steps of database design 304
13.3 Table name and field name rules 305
13.4 Summary 306
Chapter 14 MySQL 5 database 307
14.1 Introduction to MySQL 307
14.2 Features of MySQL 5 308
14.2.1 Advantages of MySQL 5 308
14.2.2 Disadvantages of MySQL 5 308
14.2.3 MySQL 5 performance 308
14.3 MySQL database storage type 309
14.4 MySQL field type 310
14.5 MySQL character set and organization 311
14.5.1 Principles of MySQL 5 character set support 311
14.5.2 Methods of modifying MySQL character set 311
14.6 MySQL 5 application and management 312
14.6. 1 Log in to MySQL 312
14.6.2 Modify root management password 313
14.6.3 Create database 313
14.6.4 Change database storage path 313
14.6.5 MySQL permissions system 314
14.6.6 PHPMYADMIN Management Tools 317
14.7 MySQL Management Tools 324
14.8 Summary 324
Chapter 15 MySQL database data manipulation 32515.1 MySQL operation and SQL 32515.2 Retrieving data in the table 32815.2.1 SELECT statement 32815.2. 2 SELECT aggregate function 32915.2.3 Result set sorting 32915.2.4 Function 32915.2.5 Related query 32915.3 Advanced SQL technology 33115.3.1 Primary key 33115.3.2 Subquery 33215.3.3 Union query 33215.4 MySQL transaction processing and triggering Controller 33215.4.1 Stored process 33215.4.2 Trigger 33315.4.3 View 33315.4.4 PHP With MySQL character set 33415.5 Summary 335Chapter 16 PHP and MySQL database interface 336
16.1 MySQL extension for PHP5 and MySQL connection 336
16.2 Database query 337
16.3 Other functions for displaying record sets 339
16.4 MySQLi, the new interface between PHP 5 and MySQL 342
16.5 Smart selection of MySQL extensions 351
16.6 Summary 354
Chapter 17 PHP database abstract Layer 355
17.1 What is the database abstraction layer 355
17.2 Commonly used database abstraction layers 356
17.2.1 PEAR:DB 356
17.2.2 ADODB 357
17.2.3 Metabase 357
17.2.4 MDB 358
17.2.5 MDB2 358
17.2.6 Creole 359
17.2.7 PDO 359
17.2.8 PHPLib 359
17.3 PDO database abstract class 359
17.3.1 Introduction to PDO 359
17.3. 2 PDO installation 360
17.3.3 PDO connection database 360
17.3.4 Query using PDO 361
17.3.5 Error and exception handling 362
17.3.6 Get query results 364
17.4 ADODB 368
17.4.1 Use ADODB 368
17.4.2 ADODB installation 369
17.4.3 Start the inquiries of adodb 369
17.4.4 Adodb 370
17.4.5 mobile record set 370
17.4.6 to generate HTML 371
17.4.7 Use Adodb to paged 371
17.4.8 Generate drop -down selection menu 371
17.4.9 Adodb development example 371
17.5 phplib 383
17.5.1 Query using PHPLib 383
17.5.2 Create GetAll method 385
17.6 Summary 386
Part 4 PHP 5 Advanced and Skills
Chapter 18 Smarty and Template Technology 388
18.1 Introduction to MVC 388
18.2 Template System 389
18.3 Smarty Overview 389
18.3.1 Smarty Advantages 389
18.3.2 Smarty development features 390
18.4 Installing Smarty 390
18.5 Smarty development basics 392
18.5.1 The first template program 392
18.5.2 Compiled template 393
18.5.3 Smarty block 394
18.5.4 Smarty comment 394
18.5.5 Smarty variable and variable formatting 394
18.6 Smarty’s control structure 397
18.6.1 IF branch structure 397
18.6.2 Loop structure 399
18.6. 3 Smarty generates form elements 407
18.6.4 Smarty file contains 409
18.7 Smarty cache 410
18.8 In-depth Smarty development 410
18.8.1 register_function 410
18.8.2 register_block 411
18.8.3 register_modifier 411
18.8.4 Running PHP code within the template 411
18.8.5 Several Important template modifiers 412
18.8.6 Smarty reserved variables 413
18.8.7 Template configuration files 414
18.8.8 Smarty workbench 414
18.8.9 Smarty generates static pages 415
18.8.10 Create online calendar 415
18.8.11 Smarty and ADODB 416
18.9 Summary 418
Chapter 19 PHP and Ajax Technology 419
19.1 Introduction to Ajax 419
19.2 Ajax Features 420
19.3 Introduction to Xajax 420
19.4 Xajax How it works 420
19.5 Asynchronous update content 421
19.6 Asynchronous processing of form data 423
19.7 Add custom functions 424
19.8 Solve garbled characters 424
19.9 Smarty and Xajax 424
19.10 Summary 426
Chapter 20 Writing Shell with PHP 427
20.1 Introduction 427
20.2 P HP CLI Shell Script 427
20.2.1 The difference between CLI and CGI 427
20.2.2 CLI configuration parameters 427
20.3 PHP command line interface (CLI) 428
20.4 CLI command options 429
20.5 CLI development 430
20.6 CLI practical application 434
20.7 Summary 437
Chapter 21 PHP web development 438
21.1 Socket technology 438
21.1.1 Socket principle 438
21.1.2 Establish a connection 439
21.1.3 Send a request 439
21.1.4 Query Whois information 440
21.1.5 Create your own Socket server 441
21.2 Email 442
21.2.1 Email introduction 442
21.2.2 MTA and SMTP 442
21.2.3 PHP mail configuration 443
21.2.4 Email header 444
21.2.5 MIME 444
21.3 Using the mail() function 446
21.4 Using Socket to send emails 448
21.5 Obtaining remote content and automation 449
21.5.1 Using CURL 449
21.5.2 Using Snoopy class 451
21.5.3 FTP operation 453
21.5.4 PHP and network protocols 455
21.6 Summary 455
Chapter 22 PHP file upload 456
22.1 Introduction to file upload 456
22.2 Processing uploaded files 457
22.3 Processing multiple file uploads 461
22.4 Breaking through the upload memory limit 463
22.5 Summary 463
Chapter 23 Image and media processing 464
23.1 Using GD2 extension library 464
23.1 .1 Open a picture 465
23.1.2 Open a picture in any format 465
23.1.3 Display and save pictures 466
23.1.4 Picture conversion 467
23.1.5 Create text pictures 468
23.1.6 Draw graphics 469
23.1.7 Create verification code - CAPTCHA 470
23.1.8 Abbreviation Image processing 471
23.1.9 Create watermark image 473
23.2 Use Ming extension to create Flash 475
23.2.1 Create button 475
23.2.2 Static text 476
23.2.3 Dynamic text 477
23.2.4 Drawing graphics 478
23.2.5 Using pictures 479
23.3 Using ImageMagick 480
23.3.1 Introduction to ImageMagick 480
23.3.2 Install ImageWand 481
23.3.3 Read image content 481
23.3.4 Read image size 482
23.3.5 Image cropping 482
23.3.6 Generate image thumbnail 482
23.3.7 Convert image format 483
23.3.8 Control image rotation 483
23.3.9 Rescale image 484
23.3.10 Add rendering effect 484
23.3.11 Compress JPEG image 485
23.4 Summary 485
Chapter 24 XML and RSS 486
24.1 XML 486
24.1.1 Structure and definition of XML 486
24.1.2 XML and HTML 487
24.2 Create and parsing XML document 48824.2.1 Create a XML document 489
24.2.2 Use SAX parsing XML 490
24.2 .3 DOM 49224.2.4 SimpleXML 49624.3 RSS aggregation and parsing technology 49724.3.1 Introduction to RSS 49724.3.2 RSS 0.9 49724.3.3 RSS3 1.0 49824.3.4 RSS 2.0 49924.3.5 Atom 50124.4 XML Reader 503
24.5 XML and Smarty 50424.6 Summary 504Chapter 25 Web Services and SOAP 50525.1 Web Services 50525.1. 1 Overview of Web Services 50525.1.2 Characteristics of Web Services 50625.2 SOAP Message Body 50725.2.1 SOAP Envelope 50725.2.2 SOAP Header 50725.2.3 SOAP Fault 50725.2.4 Message Body (SOAP Body) 50825.3 SOAP configuration in PHP 50825.4 Using PHP to develop SOAP applications 50925.4.1 WSDL 509
25.4.2 Establishing a SOAP server 512
25.4.3 Establishing a SOAP client 513
25.5 Summary 513
Chapter 26 PHP and WAP technology 514
26.1 Introduction to WAP technology 514
26.2 WAP configuration 514
26.3 WAP page 514
26.3.1 Introduction to WAP page 515
26.3. 2 WAP page jump 515
26.3.3 Use WAP to create a login page 517
26.4 Smarty and WAP 521
26.5 Summary 522
Part 5 PHP 5 Debugging, Upgrading and Optimization
Chapter 27 Error and Exception Handling 524
27.1 Overview 524
27.2 Error Types 524
27.2.1 Programming errors 524
27.2.2 Undefined symbols 525
27.2.3 Lightweight errors 527
27.2.4 Errors generated by PHP 528
27.2.5 Error and exception handling 530
27.3 Summary 535
Chapter 28 Upgrading to PHP5 536
28.1 Introduction 536
28.2 Object reference 536
28.3 Constructing objects 537
28.4 get_class function 537
28.5 is_a() function and instance of 537
28.6 E_STRICT 538
28.6.1 Automatically create objects 538
28.6.2 var and public 538
28.7 Other compatibility issues 538
28.7.1 Command line interface 538
28.7.2 Upgrade of the old super global array 538
28.7.3 Function correction and function upgrade 539
28.8 Summary 539
Chapter 29 PHP optimization skills 540
29.1 PHP script-level optimization 540
29.1.1 require is faster than require_once 541
29.1.2 Do not repeat the wheel 541
29.2 Use code Optimization tools 542
29.3 Cache acceleration 543
29.3.1 Using eAccelerator 543
29.3.2 Using APC 545
29.4 HTTP acceleration 546
29.4.1 HTTP header information 546
29.4.2 Enable GZIP content compression 546
29.5 MySQL performance optimization 546
29.5.1 Add index 546
29.5.2 MySQL cache and performance tuning 547
29.6 MySQL log maintenance 549
29.7 Database external optimization 549
29.7.1 Server hardware optimization 549
29.7.2 Disk optimization 550
29.7.3 Operating system optimization 550
29.8 Using reverse proxy 550
29.9 Apache server optimization 551
29.10 Content compression and optimization 551
29.11 Distribution and load balancing 552
29.12 Summary 554
Part 2 Practical PHP5
Chapter 30 Example Development: Member Registration System 557
30.1 Overview 557
30.2 Page Process 557
30.2.1 User Registration Process 557
30.2.2 User Login Process 558
30.3 Database structure 558
30.4 UI and interface 561
30.5 Directory structure and file description 563
Chapter 31 Example development: Circle system development 571
31.1 Directory structure and file description 571
31.2 Page flow 571
31.2.1 Create circle 571
31.2.2 Manage circle 572
31.2.3 Join circles created by others 573
31.3 Database structure 573
31.4 UI and interface 576
Chapter 32 Example Development: Aiwen System 578
32.1 Overview 578
32.2 Page flow 578
32.3 Directory structure and file description 580
32.4 UI and interface 581
32.5 Database structure 585
Chapter 33 Example development: multi-user blog system 587
33.1 Overview 587
33.2 Directory structure and file description 587
33.3 Page Process 588
33.4 UI and interface 588
33.5 Database structure 589
33.6 Summary 591
Appendix A PHP online resources 592
Appendix B Zend Core installation 593
Appendix C PHP extension development 599
Appendix D MySQL character set and organization 601
Appendix E Code page and Charset comparison table 605
Appendix F Detailed explanation of php.ini configuration 606
Appendix G HTTP return code table (RFC2068) 626