


Yii Framework Official Guide Series 49 - Special Topic: Using Non-Mainstream Template Syntax
The Yii framework allows developers to use their favorite template syntax (such as Prado, Smarty) to write the view of a controller or widget. This can be done through Write and install a viewRenderer application component to achieve this. This view renderer intercepts the call to CBaseController::renderFile, compiles the view file through custom template syntax, and then renders the final compiled result.
Info: It is recommended to use custom template syntax only when writing views that are rarely reused. Otherwise, reusing views in the application will force the use of the same template syntax.
Next, we will introduce how to use CPradoViewRenderer, a view renderer similar to the Prado framework that allows developers to use custom template syntax. If you want to develop your own view renderer, CPradoViewRenderer is a good guide.
1. UseCPradoViewRenderer
To use CPradoViewRenderer, we just need to configure the application as follows:
return array( 'components'=>array( ......, 'viewRenderer'=>array( 'class'=>'CPradoViewRenderer', ), ), );
By default, CPradoViewRenderer will compile source view files and save the resulting PHP files under the runtime directory. Only when the source view files are changed, will the PHP files be re-generated. Therefore , using CPradoViewRenderer incurs very little performance degradation.
Tip: While CPradoViewRenderer mainly introduces some new template tags to make writing views easier and faster, you can still write PHP code as usual in the source views.
In the following, we introduce the template tags that are supported by CPradoViewRenderer.
PHP short tags
Short PHP tags are shortcuts to writing PHP expressions and statements in a view. The expression tag <%= expression %>
is translated into <?php echo expression ?>
; while the statement tag <% statement %>
to <?php statement ?>
. For example,
<%= CHtml::textField($name,'value'); %> <% foreach($models as $model): %>
is translated into
<?php echo CHtml::textField($name,'value'); ?> <?php foreach($models as $model): ?>
Component tags
Component tags are used to insert a widget in a view. It uses the following syntax:
##
<com:WidgetClass property1=value1 property2=value2 ...> // body content for the widget </com:WidgetClass> // a widget without body content <com:WidgetClass property1=value1 property2=value2 .../>
WidgetClass specifies the widget class name or class path alias, and property initial values can be either quoted strings or PHP expressions enclosed within a pair of curly brackets. For example,
<com:CCaptcha captchaAction="captcha" showRefreshButton={false} />
<?php $this->widget('CCaptcha', array( 'captchaAction'=>'captcha', 'showRefreshButton'=>false)); ?>
Cache tagsCache tags are shortcuts to using fragment caching. Its syntax is as follows,Note: The value for showRefreshButton
is specified as
{false}instead of
"false"because the latter means a string instead of a boolean.
<cache:fragmentID property1=value1 property2=value2 ...> // content being cached </cache:fragmentID >
fragmentID should be an identifier that uniquely identifies the content being cached, and the property-value pairs are used to configure the fragment cache. For example,
<cache:profile duration={3600}> // user profile information here </cache:profile >
<?php if($this->beginCache('profile', array('duration'=>3600))): ?> // user profile information here <?php $this->endCache(); endif; ?>
<clip:clipID> // content for this clip </clip:clipID >
clipID is an identifier that uniquely identifies the clip content. The clip tags will be translated as
<?php $this->beginClip('clipID'); ?> // content for this clip <?php $this->endClip(); ?>
<!--- view comments that will be stripped off --->
.php
. For example, if the property is set as.tpl, then any view file ending with
.tpl will be rendered using the installed view renderer, while all other view files ending with
.php will be treated as normal PHP view script.
The above is Yii Framework Official Guide Series 49—— Special topic: Content using non-mainstream template syntax. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Yii is a high-performance MVC framework based on PHP. It provides a very rich set of tools and functions to support the rapid and efficient development of web applications. Among them, the RESTful API function of the Yii framework has attracted more and more attention and love from developers, because using the Yii framework can easily build high-performance and easily scalable RESTful interfaces, providing strong support for the development of web applications. . Introduction to RESTfulAPI RESTfulAPI is a

Yii framework middleware: providing multiple data storage support for applications Introduction Middleware (middleware) is an important concept in the Yii framework, which provides multiple data storage support for applications. Middleware acts like a filter, inserting custom code between an application's requests and responses. Through middleware, we can process, verify, filter requests, and then pass the processed results to the next middleware or final handler. Middleware in the Yii framework is very easy to use

With the rapid development of web applications, modern web development has become an important skill. Many frameworks and tools are available for developing efficient web applications, among which the Yii framework is a very popular framework. Yii is a high-performance, component-based PHP framework that uses the latest design patterns and technologies, provides powerful tools and components, and is ideal for building complex web applications. In this article, we will discuss how to use Yii framework to build web applications. Install Yii framework first,

Steps to implement web page caching and page chunking using the Yii framework Introduction: During the web development process, in order to improve the performance and user experience of the website, it is often necessary to cache and chunk the page. The Yii framework provides powerful caching and layout functions, which can help developers quickly implement web page caching and page chunking. This article will introduce how to use the Yii framework to implement web page caching and page chunking. 1. Turn on web page caching. In the Yii framework, web page caching can be turned on through the configuration file. Open the main configuration file co

In recent years, with the rapid development of the game industry, more and more players have begun to look for game strategies to help them pass the game. Therefore, creating a game guide website can make it easier for players to obtain game guides, and at the same time, it can also provide players with a better gaming experience. When creating such a website, we can use the Yii framework for development. The Yii framework is a web application development framework based on the PHP programming language. It has the characteristics of high efficiency, security, and strong scalability, and can help us create a game guide more quickly and efficiently.

Yii framework middleware: Add logging and debugging capabilities to applications [Introduction] When developing web applications, we usually need to add some additional features to improve the performance and stability of the application. The Yii framework provides the concept of middleware that enables us to perform some additional tasks before and after the application handles the request. This article will introduce how to use the middleware function of the Yii framework to implement logging and debugging functions. [What is middleware] Middleware refers to the processing of requests and responses before and after the application processes the request.

In the Yii framework, controllers play an important role in processing requests. In addition to handling regular page requests, controllers can also be used to handle Ajax requests. This article will introduce how to handle Ajax requests in the Yii framework and provide code examples. In the Yii framework, processing Ajax requests can be carried out through the following steps: The first step is to create a controller (Controller) class. You can inherit the basic controller class yiiwebCo provided by the Yii framework

In modern web application development, debugging tools are indispensable. They help developers find and solve various problems with their applications. As a popular web application framework, the Yii framework naturally provides some debugging tools. This article will focus on the debugging tools in the Yii framework and discuss how they help us analyze and debug applications. GiiGii is a code generator for the Yii framework. It can automatically generate code for Yii applications, such as models, controllers, views, etc. Using Gii,
