search
Homephp教程php手册Yii fast, safe, professional PHP framework_php basics

Yii is a high-performance PHP framework suitable for developing WEB2.0 applications.
Yii comes with a rich set of features, including MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc., which can significantly shorten development time

Official website: http://www.yiiframework.com/

Yii fast

Yii only loads the features you need. It has strong caching support. It's explicitly designed to work efficiently with AJAX.

Yii Security

Yii's standards are secure. It includes input validation, output filtering, SQL injection and cross-site scripting prevention.

Professional

Yii helps you develop clean and reusable code. It follows the MVC pattern, ensuring a clear separation of logic and presentation layers.

Yii Framework is a component-based, high-performance PHP framework for developing large-scale web applications. Yii provides almost everything needed for today's Web 2.0 application development. Yii is one of the most efficient PHP frameworks. Yii is the brainchild of founder Xue Qiang and began development on January 1, 2008.

Yii is a component-based, high-performance PHP framework for developing large-scale web applications. Yii is written in strict OOP and has complete library references and comprehensive tutorials. From MVC, DAO/ActiveRecord, widgets, caching, hierarchical RBAC, web services, to theming, I18N and L10N, Yii provides almost everything needed for today's Web 2.0 application development. In fact, Yii is one of the most efficient PHP frameworks.
Yii is a high-performance PHP5 web application development framework. A simple command line tool yiic can quickly create a web application code framework. Developers can add business logic based on the generated code framework to quickly complete application development.

Yii Advantages

Yii is easy to learn and use. You only need to know PHP and object-oriented programming, and you can get started quickly without having to learn a new architecture or template language in advance.
Development with Yii is very fast and requires very little coding to be written for the application other than the framework itself. In fact it is one of the most efficient development frameworks.
Yii is highly reusable and extensible and is purely object-oriented. Everything in Yii is an independently configurable, reusable, and extensible component. What's more important is that Yii has more and more extension libraries. Composed primarily of user-contributed components, this may help significantly reduce your development time.
Yii is rich in features. From MVC, DAO/ActiveRecord, to theming, internationalization and localization, Yii provides almost all the features needed for today's Web 2.0 application development.
The Yii Reference Manual is a complete documentation of Yii, with all the information you need to learn and master it.
Yii was carefully designed from the beginning to accommodate complex WEB application development. It is not a by-product of some project or a third-party integration. Rather, it is the culmination of the author's rich web application development experience and excellent ideas from other popular web frameworks and applications.
Last, but not least, Yii is free and Yii follows the latest BSD license. It ensures that its third-party development also follows a BSD-compatible license. This means that you are free to use Yii to develop any open source or proprietary application, both legally and financially.

Features

Yii has almost all the features of today's Web 2.0 application development. Below is a short list of these features.
Model-View-Controller (MVC) design pattern: Yii adopts this mature technology in WEB programming to better separate the logic layer and presentation layer.
Database Access Object (DAO) and Active Record: Yii allows developers to model data objects in a database, thereby reducing their effort in writing long and repetitive SQL statements.
Integration with jQuery: As one of the most popular JavaScript frameworks, jQuery enables writing efficient and flexible JavaScript interfaces.
Form input and validation: YII makes collecting form input very easy and secure. Yii has a set of validators to ensure the validity of data. It also has helper methods and components to display errors when validation fails.
Web 2.0 Widgets: Powered by jQuery, YII comes with a set of Web 2.0 widgets such as autocomplete input fields, TreeView and more.
Authentication and Authorization: Yii has built-in authentication support. It also supports authorization through layered role-based access control (RBAC).
Theme: It can instantly change the view of a Yii application.
Web Services: Yii supports automatically generating complex WSDL service specifications and managing Web service request processing.
Internationalization (I18N) and localization (L10N): Yii supports message conversion, date and time formats, number formats and interface localization.
Hierarchical caching scheme: Yii supports data caching, page caching, fragment caching and dynamic content. A cached storage medium that can be easily changed without touching the application code.
Error handling and logging: Error handling is well presented, and log information can be classified, filtered and assigned to different locations.
Security: Yii comes with many security measures to help secure web applications to prevent cyber attacks. These measures include cross-site scripting (XSS) prevention, cross-site request forgery (CSRF) prevention, cookie tampering prevention, etc.
XHTML Compliant: Yii components and command line tools generate code that is XHTML compliant.
Automatic code generation: Yii provides tools that can automatically generate code according to your needs, such as generating a program skeleton, CRUD application, etc.
Completely object-oriented: Yii framework adheres to a strict object-oriented programming paradigm. It does not define any global functions or variables. Moreover, the class hierarchy it defines allows for maximum reusability and customization.
Friendly to use third-party code: Yii is carefully designed to make it work very well with third-party code. For example, you can use PEAR or Zend Framework code in your Yii application.
Detailed documentation: Every single method or property is documented very clearly. A comprehensive tutorial and some beginner tutorials are also provided.
Extension library: Yii provides an extension library composed of user-provided components, which makes the list of above functions never-ending.

