【Yii框架官方指南系列13——基础知识:开发规范】教程文章相关的互联网学习教程文章

Yii框架官方指南系列增补版48——专题:国际化(I18N)

国际化 (译者注:即 Internationalization,因为这个单词 I 和 n 之间有18个字母,因此常缩写为I18N) 是指设计一种应用软件的过程,这种软件无需做大的工程改变就能适应不同的语言和地区的需要。 对 Web 应用来说,国际化尤为重要,因为潜在的用户可能来自世界的各个角落。Yii 在若干方面提供了对 I18N 的支持它为每种可能的语言和变量提供了本地化数据。它提了供信息和文件的翻译服务。它提供了基于本地化的日期和时间格式。它提供...

Yii框架官方指南系列33——扩展Yii:概览

在开发中扩展Yii是一个很常见的行为.例如,当你写一个新的控制器时,你通过继承 CController 类扩展了 Yii;当你编写一个新的组件时,你正在继承 CWidget 或者一个已存在的组件类.如果扩展代码是由第三方开发者为了复用而设计的,我们则称之为 extension(扩展).一个扩展通常是为了一个单一的目的服务的.在 Yii 中,他可以按照如下分类:应用的部件组件控制器动作过滤器控制台命令校验器: 校验器是一个继承自 CValidator 类的部件.辅助器: ...

Yii框架官方指南系列14——基础知识:开发流程

介绍过 Yii 中的基本概念之后,我们现在讲解使用 Yii 开发Web应用时的一般开发流程。 此处的开发流程假设我们已经完成了对应用的需求分析和必要的设计分析。创建目录结构骨架。创建第一个Web应用 中讲到的 yiic工具可以快速实现此步骤。配置此 应用。这是通过修改应用配置文件实现的。 此步骤可能也需要编写一些应用组件(例如用户组件)。为所管理的每个类型的数据创建一个 模型 类。 Creating First Yii Application 和 Automati...

Yii框架官方指南系列49——专题:使用非主流模板语法

Yii框架允许开发者使用自己喜好的模板语法 (例如 Prado, Smarty)来编写控制器或者挂件的视图. 这可以通过编写和安装一个viewRenderer应用组件来实现. 这个视图渲染器拦截CBaseController::renderFile的调用,通过自定义的模板语法编译视图文件,然后渲染最终编译结果.Info: 只有当编写的视图很少复用时才推荐使用自定义模板语法. 否则的话,在应用中复用视图将会强制使用同样的模板语法.接下来, 我们会介绍如何使用 CPradoViewRend...

Yii框架官方指南系列35——扩展Yii:创建扩展

由于扩展意味着是第三方开发者使用,需要一些额外的努力去创建它。以下是一些一般性的指导原则:*扩展最好是自己自足。也就是说,其外部的依赖应是最少的。如果用户的扩展需要安装额外的软件包,类或资源档案,这将是一个头疼的问题。 *文件属于同一个扩展的,应组织在同一目录下,目录名用扩展名称。 *扩展里面的类应使用一些单词字母前缀,以避免与其他扩展命名冲突。 *扩展应该提供详细的安装和API文档。这将减少其他开发员使用...

Yii框架官方指南系列15——基础知识:最佳MVC实践

尽管模型——视图——控制器 (MVC) 被几乎每一个Web开发人员所熟知,但是在实际应用开发中如何合理使用MVC依然困扰着许多人。MC背后的核心思想是代码的可重用性以及逻辑与视图的分离。 在本节中, 我们将会讲述在使用Yii框架的过程中如何更好的使用MVC开发应用。为了更好进行解释阐述,我们假设Web应用包含了如下的一些子应用:前端: 面向终端用户的公共网站界面;后端:提供管理整个网站应用的管理功能,通常只有管理员才能访问使用...

Yii框架官方指南系列50——专题:控制台应用【图】

控制台应用主要用于实现在线Web应用所需要的离线操作,例如代码生成, 搜索索引编译, 邮件发送等等. Yii框架以面向对象的方式提供了一个编写控制台应用的框架. 它允许控制台应用访问在线Web应用所使用的资源 (例如数据库连接信息) .1. 概览Yii可以以命令行的方式运行每一个控制台任务,控制台命令是一个继承自CConsoleCommand的类。当我们使用 yiic webapp 工具创建一个初始化的Yii应用骨架的时候, 我们可以在protected文件夹下看到如...

Yii框架官方指南系列36——扩展Yii:使用第三方库

