


Overview of ThinkPHP debugging mode and logging, thinkphp logging_PHP tutorial
Overview of ThinkPHP debugging mode and logging, thinkphp logging
This article describes how to use ThinkPHP debugging mode and logging. This function plays a very important role in the development of ThinkPHP projects, and it is necessary to understand and master it. The specific method is as follows:
1. It can be set in config.php, and it is closed by default.
How to enable it:
'APP_DEBUG' => true
Open the ThinkPHPCommondebug.php file to view the default debug settings as follows:
return array( 'LOG_RECORD'=>true, // 进行日志记录 'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允许记录的日志级别 'DB_FIELDS_CACHE'=> false, //数据库字段缓存 'SHOW_RUN_TIME'=>true, // 运行时间显示 'SHOW_ADV_TIME'=>true, // 显示详细的运行时间 'SHOW_DB_TIMES'=>true, // 显示数据库查询和写入次数 'SHOW_CACHE_TIMES'=>true, // 显示缓存操作次数 'SHOW_USE_MEM'=>true, // 显示内存开销 'SHOW_PAGE_TRACE'=>true, // 显示页面Trace信息 由Trace文件定义和Action操作赋值 'APP_FILE_CASE' => true, // 是否检查文件的大小写 对Windows平台有效 );
Note: DB_FIELDS_CACHE database field cache is turned off by default. If it is turned on, a file cache will be generated in the RuntimeData folder. After modifying the table, if a new field is added, this cache cannot record your operations and we need to manually Modifications to the table will be successful only after deleting it once.
After setting 'APP_DEBUG' => true, the DEBUG prompt as shown below will appear on the access page:
If you only want to display part of the prompt information, such as running time, memory overhead, etc.,
You can make corresponding settings in config.php, such as:
//'APP_DEBUG' => true, // 调试模式开关 'SHOW_RUN_TIME' => true, //运行时间显示 'SHOW_ADV_TIME' => true, //显示详细的运行时间 'SHOW_DB_TIMES' => true, //显示数据库的操作次数 'SHOW_CACHE_TIMES'=>true, //显示缓存操作次数 'SHOW_USE_MEM' => true, //显示内存开销
The prompt information is as shown below:
2. Customization of page Trace information: ThinkPHPTplPageTrace.tpl.php
Customized method one: add a trace.php file in the same directory as config.php, the code is as follows:
<?php return array{ '当前的server信息'=>$_SERVER['REMOTE_ADDR'], }; ?>
Customized method two: add:
in the Action method$this->trace('调试测试','5211314');
3. Output debugging method:
halt('aaaaaaa');//输出aaaaaa并且中断程序执行
4. Model debugging: display SQL statements
$User=new Model('User'); $User->find(1); echo $User->getLastSql();//输出最后执行的一条SQL语句
5. Logging ThinkPHPLibThinkCoreLog.class.php
Set in config.php
'LOG_RECORD'=>true,//开启了日志记录 'LOG_RECORD_LEVEL'=>array('EMERG','ALERT','ERROR'),
I hope the method described in this article will be helpful to everyone.
Logging\ThinkPHP\Lib\Think\Core\Log.class.php
1. It can be set in config.php, and it is turned off by default. 'APP_DEBUG' => true
Open the \ThinkPHP\Common\debug.php file to view the default settings of debug as follows:
return array(
'LOG_RECORD'= >true, // Perform logging
'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO' ,'DEBUG','SQL'), // Allowed logging level
'DB_FIELDS_CACHE'=> false, //Database field cache
'SHOW_RUN_TIME'=>true, // Run Time display
'SHOW_ADV_TIME'=>true, // Display detailed running time
'SHOW_DB_TIMES'=>true, // Display number of database queries and writes
'SHOW_CACHE_TIMES'=>true , // Display the number of cache operations
'SHOW_USE_MEM'=>true, // Display memory overhead
'SHOW_PAGE_TRACE'=>true, // Display page Trace information is defined by the Trace file and assigned by the Action operation
'APP_FILE_CASE' => true, // Whether to check the case of the file is valid for Windows platform
);
Note: DB_FIELDS_CACHE database field cache is turned off by default. If it is turned on, it will be executed at Runtime A file cache is generated in the \Data folder, and after modifying the table, if a new field is added, this cache cannot record your operations. We need to manually delete it once before the table modification can be successful.
After setting 'APP_DEBUG' => true, the DEBUG prompt as shown below will appear on the access page:
If you only want to display part of the prompt information, such as running time, memory overhead, etc.,
You can make corresponding settings in config.php, such as:
//'APP_DEBUG' => true, // Debug mode switch
'SHOW_RUN_TIME' => true , //Display running time
'SHOW_ADV_TIME' => true, //Display detailed running time
'SHOW_DB_TIMES' => true, //Display number...Remaining full text>>
Zhang Haibo
[authoritative expert]
Let me tell you the answer!
No problem, you create an IndexAction.class.php file in Admin/Lib/Action,
display();
}
}
Then create an Index folder in Admin/Tpl, and just create an index.html file in this folder

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


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

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.

SublimeText3 English version
Recommended: Win version, supports code prompts!

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.

Dreamweaver CS6
Visual web development tools

Atom editor mac version download
The most popular open source editor
