search
HomePHP FrameworkLaravelWhat is the difference between laravel and thinkphp

What is the difference between laravel and thinkphp

Nov 11, 2019 am 10:56 AM
laravelthinkphpthe difference

What is the difference between laravel and thinkphp

1. Different ways of rendering templates

In the Laravel framework, use return view() to render templates ;ThinkPHP uses the $this->display() method to render templates.

2. In actual development, we often encounter the problem that the development location is not fixed.

This causes us to frequently change the database configuration, causing trouble for development work. TP still has not avoided this "disaster". In the laravel framework, the emergence of .env environment files solves this trouble. We only need to configure the .env file in different working locations and do not avoid configuring it again, because whether it is git or svn, ".env will not be submitted to the server along with the file."

3. The Laravel framework provides a large number of closures

As a rookie, I currently only use the use method, that is, how to use outer variables inside the function.

4. Different points to note when passing values ​​in post

In the Laravel framework, since it takes into account cross-site attacks, if you use the form form to pass the value in post mode, value, if {{csrf_field()}} is not added to the form, a TokenMethodnotfound syntax error will be reported, and the TP framework needs to manually complete the code to prevent cross-site attacks.

5. Differences in the way of writing conditional judgment statements

If else judgment statements and foreach statements in the Laravel framework must start with @if and end with @endif . If not, a syntax error will be reported, @foreach @endforeach is the same; and the TP framework is used in the same way as PHP syntax rules, directly using the if esle statement to judge and foreach loop traversal.

6. Laravel has a large number of built-in methods for developers to use

In actual applications, it is closer to the development idea of ​​"let the object do everything", such as When performing background form validation, Laravel has a large number of built-in validation methods. For example, to verify the username: we can use 'username'=>'required' (cannot be empty) in the validate method | alpha_dash (must have numbers, letters and underlines) | between: 6,18 (between the number of digits); It also has a large number of built-in methods such as email; same: field name; diff: field name, etc., which greatly improves the development speed.

7. Encryption method

In the TP framework, we use md5(); to encrypt the user name and password. However, the disadvantage of md5 is that it can be reversely cracked, and under the same rules, the strings encrypted by md5 for the same password may appear the same, which reduces its security. However, the "Hash" Hash encryption one-way encryption method is built into the Laravel framework, and strings encrypted with the same parameters will never appear in the same situation, which improves security.

8. Create tables

Laravel has its own independent built-in structure for creating database tables, so you don’t need to use native SQL statements or SQLyogEnt or Navicat at all. The table building tool is used for database establishment, addition, deletion, modification, query and data interaction. I think this may be a highlight of its firmly occupying the No. 1 position. In ThinkPHP, we need to use SQL statements or table building tools to gradually improve the data.

8.1. First we need to build a model: I use gitbash. Gitbash is a command tool under Windows. Based on the msys GNU environment, it has a git distributed version control tool and is mainly used in git. But you can also use it directly in Laravel: php artisan make:model Models/GoodsModel -m to complete the creation of the model and the creation of the table structure (/database/migrations).

8.2. Fill data into the goods data table. Please note that the types of data are strictly distinguished and must be added. After adding, use the php artisan migrate command to complete the creation of the table.