Yii是精心设计,使第三方库可易于集成,进一步扩大Yii的功能。 当在一个项目中使用第三方库,程序员往往遇到关于类命名和文件包含的问题。 因为所有Yii类以C字母开头,这就减少可能会出现的类命名问题;而且因为Yii依赖SPL autoload执行类文件包含,如果他们使用相同的自动加载功能或PHP包含路径包含类文件,它可以很好地结合。下面我们用一个例子来说明如何在一个Yii application从Zend framework使用Zend_Search_Lucene部件。首先...

Yii框架官方指南系列增补版37——测试:概览

测试是软件开发中必不可少的环节.无论我们是否意识到,在开发Web应用的时候,我们始终都是在测试的.例如, 当我们用PHP写了一个类时, 我们可能会用到一些注入 echo 或者 die 语句来显示我们是否正确地实现了某个方法;当我们实现了包含一套复杂的HTML表单的web页面时, 我们可能会试着输入一些测试数据来确认页面是否是按照我们的预期来交互的.更高级的开发者则会写一些代码来自动完成这个测试过程, 这样一来每当我们需要测试一些东西的...

Yii框架官方指南系列16——使用表单:概览

通过HTML表单收集用户数据是Web程序开发的主要工作之一。除了表单设计外, 开发者还需要将现存的或默认的数据填充到表单,验证用户输入, 对无效的输入显示适当的错误信息,保存输入到持久性存储器。Yii通过其 MVC 结构极大地简化了此工作流程。在 Yii 中处理表单时,通常需要以下步骤:创建用于表现所要收集数据字段的模型类。创建一个控制器动作,响应表单提交。在视图脚本中创建与控制器动作相关的表单。在后续章节,我们将详细介...

Yii框架官方指南系列51——专题:安全措施(Security)

1. 跨站脚本攻击的防范跨站脚本攻击(简称 XSS),即web应用从用户收集用户数据。 攻击者常常向易受攻击的web应用注入JavaScript,VBScript,ActiveX,HTML或 Flash来迷惑访问者以收集访问者的信息。 举个例子,一个未经良好设计的论坛系统可能不经检查就显示用户所输入的内容。 攻击者可以在帖子内容中注入一段恶意的JavaScript代码。 这样,当其他访客在阅读这个帖子的时候,这些JavaScript代码就可以在访客的电脑上运行了。一个防...

Yii框架官方指南系列17——使用表单:创建模型

在编写表单所需的 HTML 代码之前,我们应该先确定来自最终用户输入的数据的类型,以及这些数据应符合什么样的规则。 模型类可用于记录这些信息。 正如模型章节所定义的, 模型是保存用户输入和验证这些输入的中心位置。取决于使用用户所输入数据的方式,我们可以创建两种类型的模型。 如果用户输入被收集、使用然后丢弃,我们应该创建一个 表单模型; 如果用户的输入被收集后要保存到数据库,我们应使用一个 Active Record 。 两种类...

Yii框架官方指南系列38——定义特定状态(Fixtures)

自动测试需要被执行很多次.为了确保测试过程是可以重复的, 我们很想要在一些可知的状态下进行测试, 这个状态我们称之为 特定状态. 举个例子,在一个博客应用中测试文章创建特性, 每次当我们进行测试时, 与文章相关的表(例如. Post 表 , Comment 表)应该被恢复到一个特定的状态下. PHPUnit 文档 已经很好的描述了一般的特定状态的构建. 而本节主要介绍怎样像刚才描述的例子那样构建数据库特定状态.设置构建数据库的特定状态,这恐怕是...

Yii框架官方指南系列增补版39——测试:单元测试(UnitTesting)【图】

因为Yii测试框架基于PHPUnit构建,所以推荐你在理解如何写一个单元测试之前先通读一遍PHPUnit文档。下面我们简要概括一下在Yii中写一个单元测试的基本原则:一个单元测试以继承自CTestCase或者CDbTestCase的XyzTest类的形式编写, 其中Xyz代表要被测试的类. 例如, 想要测试Post类,我们会相应地将测试类命名为PostTest. 基类CTestCase是通用单元测试类, 而CDbTestCase只适用于测试AR模型类. 由于PHPUnit_Framework_TestCase是这两个类...

Yii框架官方指南系列18——使用表单:创建动作

有了模型,我们就可以开始编写用于操作此模型的逻辑了。 我们将此逻辑放在一个控制器的动作中。对登录表单的例子来讲,相应的代码就是:public function actionLogin() {$model=new LoginForm;if(isset($_POST[LoginForm])){// 收集用户输入的数据$model->attributes=$_POST[LoginForm];// 验证用户输入,并在判断输入正确后重定向到前一页if($model->validate())$this->redirect(Yii::app()->user->returnUrl);}// 显示登录表单$t...

框架 - 相关标签