ThinkPHP is a free and open source, fast and simple object-oriented lightweight PHP development framework. It is released under the Apache2 open source agreement and was born for agile WEB application development and simplified enterprise-level application development. It has many excellent functions and features. After more than three years of development, with the active participation of the community team, it has been continuously optimized and improved in terms of ease of use, scalability and performance. Numerous typical cases ensure that it can be stably used in commercial applications. and portal-level development.
ThinkPHP draws on many excellent foreign frameworks and models, uses object-oriented development structure and MVC model, adopts single entry model, etc., and integrates Struts' Action ideas and JSP's TagLib (tag library), RoR's ORM mapping and ActiveRecord model. It encapsulates CURD and some common operations in project configuration, class library import, template engine, query language, automatic verification, view model, project compilation, caching mechanism, SEO support, distributed database, multi-database connection and switching, authentication mechanism and It has unique performance in terms of scalability.
Using ThinkPHP, you can develop and deploy applications more conveniently and quickly. Of course, not just enterprise-level applications, any PHP application development can benefit from the simplicity and speed of ThinkPHP. ThinkPHP itself has many original features, and advocates the principle of simplicity, development by myself, and using the least code to complete more functions. The purpose is to make WEB application development simpler and faster. To this end, ThinkPHP will continue to absorb and integrate better technologies to ensure its freshness and vitality, and provide best practices for WEB application development! ThinkPHP is released under the Apache2 open source license agreement, which means you can use ThinkPHP for free, and even allow you to base your work on ThinkPHP Developed applications are open source or commercial products are released/sold.
The updates of ThinkPHP v3.0RC2 version compared to version 3.0RC1 are as follows:
[system]
[Correction] Corrected the second parameter of the R method to be passed into the array
[Fix] Fixed template compilation issue in deployment mode.
[New] Add the core.php configuration file of the project to append the project core compilation list file
[New] Add layout method to control the file of layout entry
[New] The functions function library adds a trace function, which is used to set the page Trace information and customize the display and adjust the page Trace behavior extensions and templates. Instead, call the trace method.
[Improvement] Optimize alias_import method
[Improvement] Improve the judgment of import project library directory
[Improvement] The buildApp method of the Think class improves the schema alias definition and project alias definition to support simultaneous definition of the public file definition of the cancellation mode, which can be loaded directly in the core file list.
[Improvement] Add session function to the system function library to operate the session App class to improve support for session
[Improvement] Improve the View class. If the template engine is set to PHP, the view_parse tag behavior extension will not be called.
[Improvement] Project custom trace information configuration files will be merged into the system default page Trace
[Improvement] The LOG class improves support for configuring different day recording methods and other parameters. The conventional configuration file adds LOG_TYPE, LOG_DEST and LOG_EXTRA to configure the LOG_RECORD_LEVEL parameter and renames it to LOG_LEVEL.
[Improvement] Optimize the file import of the import method and do not import it if there is a class name conflict.
[Improvement] Improve the load method of the system function library
[Improvement] Add access detection to runtime and alias files
[Improvement] Fixed the error that the exec running time is negative after page trace is enabled in deployment mode
[Improvement] Correct the judgment of Widget class on think engine
[Improvement] System path constants are allowed to be redefined
[Delete] Remove the mkdirs function in the runtime file
[Configuration]
[New] Added THINK_RELEASE constant to define the current packaging version
[New] SESSION_OPTIONS SESSION_TYPE and SESSION_PREFIX parameters are added to the conventional configuration
[Improvement] Modification of parameters in the system default debugging configuration file debug
[Delete] Remove unused or redundant configuration parameters for system built-in behaviors
[Delete] Remove DB_SUFFIX configuration
[template]
[Correction] Fixed the bug of template engine {$Think.template} outputting the current template.
[Improvement] Optimize the compilation cache of the template engine, remove ?>[Improvement] Add between alias to Range tag, support between and notbetween interval judgment
[Improvement] The built-in template engine optimizes the inclusion of all external files and performs unified tag parsing.
[Correction] Correction of the default basepath path of the import tag of the built-in Cx tag library
[Improvement] Add the replace attribute to the layout tag to define the content replacement string in the layout template
[Improvement] Optimize tag parsing and replacement processing
[Improvement] If tags in CX tag library can be nested two levels by default
[Improvement] Layout template bug fix, layout template parsing order adjustment in two ways
[cache]
[New] Add static cache behavior extension
[Improvement] The Redis driver timeout parameter is changed to be set by the DATA_CACHE_TIMEOUT configuration parameter
[Improvement] The timeout parameter of the Memcacheh cache driver is changed to be obtained through C (DATA_CACHE_TIMEOUT)
[Model]
[Improvement] The union method is improved to support UNION ALL operations and strings
[Improvement] The second parameter of the Model's instantiation method allows null to be passed in to indicate that there is no data table prefix and also affects the second parameter in the M method.
[Improvement] Improve field cache acquisition after multi-database switching
[Improvement] Improve the handling of null values passed into the join method of the Model class
[Correction] Fixed the problem that the Mysqli driver class made an error when the db_port parameter was not configured.
[Improvement] Adjust the selectSql attribute %FIELDS% of the db class to %FIELD% to be consistent with the consistent operation
[Extended]
[New] Add Db type session driver
[Correction] Fixed setLazyInc and setLazyDec errors in advanced model extensions and removed some no longer used parameters
[Correction] Fixed the error in the dateAdd method of the ORG.Util.Date class of the extended class library
[Improvement] PHPRPC and REST mode extension modifications
[Improvement] The template engine driver interface method fetch removes the charset variable
[Improvement] Delete the send_http_status function in the extend extension function library
[Improvement] Fixed the compatibility issue of method definition of extended behavior
[Improvement] REST mode improves the routing definition rules under rest mode and adjusts it to avoid different request types and resource type routing definitions for the same URL access address.
[Improvement] Fixed random Chinese interception of randString method of extended class library ORG.Util.String class
[Improvement] Support session handler driver extension Driver directory to add Session subdirectory
[Removed] Remove DbSession behavior extension
[Delete] Delete ORG.Util.HtmlCache extension class
[Delete] Delete the advanced verification code method of Image class
[other]
[Improvement] Fixed missing paging configuration of page example
[Improvement] Fixed the error in downloading attachments of blog examples
[Improvement] Code specification adjustment
[Improvement] Cache driver method definition specification
[Improvement] Database driver class specification
[SAE]
[New] Add smoothing function file
[Improvement] SAE compiles SaeMC into the core cache, and the SAE version of ThinkPHP can also allow the compilation cache to replace the entry file.