About Yii

Yii is a component-based, high-performance PHP framework for developing large-scale web applications. In WEB development, Yii can maximize code reuse and greatly improve the speed of development. The name Yii (pronounced Yee or [ji:], which should be the pronunciation of "yi") represents easy, efficient and extensible
Environmental needs
To run a Yii-powered web application, you need a web server that supports PHP 5.1.0 or above.
For developers planning to use Yii, it will be very helpful to know object-oriented programming (OOP). Because Yii is a pure OOP framework.
Scope of application
Yii is a general web programming framework that can be used to develop almost all web applications. Since it is lightweight and has a mature caching solution, it is particularly suitable for developing high-traffic applications, such as portals, forums, content management systems (CMS), e-commerce systems, etc.
Compare with similar products
Like most PHP frameworks, Yii is an MVC framework.
Yii outshines other frameworks with its excellent performance, rich functionality, and clear documentation. Yii was carefully designed from the ground up to be suitable for serious web application development. It is neither a derivative of other projects nor a combination of third-party work. It is the result of the author's extensive web application development experience and research and thinking on most popular web programming frameworks and applications.

Performance

yii performance
Yii is a high-performance framework. The following chart shows Yii's high efficiency compared to other popular PHP frameworks. In this chart, RPS stands for "Requests Per Second" and describes how many requests this framework performs per second. The higher this number, the higher the performance of this framework, and we can see that Yii outperforms the other frameworks in this comparison. The performance advantage of Yii is especially significant when the widely used APC extension is enabled.
Performance alone is not the whole story (otherwise we should all use plain HTML or PHP). With such superior performance, Yii still provides a very rich feature set which can greatly improve your development efficiency.
Why Yii is so fast
Yii is so fast because it uses lazy loading technology extensively. For example, the class will not be included until it is used for the first time; the object will not be created until the object is accessed for the first time. Other frameworks suffer from the performance hit because they would enable a functionality (e.g. DB connection, user session) no matter it is used or not during a request.
Standard settings
Below we explain how to design the benchmark application and obtain the above RPS results.
Benchmark Request
Since our goal is to compare the minimal overhead of each framework, the benchmark application for each framework should be the simplest one. We choose to display a "Hello World" text string by placing an echo statement in the default action of each application. Any additional framework features (e.g. session) are disabled to ensure fairness of the comparison. To obtain a copy of the benchmark applications, please check out the phpmark project.
Why use “Hello World”
We do "hello world" testing mainly to achieve our goals, such as finding the minimum cost of each framework. Many people complain that "hello world" applications are pointless because real-world applications often involve more complex tasks, such as database queries. this is not right. In fact, especially in some large-scale web2.0 applications, the situation we often encounter is usually quite close to "hello world".For example: the application needs to return the current server time in response to an ajax request. The page has most of its content cached, and the application only needs to fetch the cached content and display it.
Another reason to use "hello world" is that when referencing more complex features (such as database queries), clarity of comparison will be difficult to ensure. For example: the framework can execute database queries very efficiently, but lacks a caching solution. While another framework is slightly slower on database queries, it has advanced caching features to mitigate system overhead. All in all there are too many factors involved to make a clear comparison.
Standard Tools and Environment
Use the command "ab -t 30 -c 10 URL" of the ApacheBench tool to obtain the RPS number (for example: run the test at concurrency level 10 for 30 seconds). In order to obtain the number of each frame, we first stop and start the Apache WEB server to avoid interference. Also run the test program several times to "warm up" the test environment. In the phpmark project, there is a shell script called benchmark.sh that automates the benchmark process.

Credits

