
yii
Dylan_Chang
这个作者很懒,什么都没留下…
展开
-
安全站点和非安全站点的 URL 管理
在本文中我将描述怎么管理安全站点和非安全站点的 URL 管理。安全站点的内容使用 https SSL (安全套接字层) 协议发送,而非安全站点使用 http 协议。为了描述简单,我们称前者https 内容/页,后者 'http' 内容/页。一个严格要求的网站通常需要一些页面使用 https ,一些页面使用http。例如,为了防止密码嗅探,我们的登录页面使用 https,而为了减轻服务器转载 2016-01-18 12:00:02 · 454 阅读 · 0 评论 -
Yii 在GridView中使用关联模型进行搜索和排序
在GridView中使用关联模型进行搜索和排序首先我们有两个模型它们直接有关联:[php]class Author extends CActiveRecord {...}class Post extends CActiveRecord {... function relations() { return array( 'autho转载 2016-01-18 13:58:11 · 351 阅读 · 0 评论 -
Yii URL 连字符管理
本文将会介绍一种将 URL 路由 自动断字的方法。我们指定 Yii 使用 URL manager 来支持创建和解析 URL。然而,默认的方法对于混合词语的 路由 处理的不尽如人意。例如,URL 管理器默认将 createAccount 生成为:/user/createAccount这对于 SEO 来讲很不友好。他们想要的是像 user/create-account 更具易转载 2016-01-18 13:58:42 · 295 阅读 · 0 评论 -
Yii 理解场景
场景是一个分离所有CModel派生类验证任务的非常有用的工具,在这里我们将使用 CActiveRecord。指定场景首先要做的是初始化一个带有场景的模型(Model).我们有两种方法来实现它。1. 新的 CActiveRecord 使用构造函数的参数方式1$model = new MyActiveRecord('formSubmit');转载 2016-01-18 14:01:00 · 236 阅读 · 0 评论 -
Yii Web Service
Web ServiceDefining Service Provider(定义Service Provider)Declaring Web Service Action(定义Web Service动作)Consuming Web Service(消费Web Service)Data Types(数据类型)Class Mapping(类映射)Intercepting Remote M转载 2016-01-18 14:08:32 · 315 阅读 · 0 评论 -
Yii 良好的架构(schema)设计指南
几乎所有的 Yii 的应用程序都是建立在数据库之上,虽然 Yii 可以非常灵活的操作数据库,但有些时候一些设计的选择可以使它更便于使用.首先 Yii 应用程序广泛使用了 CActiveRecord, 设计的考虑主要围绕优化使用而不是组成复杂的 SQL 语句. 实际上大多的设计是使用友好的 SQL 模式来解决实践中的问题.最常用的方式是创建易于被人阅读和理解的代码,例如使用命名来传达意思,但转载 2016-01-18 14:12:11 · 564 阅读 · 0 评论 -
Yii中CDbCriteria常用总结
Yii的Active Recorder包装了很多。特别是把SQL中 把where,order,limit,IN/not IN,like等常用短句都包含进CDbCriteria这个类中去,这样整个代码会比较规范,一目了然。 $criteria =newCDbCriteria; $criteria->addCondition("id=1"); //查询条件,即whe转载 2016-01-18 15:00:26 · 256 阅读 · 0 评论 -
Yii 如何在ActiveRecord自动化记录时间戳
有很多方法可以自动化设置在ActiveRecord模型中yii时间戳。下面介绍两种方法:通过rules()通过beforeSave()我们需要开始建立数据库表。[sql]CREATE TABLE IF NOT EXISTS `Nodes` ( `id` bigint(20) NOT NULL auto_increment, `title` varchar(255) NOT转载 2016-01-18 15:00:50 · 2072 阅读 · 0 评论 -
PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令,也不是。。。。怎么解决?
PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令,也不是。。。。怎么解决?我用的是wamp集成环境。Yii路径 D:\wamp\www\YiiDemo\ 环境变量也加了D:\wamp\php\php.exe是这样的: 原因是 Yii 自带的yiic.bat 找不到php.exe.解决方法: 用notepad++打开yii/转载 2016-01-18 15:02:39 · 373 阅读 · 0 评论 -
Yii 常量的轻松管理
问题我经常在不同的地方使用模型中的常量(基本状态常量),当常量改变时我不得不在使用每处它的代码中修改。获取常量为了解决这个问题我使用了一个方法 getConstants().[php]public static function getConstants($token,$objectClass) { $tokenLen = strlen($token); $r转载 2016-01-18 13:55:44 · 291 阅读 · 0 评论 -
Yii 自动设置模型的字段值
这篇教程讲解了怎样不使用代码来实现自动填充模型中的字段值。场景我正在做一个大项目的管理面板,在所有的数据库表中几乎都包含4个同样的字段。createdDate (记录的创建时间)createdIp (创建记录者的 IP)updatedDate (记录更新的时间)updatedIp (记录更新者的 IP)我已经使用 gii 工具创建了 CURD。现转载 2016-01-18 13:55:17 · 845 阅读 · 0 评论 -
使用CForm类(Form builder)上传文件
虽然有很多单独的文件上传和 CForm(form builder)的文档,当没有两者相结合的例子。模型(model)首先需要一个文件上传的模型:FileUpload.php[php]<?phpclass FileUpload extends CFormModel { public $image; /** * @return array validat转载 2016-01-18 13:53:59 · 364 阅读 · 0 评论 -
yii计划任务
Yii 计划任务英文原文/Scheduling Jobs With Yii有时在你的应用中会有长时间运行或大量计算的工作, 我们不应该让用户等待服务器去处理它们,而应该是让他们在后台处理. 你可能需要在很晚的时间执行一些操作, 如在一天的结尾发送用户报告. 解决以上场景的解决办法是创建一个队列, 并且在非 web 端处理这个队列.Heroku 调度器Heroku 提供了一个叫做 "转载 2016-01-18 12:07:49 · 555 阅读 · 0 评论 -
Yii::app
应用代表了整个请求的运行过程。其主要任务是解析用户请求,并将其分配给相应的控制器以进行进一步的处理。它同时也是保存应用级配置的核心。因此,应用一般被称为“前端控制器”。在入口脚本中,应用被创建为一个单例。它可以在任何位置通过Yii::app()来被访问。应用配置默认情况下,应用是CWebApplication类的一个实例。要对其进行定制,转载 2016-01-18 12:09:02 · 349 阅读 · 0 评论 -
自定义验证规则
自定义验证规则很多时候 yii 提供的验证规则不符合我们的要求,所有我们需要自己定义符合自己的规则.简单的方法:在 model 内部定义规则最简单的定义验证规则的方法是在使用它的模型(model)内部定义。比方说,你要检查用户的密码是否足够安全.通常情况下你会使用 CRegularExpression 方法验证,但为了本指南,我们假设不存在此验证方法.首先在模型(model转载 2016-01-18 12:11:34 · 672 阅读 · 0 评论 -
简单的基于角色的访问控制
如果你需要简单的基于角色的访问控制而不是长长的RBAC过程,那么这篇文章非常适合你。让我们直入主题。用户模型在用户表中新增一列,列名 roles。建立相应的模型。在这里它将被命名为 “User”。当添加用户可以给他们分配角色 “管理员”,“用户”,“员工”等等。验证在文件 protected/components/UserIdentity.php 添加如下内容:[php]转载 2016-01-18 12:12:07 · 394 阅读 · 0 评论 -
Yii应用目录结构
下面的树图描述了我们这个应用的目录结构。请查看约定以获取该结构的详细解释。~~~ testdrive/ index.php Web 应用入口脚本文件 index-test.php 功能测试使用的入口脚本文件 assets/ 包含公开的资源文件 css/ 包含 CSS 文件 images/ 包含图片文件themes/ 包含应用主题 protected/ 包含受保护的应用文件 y转载 2016-01-18 12:16:46 · 327 阅读 · 0 评论 -
在yii中显示友好的时间格式
最近在写yii中文百科的程序时遇到了这个问题,本来我一直习惯的是 date("Y-m-d H:i",$time) 的方式。 不过现在很多的网站时间显示为几分钟前 、几小时前 、几周前...为了追赶潮流我也写了个方法来实现它。关于yii里面的格式yii框架为我们提供了把一些字符串、时间戳等数据格式化为指定格式的类 CFormatter,我使用的方法就是继承了它,然后在配置文件里面修改转载 2016-01-18 12:21:18 · 561 阅读 · 0 评论 -
使用CButtonColumn自定义CGridiew里面的按钮
简介CGridView是Yii中的一个灵活的插件,例如它使用CButtonColumn来为每行生成按钮.在这里我们会介绍怎么根据需求自定义按钮.默认按钮默认情况下 CButtonColumn 包含三个按钮:{查看(view)},{更新(update)}和{删除(delete)},它们的含义是显而易见的.自定义它们的外观和行为的最简单的方法是使用CButtonColumn的属性,如:转载 2016-01-18 13:48:13 · 324 阅读 · 0 评论 -
Yii 缓存
缓存是提升Web应用性能的简便有效的方式。通过将相对静态的数据存储到缓存并在收到请求时取回缓存,我们便节省了生成这些数据所需的时间。在 Yii 中使用缓存主要包括配置并访问一个应用组件。 下面的应用配置设定了一个使用两个 memcache 缓存服务器的缓存组件。array( ...... 'components'=>array( ......转载 2016-01-18 13:51:58 · 222 阅读 · 0 评论 -
如何在指定的动作中加载 Yii-bootstrap 扩展
我在使用 Yii-Bootstrap extension 时遇到了个大问题,由于预加载机制使所有的 AJAX 请求都会初始化 bootstrap。这是资源的极大浪费,尤其是使用基于 AJAX 的文件上传工具拆分大文件上传时,会初始化 bootstrap 上百次。我最终是禁用了预加载而使用过滤器来加载bootstrap禁用 bootstrap 预加载: /protect/config/m转载 2016-01-18 15:10:11 · 317 阅读 · 0 评论