Debugging methods you should master when using ThinkPHP
I often see people asking questions such as what is the return data type of findAll, and I don’t know the reason for the error. In fact, you are still not familiar with the debugging methods and methods built into ThinkPHP. Putting aside the debugging methods that come with the IDE itself, if you are using or planning to use ThinkPHP for development, then you should use the following debugging-related methods. Understand and master:
1. Turn on the debugging mode DEBUG_MODE in the project configuration file, which will allow you to find most of the causes of errors. It may affect the output of verification code.
2. If you don’t want to use debugging mode, you can turn on page Trace display separately. I found that the reason why many people don’t want to use debug mode is actually because of the output of page trace information. In fact, there is a misunderstanding in this, thinking that debug mode must have page trace, but in fact, debug mode and page trace are not necessarily related, just because After turning on debugging mode, the system's default debugging configuration file will enable page Trace display, so you can define a separate debugging configuration file for the project.
3. Use the system-defined dump function. This method can output any type of variable information like var_dump, and is more convenient for viewing in the browser, for example:
Copy code The code is as follows:
$User = D("User");
$list = $User->findAll();
dump ($list);
4. The page Trace information can only display the sql statements executed on the current page, but cannot view the sql statements in the background operations executed in ajax mode, so you can also enable sql logs Record SQL_DEBUG_LOG to record each executed sql statement, and you can view the execution time of each sql statement. The sql log file is located under the Logs directory, and the daily sql logs are automatically distinguished by date.
5. Another is if you suspect that there is an error in the SQL execution after performing a certain data operation, you can use the
getLastSql method of the model class to view the last executed sql statement to analyze the specific error cause. For example:
Copy code The code is as follows:
$User = D("User");
$User- >id = 3;
$User->name = 'ThinkPHp';
$User->save();
echo $User->getLastSql();
// Output update think_user set name='ThinkPHP' where id=3;
6. When you need to debug the running time of a certain piece of code, you can use the debug_start($label) and debug_end(( $label) method, for example:
Copy code The code is as follows:
debug_start('demo');
/ / Here is your code snippet....
debug_end('demo');
http://www.bkjia.com/PHPjc/327678.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327678.htmlTechArticleDebugging methods you should master when using ThinkPHP I often see people asking questions such as what is the return data type of findAll? , and the situation where something goes wrong and I don’t know the reason, actually there is still nothing...