


thinkPHP study notes - installation and configuration_PHP tutorial
thinkPHP Study Notes - Installation and Configuration
This article mainly introduces thinkPHP, a domestic MVC framework. What is discussed here is the installation and configuration of thinkphp, as well as a simple example. , friends in need can refer to it.
The domestic framework thinkPHP is an MVC framework. This framework initially simulates JAVA's struts framework, uses a single entry file to simulate JAVA's filters, and uses action to simulate the STRUTS controller ACTION. So why in his MVC, M is model, V is view, and control is the cause of action.
In version 3.2.3, control was changed to C, which is also more formal, because springMVC in the JAVA world has become popular. The control used by spring no longer uses the definition of action. In fact, action represents control itself. It’s misleading, the control is C, why is there an aciton, it’s confusing.
The most difficult thing to understand about thinkphp is its access method. The explanation in the official document is a bit misleading. According to the official document, there must be an error because the official document does not explain it clearly!
The installation of thinkphp is actually very simple. As long as its main program file is required, a series of directories can be generated. But what is the relationship between the URL and its control and tpl? The official document is so vague that anyone who has used JAVA will be fooled by the official document until they vomit blood!
Can the official document be clearer? ?
After actual use, I summarized the following points:
1. Install thinkphp:
Create admin.php or any other name in the same directory as the main program thinkPHP
The code is as follows:
//Define project name and path
define('APP_NAME', ''); //When the name is space-time, the generated folder is not prefixed
define('APP_PATH', './admin/');//This means generating the admin directory in the same directory as the main program THINKPHP
define('APP_DEBUG', true);//Start editing mode, force compilation of files, no caching
//Load framework entry file
require( "../ThinkPHP/ThinkPHP.php");//Main program entry file
2, file directory:
The automatically generated file directory is
common: a place to write functions
conf: configuration file, such as configuring database connection address
lang: language package, internationalization
lib: action and model are all here, which is a more important place. It is a completely different concept from JAVA’s lib which is a JAR package
runtime: runtime cache file
tpl: template, which is an html file
3, access method:
URL: localhost/thinkphp/admin.php?m=Show&a=add
Explanation: Local/project directory/single entry file just created? model=class name&action=method name
Meaning: Enter the add method in the Show class in the single entry file admin.php
Emphasis: The class name starts with an uppercase letter, and the lowercase letters will not be found. This troubled me. I worked on it all afternoon, and it turned out that I only recognized the uppercase class names, but not the lowercase ones
infopath style URL: localhost/thinkphp/admin.php/Show/add
Explanation: Same as the default, except that M A is not written out
4. Write classes and methods:
The author of thinkphp must be a person who likes to toss and is a perfectionist, so he thought of this way to control the program. The entire program is based on the action class. An action class is equivalent to a page, and the The method is to perform operations related to this page, such as adding, deleting, modifying, and checking. This is in line with the way Chinese people think, but the reusability is not high.
Write file: lib/action/ShowAction.class.php
The code is as follows:
//Show is the class name, Action is just a recognition aid, it must be written, but it can be ignored when calling. Remember to capitalize it. If you write it in lowercase, it will also change it to uppercase for you, so that you can't find the module of show in lowercase. m=Show
class ShowAction extends Action {
//add is the action method, a=add
public function add(){
//Output page CC, it automatically loads the cc.html file under the Show file in the default TPL directory. If there is no cc here, add.html with the same method name will be loaded. If there is neither cc.html nor add.html, an error will be reported
$this->display('cc');
}
}
5, write template:
Loading templates are mentioned above, let’s write one now:
tpl/Show/cc.html
The code is as follows:
A normal HTML file
The above is the entire content of this article, I hope you all like it.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

In PHP, use the clone keyword to create a copy of the object and customize the cloning behavior through the \_\_clone magic method. 1. Use the clone keyword to make a shallow copy, cloning the object's properties but not the object's properties. 2. The \_\_clone method can deeply copy nested objects to avoid shallow copying problems. 3. Pay attention to avoid circular references and performance problems in cloning, and optimize cloning operations to improve efficiency.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

Key players in HTTP cache headers include Cache-Control, ETag, and Last-Modified. 1.Cache-Control is used to control caching policies. Example: Cache-Control:max-age=3600,public. 2. ETag verifies resource changes through unique identifiers, example: ETag: "686897696a7c876b7e". 3.Last-Modified indicates the resource's last modification time, example: Last-Modified:Wed,21Oct201507:28:00GMT.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP is a server-side scripting language used for dynamic web development and server-side applications. 1.PHP is an interpreted language that does not require compilation and is suitable for rapid development. 2. PHP code is embedded in HTML, making it easy to develop web pages. 3. PHP processes server-side logic, generates HTML output, and supports user interaction and data processing. 4. PHP can interact with the database, process form submission, and execute server-side tasks.

PHP has shaped the network over the past few decades and will continue to play an important role in web development. 1) PHP originated in 1994 and has become the first choice for developers due to its ease of use and seamless integration with MySQL. 2) Its core functions include generating dynamic content and integrating with the database, allowing the website to be updated in real time and displayed in personalized manner. 3) The wide application and ecosystem of PHP have driven its long-term impact, but it also faces version updates and security challenges. 4) Performance improvements in recent years, such as the release of PHP7, enable it to compete with modern languages. 5) In the future, PHP needs to deal with new challenges such as containerization and microservices, but its flexibility and active community make it adaptable.

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

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.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version
Chinese version, very easy to use

SublimeText3 Linux new version
SublimeText3 Linux latest version

Zend Studio 13.0.1
Powerful PHP integrated development environment