Yii draws many of its ideas from other well-known web programming frameworks and applications. Below is a short list.
Prado: This is the main source of ideas for Yii. Yii adopts component-based and event-driven programming models, database abstraction layer, modular application architecture, internationalization and localization, and many of its other features and functions.
Ruby on Rails: Yii inherits the idea of ​​its configuration. Also references its Active Record ORM design pattern.
jQuery: This is a JavaScript framework integrated into Yii.
Symfony: Yii references its filtering design and plug-in architecture.
Joomla: Yii cited for its modular design and information translation scheme.

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
2023年最流行的11款PHP框架2023年最流行的11款PHP框架Jul 07, 2022 pm 03:30 PM

什么是PHP框架?为什么要使用PHP框架?本篇文章就来和大家聊聊PHP框架的优势,并总结分享11款2023年最流行的PHP框架,希望对大家有所帮助!

什么是PHP框架?PHP框架与CMS的区别什么是PHP框架?PHP框架与CMS的区别Jun 13, 2022 pm 02:21 PM

在编程中,框架扩展了构建通用软件应用程序的支撑结构。在你开始编码之前,框架就会将程序的基本功能插入到你的应用程序中,从而简化了软件的开发过程。

如何使用PHP框架Yii开发一个高可用的云备份系统如何使用PHP框架Yii开发一个高可用的云备份系统Jun 27, 2023 am 09:04 AM

随着云计算技术的不断发展,数据的备份已经成为了每个企业必须要做的事情。在这样的背景下,开发一款高可用的云备份系统尤为重要。而PHP框架Yii是一款功能强大的框架,可以帮助开发者快速构建高性能的Web应用程序。下面将介绍如何使用Yii框架开发一款高可用的云备份系统。设计数据库模型在Yii框架中,数据库模型是非常重要的一部分。因为数据备份系统需要用到很多的表和关

php如何使用Yii3框架?php如何使用Yii3框架?May 31, 2023 pm 10:42 PM

随着互联网的不断发展,Web应用程序开发的需求也越来越高。对于开发人员而言,开发应用程序需要一个稳定、高效、强大的框架,这样可以提高开发效率。Yii是一款领先的高性能PHP框架,它提供了丰富的特性和良好的性能。Yii3是Yii框架的下一代版本,它在Yii2的基础上进一步优化了性能和代码质量。在这篇文章中,我们将介绍如何使用Yii3框架来开发PHP应用程序。

Yii2 vs Phalcon:哪个框架更适合开发显卡渲染应用?Yii2 vs Phalcon:哪个框架更适合开发显卡渲染应用?Jun 19, 2023 am 08:09 AM

在当前信息时代,大数据、人工智能、云计算等技术已经成为了各大企业关注的热点。在这些技术中,显卡渲染技术作为一种高性能图形处理技术,受到了越来越多的关注。显卡渲染技术被广泛应用于游戏开发、影视特效、工程建模等领域。而对于开发者来说,选择一个适合自己项目的框架,是一个非常重要的决策。在当前的语言中,PHP是一种颇具活力的语言,一些优秀的PHP框架如Yii2、Ph

Yii框架中的数据查询:高效地访问数据Yii框架中的数据查询:高效地访问数据Jun 21, 2023 am 11:22 AM

Yii框架是一个开源的PHPWeb应用程序框架,提供了众多的工具和组件,简化了Web应用程序开发的流程,其中数据查询是其中一个重要的组件之一。在Yii框架中,我们可以使用类似SQL的语法来访问数据库,从而高效地查询和操作数据。Yii框架的查询构建器主要包括以下几种类型:ActiveRecord查询、QueryBuilder查询、命令查询和原始SQL查询

Symfony vs Yii2:哪个框架更适合开发大型Web应用?Symfony vs Yii2:哪个框架更适合开发大型Web应用?Jun 19, 2023 am 10:57 AM

随着Web应用需求的不断增长,开发者们在选择开发框架方面也越来越有选择的余地。Symfony和Yii2是两个备受欢迎的PHP框架,它们都具有强大的功能和性能,但在面对需要开发大型Web应用时,哪个框架更适合呢?接下来我们将对Symphony和Yii2进行比较分析,以帮助你更好地进行选择。基本概述Symphony是一个由PHP编写的开源Web应用框架,它是建立

yii如何将对象转化为数组或直接输出为json格式yii如何将对象转化为数组或直接输出为json格式Jan 08, 2021 am 10:13 AM

yii框架:本文为大家介绍了yii将对象转化为数组或直接输出为json格式的方法,具有一定的参考价值,希望能够帮助到大家。

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)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

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

MinGW - Minimalist GNU for Windows

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.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version