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!

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 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 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 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 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.

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

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 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.


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

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Zend Studio 13.0.1
Powerful PHP integrated development environment

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

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