Schema::create('goods', function (Blueprint $table) {

$table->increments('id')->comment('product primary key');

$table->string('title')->comment('Title of the product');

8.3. What should I do if a field does not meet the requirements or needs to be added? ? No need to worry, pull the project from github and modify it directly in the data table. Just use:

php artisan migrate:refresh

9、ORM

The command to create a model has been used when introducing table creation:

php artisan make:model XXX;

The model in Laravel is the best interpretation of object-oriented development ideas. Let the object help us complete the requirements.

Excerpted from the 5.1 manual: (Laravel's Eloquent ORM provides a beautiful and concise ActiveRecord implementation to interact with the database. Each database table has a corresponding "model" that can be used Interact with the data table. You can use the model to search for data in the data table and add records to the data table.)

In actual use, I also really feel that by creating models, I can control the data. The convenience brought by table operations, such as: batch assignment, cross-table query, deletion of models and soft deletion, model association, of course, these can also be implemented using models in the TP framework. This is a matter of opinion and depends on personal preferences. .

10. Usage of session

10.1. ThinkPHP encapsulates the Session operation and can be used without introducing it. The startup of the Session will be automatically executed when the application is initialized, so there is no need to manually use Session::start() to start the Session.

There is no essential difference between using the Session class operation and calling $_SESSION in the ordinary way. It is just that many parameters of the Session class can be flexibly set according to the project configuration. Examples of the most commonly used operation methods:

/ / Check whether the Session variable exists: Session::is_set('name');

// Assign a value to the Session variable: Session::set('name','value');

// Get Session variables: Session::get('name');

10.2. Common methods of Session in Laravel:

$request->session()->get( 'key');//Get a key name in the session

$request->session()->set('key','default');//Set a default value , when the specified key name does not exist, the default value is returned

$request->session()->all();//Return all data

session('k'=> ;$v);//Write session saved data

and flash memory data session()->flash() and retain specific data->keep(['','']);

You can also customize the session driver.

php Chinese website, a large number of free laravel introductory tutorials, welcome to learn online!

The above is the detailed content of What is the difference between laravel and thinkphp. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Laravel (PHP) vs. Python: Weighing the Pros and ConsLaravel (PHP) vs. Python: Weighing the Pros and ConsApr 17, 2025 am 12:18 AM

Laravel is suitable for building web applications quickly, while Python is suitable for a wider range of application scenarios. 1.Laravel provides EloquentORM, Blade template engine and Artisan tools to simplify web development. 2. Python is known for its dynamic types, rich standard library and third-party ecosystem, and is suitable for Web development, data science and other fields.

Laravel vs. Python: Comparing Frameworks and LibrariesLaravel vs. Python: Comparing Frameworks and LibrariesApr 17, 2025 am 12:16 AM

Laravel and Python each have their own advantages: Laravel is suitable for quickly building feature-rich web applications, and Python performs well in the fields of data science and general programming. 1.Laravel provides EloquentORM and Blade template engines, suitable for building modern web applications. 2. Python has a rich standard library and third-party library, and Django and Flask frameworks meet different development needs.

Laravel's Purpose: Building Robust and Elegant Web ApplicationsLaravel's Purpose: Building Robust and Elegant Web ApplicationsApr 17, 2025 am 12:13 AM

Laravel is worth choosing because it can make the code structure clear and the development process more artistic. 1) Laravel is based on PHP, follows the MVC architecture, and simplifies web development. 2) Its core functions such as EloquentORM, Artisan tools and Blade templates enhance the elegance and robustness of development. 3) Through routing, controllers, models and views, developers can efficiently build applications. 4) Advanced functions such as queue and event monitoring further improve application performance.

Laravel: Primarily a Backend Framework ExplainedLaravel: Primarily a Backend Framework ExplainedApr 17, 2025 am 12:02 AM

Laravel is not only a back-end framework, but also a complete web development solution. It provides powerful back-end functions, such as routing, database operations, user authentication, etc., and supports front-end development, improving the development efficiency of the entire web application.

Laravel (PHP) vs. Python: Understanding Key DifferencesLaravel (PHP) vs. Python: Understanding Key DifferencesApr 17, 2025 am 12:01 AM

Laravel is suitable for web development, Python is suitable for data science and rapid prototyping. 1.Laravel is based on PHP and provides elegant syntax and rich functions, such as EloquentORM. 2. Python is known for its simplicity, widely used in Web development and data science, and has a rich library ecosystem.

Laravel in Action: Real-World Applications and ExamplesLaravel in Action: Real-World Applications and ExamplesApr 16, 2025 am 12:02 AM

Laravelcanbeeffectivelyusedinreal-worldapplicationsforbuildingscalablewebsolutions.1)ItsimplifiesCRUDoperationsinRESTfulAPIsusingEloquentORM.2)Laravel'secosystem,includingtoolslikeNova,enhancesdevelopment.3)Itaddressesperformancewithcachingsystems,en

Laravel's Primary Function: Backend DevelopmentLaravel's Primary Function: Backend DevelopmentApr 15, 2025 am 12:14 AM

Laravel's core functions in back-end development include routing system, EloquentORM, migration function, cache system and queue system. 1. The routing system simplifies URL mapping and improves code organization and maintenance. 2.EloquentORM provides object-oriented data operations to improve development efficiency. 3. The migration function manages the database structure through version control to ensure consistency. 4. The cache system reduces database queries and improves response speed. 5. The queue system effectively processes large-scale data, avoid blocking user requests, and improve overall performance.

Laravel's Backend Capabilities: Databases, Logic, and MoreLaravel's Backend Capabilities: Databases, Logic, and MoreApr 14, 2025 am 12:04 AM

Laravel performs strongly in back-end development, simplifying database operations through EloquentORM, controllers and service classes handle business logic, and providing queues, events and other functions. 1) EloquentORM maps database tables through the model to simplify query. 2) Business logic is processed in controllers and service classes to improve modularity and maintainability. 3) Other functions such as queue systems help to handle complex needs.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Safe Exam Browser

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

Dreamweaver CS6

Visual web development tools