`
zhouwei064
  • 浏览: 27274 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Yii技术框架学习之路(四)

    博客分类:
  • PHP
阅读更多

创建表单

 

编写 login 视图是很简单的,我们以一个 form 标记开始,它的 action 属性应该是前面讲述的 login 动作的URL。 然后我们需要为 LoginForm 类中声明的属性插入标签和表单域。最后, 我们插入一个可由用户点击提交此表单的提交按钮。所有这些都可以用纯HTML代码完成。

Yii 提供了几个助手(helper)类简化视图编写。例如, 要创建一个文本输入域,我们可以调用 CHtml::textField(); 要创建一个下拉列表,则调用 CHtml::dropDownList()

信息: 你可能想知道使用助手的好处,如果它们所需的代码量和直接写纯HTML的代码量相当的话。 答案就是助手可以提供比 HTML 代码更多的功能。例如, 如下代码将生成一个文本输入域,它可以在用户修改了其值时触发表单提交动作。

CHtml::textField($name,$value,array('submit'=>''));

不然的话你就需要写一大堆 JavaScript 。

下面,我们使用 CHtml 创建一个登录表单。我们假设变量 $model 是 LoginForm 的实例。

<div class="form">
<?php echo CHtml::beginForm(); ?>
 
    <?php echo CHtml::errorSummary($model); ?>
 
    <div class="row">
        <?php echo CHtml::activeLabel($model,'username'); ?>
        <?php echo CHtml::activeTextField($model,'username') ?>
    </div>
 
    <div class="row">
        <?php echo CHtml::activeLabel($model,'password'); ?>
        <?php echo CHtml::activePasswordField($model,'password') ?>
    </div>
 
    <div class="row rememberMe">
        <?php echo CHtml::activeCheckBox($model,'rememberMe'); ?>
        <?php echo CHtml::activeLabel($model,'rememberMe'); ?>
    </div>
 
    <div class="row submit">
        <?php echo CHtml::submitButton('Login'); ?>
    </div>
 
<?php echo CHtml::endForm(); ?>
</div><!-- form -->

上述代码生成了一个更加动态的表单,例如, CHtml::activeLabel() 生成一个与指定模型的特性相关的标签。 如果此特性有一个输入错误,此标签的CSS class 将变为 error,通过 CSS 样式改变了标签的外观。 相似的,CHtml::activeTextField() 为指定模型的特性生成一个文本输入域,并会在错误发生时改变它的 CSS class。

如果我们使用由 yiic 脚本生提供的 CSS 样式文件,生成的表单就会像下面这样:

登录页

登录页

含有错误信息的登录页

含有错误信息的登录页

从版本 1.1.1 开始,提供了一个新的小物件 CActiveForm 以简化表单创建。 这个小物件可同时提供客户端及服务器端无缝的、一致的验证。使用 CActiveForm, 上面的代码可重写为:

<div class="form">
<?php $form=$this->beginWidget('CActiveForm'); ?>
 
    <?php echo $form->errorSummary($model); ?>
 
    <div class="row">
        <?php echo $form->label($model,'username'); ?>
        <?php echo $form->textField($model,'username') ?>
    </div>
 
    <div class="row">
        <?php echo $form->label($model,'password'); ?>
        <?php echo $form->passwordField($model,'password') ?>
    </div>
 
    <div class="row rememberMe">
        <?php echo $form->checkBox($model,'rememberMe'); ?>
        <?php echo $form->label($model,'rememberMe'); ?>
    </div>
 
    <div class="row submit">
        <?php echo CHtml::submitButton('Login'); ?>
    </div>
 
<?php $this->endWidget(); ?>
</div><!-- form -->
分享到:
评论

相关推荐

    yii框架中文手册教程

    1. 性能优越:Yii框架采用了各种优化技术,保证了Web应用的高性能,尤其在处理大量数据和高流量的Web应用时表现优异。 2. 组件化设计:Yii框架采用基于组件的设计模式,开发者可以通过复用组件快速组装出复杂的Web...

    《Yii框架深度剖析》配套代码

    《Yii框架深度剖析》配套代码 本书不是简单地介绍如何使用 Yii 框架,而是站在框架设计的高度,从源代码级别深 度剖析。... 充分了解了这部分知识后,读者对 Yii 框架也有了初步认识,然后正式进入 Yii 框架的学习。

    php最新框架YII框架

    1. 高性能:Yii通过使用缓存机制、优化的查询构建器和预编译的模板引擎等技术,提供了比其他PHP框架更快的运行速度。 2. MVC设计模式:遵循MVC模式,使得模型、视图和控制器之间职责分明,有利于提高代码的组织性...

    yii框架中文文档、yii中文手册教程

    Yii框架以性能优化为设计核心,提供了一系列现代化的Web开发工具和技术,使得开发者可以快速、高效地编写高质量的代码。 在“yii1.1中文文档”中,包含了Yii 1.1版本的详尽教程和参考指南。这个版本是Yii框架的一个...

    Yii框架详解

    总结,Yii框架凭借其高效、易用和安全的特性,成为PHP开发者构建大型Web应用的首选之一。通过深入学习Yii,开发者可以提高开发效率,同时保证应用的稳定性和安全性。无论你是初学者还是经验丰富的开发者,Yii都有...

    yii框架中文版手册pdf和chm格式

    - **PDF手册**:提供详细的API文档和技术指南,是学习Yii的重要资料。 - **CHM手册**:另一种格式的手册,适合离线查阅,同样包含了完整的框架指南和参考信息。 4. **开发流程**: - **配置**:通过配置文件设置...

    2014年辛星PHP教程秋季版之yii框架教程

    在深入学习2014年辛星PHP教程秋季版之Yii框架教程之前,我们需要明确几个核心概念。 首先,Yii是一个高级的PHP框架,广泛应用于Web开发,以敏捷和性能著称。它的核心思想包括快速开发、安全性以及专业性,旨在为...

    YII框架实例视频后盾网马振宇

    根据提供的文件信息,我们可以推断出本视频教程主要围绕YII框架进行讲解,特别是YII2版本的应用。...通过学习本教程,不仅可以掌握YII2框架的核心概念和技术要点,还能学会如何利用这些知识构建实用的Web应用程序。

    2016最全Yii框架

    教程名称: 2016最全Yii框架 YII是目前比较火的框架,框架里面使用了最新的技术和设计,可以说学习了YII就学习了最新的php技术,本课程主要学习XSS、CSRF、SQL注入、文件上传漏洞等攻击方式,以及YII框架对它们的...

    配合《带有sphinx搜索功能的yii2框架实例》的资源

    在《带有sphinx搜索功能的yii2框架实例》这本书中,作者可能详细介绍了如何在Yii2框架中配置和使用Sphinx或CoreSeek。这可能包括以下步骤: 1. **安装与配置**:首先,你需要在服务器上安装Sphinx或CoreSeek,然后...

    基于Yii2.0框架深度重构的B2B2C多用户商城系统

    在技术栈方面,虽然标签中提到了"C#",但考虑到ShopWind是基于PHP的Yii2.0框架构建,我们推测这可能是项目中涉及的其他技术或服务的一部分。例如,可能使用了C#开发了与PHP系统交互的API接口,或者是构建了前后端...

    YII框架安装包和详细说明

    这个压缩包包含了用于学习和使用Yii框架的关键资源,包括框架的核心代码、安装指南、使用文档以及一些额外的参考资料。 首先,`yii-1.1.6.r2877.tar.gz` 是Yii框架的一个特定版本,1.1.6,版本号r2877,这通常是一...

    YiiFrame 是一个基于Yii2+Bootstrap的快速后台开发框架

    通过阅读和修改这些源码,开发者可以学习到如何自定义和扩展Yii2框架,以及如何结合Bootstrap来定制前端界面。 总的来说,YiiFrame提供了一个完整的开发环境,涵盖了从后端逻辑到前端展示的各个环节。无论是初学者...

    YII 1.1 Application Development Cookbook

    《YII 1.1 应用开发食谱》是一本深入探讨...总之,《YII 1.1 应用开发食谱》不仅是一本技术指南,更是开发者提升技能、加速项目开发的宝贵资源。无论是新手还是有经验的开发者,都能从中获得有价值的见解和实用的技巧。

    yii框架2.0

    - **Yii** 团队密切关注业界最新的Web开发技术,并在框架中积极采用这些技术。例如,在**Yii 2.0** 中可以看到对PHP最新特性的支持,如命名空间等。 - 这种跟随技术潮流的做法确保了**Yii** 框架始终保持活力和...

    uniapp源码外卖联盟小程序-后台PHP源码Yii框架开发的DuAdmin后台源码-.zip

    总的来说,这个项目涵盖了前端开发、后端开发、框架应用、小程序开发以及私域流量运营等多个层面,对于想要深入学习这些领域的开发者来说,这是一个非常有价值的学习和实践资源。同时,由于项目完全开源,对于有志于...

    yii框架中文手册及中文教程手册

    在中文教程中,你将学习到如何安装Yii框架,如何配置环境,如何创建项目结构,以及如何使用Yii的组件和服务。教程会详细解释每个关键概念,如路由、控制器、视图和模型的创建,以及如何利用Yii的模板引擎来美化输出...

    yii项目源代码

    本项目源代码是基于Yii框架构建的一个实际应用,对于初学者而言,这是一个很好的学习资源,能够帮助他们深入理解Yii的工作原理和最佳实践。 首先,让我们详细了解一下Yii框架的核心特性。Yii提供了一种模型-视图-...

Global site tag (gtag.js) - Google Analytics