摘要:
如果是 // 就会默认去调protected/views/layouts ,//代表 绝对路径其实 就是 绝对和相对的关系/代表相对路径,如module/user下的layout用单斜杠的话默认会先找当前已经激活的模块底下的view,若当前未有激活的模块则从系统根目录下开始找,双斜杠的话就直接从系统... 阅读全文
随笔分类 - web---php框架
YII model模型和登陆详解
2014-06-17 11:37 by youxin, 1085 阅读, 收藏, 编辑
摘要:
模型是CModel或其子类的实例。模型用于保持数据以及与其相关的业务逻辑。模型是单独的数据对象。它可以是数据表中的一行,或者一个用户输入的表单。 数据对象的每个字段对应模型中的一个属性。每个属性有一个标签(label), 并且可以通过一系列规则进行验证。Yii 实现了两种类型的模型:表单模型和 Ac... 阅读全文
Yii CActiveForm
2014-06-17 10:20 by youxin, 285 阅读, 收藏, 编辑
摘要:
http://www.yiiframework.com/doc/api/1.1/CActiveFormCActiveForm provides a set of methods that can help to simplify the creation of complex and interac... 阅读全文
Yii widget使用
2014-04-04 22:27 by youxin, 854 阅读, 收藏, 编辑
摘要:
关于widgets,他们在yii中的关系如下system.web.widgets 系统自带最基本的widgetzii.widgets 是基本扩展zii.widgets.grid 是基本扩展的重要分支zii.widgets.jui 是插件扩展CWidget:http://www.yiiframewor... 阅读全文
YII 主题
2014-04-03 09:50 by youxin, 427 阅读, 收藏, 编辑
摘要:
heming是一个在Web应用程序里定制网页外观的系统方式。通过采用一个新的主题,网页应用程序的整体外观可以立即和戏剧性的改变。在Yii,每个主题由一个目录代表,包含view文件,layout文件和相关的资源文件,如图片, CSS文件, JavaScript文件等。主题的名字就是他的目录名字。全部主题都放在在同一目录WebRoot/themes下 。在任何时候,只有一个主题可以被激活。提示:默认的主题根目录WebRoot/themes可被配置成其他的。只需要配置themeManager应用部件的属性basePath和baseUrl为你所要的值。要激活一个主题,设置Web应用程序的属性theme 阅读全文
Yii框架 多数据库、主从、读写分离
2014-03-31 22:45 by youxin, 1807 阅读, 收藏, 编辑
摘要:
Yii是可以在配置文件里声明多个数据库连接,然后通过Yii::app()->db1,Yii::app()->db2...来访问它们,并且也实现了更高级(自动)的主从数据库功能。最近因为一个项目的关系,要通过Yii实现动态从库的功能,即通过数据库中的配置从动态的从库中操作数据。比如从主库查出当前用户时... 阅读全文
Yii日志使用
2014-03-31 22:33 by youxin, 3478 阅读, 收藏, 编辑
摘要:
Yii 提供了一个灵活可扩展的日志功能。记录的日志 可以通过日志级别和信息分类进行归类。通过使用 级别和分类过滤器,所选的信息还可以进一步路由到 不同的目的地,例如一个文件,Email,浏览器窗口等。信息可以通过Yii::log或Yii::trace记录。其 区别是后者只在当应用程序运行在调试模式(... 阅读全文
Yii框架下不同contoller之间的方法调用
2014-03-26 23:10 by youxin, 417 阅读, 收藏, 编辑
摘要:
一个contoller CustomerController里怎么调用另一个controller里的action,Acontoller调用SiteContoller的actionShow($id), url显示上是Customer/index$control=Yii::app()->runController('site/show/id/2');不带参数的actionShow()$control=Yii::app()->runController('site/show');redirect使用方法$this->redirect(array(&# 阅读全文
转:Yii 常量的轻松管理
2014-03-04 20:34 by youxin, 422 阅读, 收藏, 编辑
摘要:
问题我经常在不同的地方使用模型中的常量(基本状态常量),当常量改变时我不得不在使用每处它的代码中修改。获取常量为了解决这个问题我使用了一个方法getConstants().public static function getConstants($token,$objectClass) { $tokenLen = strlen($token); $reflection = new ReflectionClass($objectClass); //php built-in $allConstants = $reflection->getConstants(); //const... 阅读全文
YII增加全局函数
2014-03-04 20:02 by youxin, 749 阅读, 收藏, 编辑
摘要:
法1:在使用Yii开发中我们经常会遇到一个问题,每次使用Yii的组件、扩展等,我们会像下面一样去写:user;Yii::app()->getClientScript();Yii::app()->params['name'];...这使我们用起来很不方便,我在yiiFramework上看到了一篇解决这个问题的 WikiUse shortcut functions to reduce typing, 因为上面的英文很简单就不去翻译了,这里我只说明一下用法,创建全局文件globals.php把快捷函数放到这个全局文件里面。全局文件放到protected文件夹下面,然后在入 阅读全文
Yii创建前台和后台登录表单和通过扩展 CWebUser 增加信息到 Yii::app()->user
2014-03-04 19:35 by youxin, 995 阅读, 收藏, 编辑
摘要:
我参考了这篇文章来构建项目的前台和后台的目录结构。感谢Andy的这篇文章。按照所有的步骤,您将有单独的前台和后台面板,如:http://localhost/index.php // 前台http://localhost/backend.php // 后台管理我使用了两个不同的数据模型来处理前台和后台... 阅读全文
Yii 引入 js和css
2014-03-04 19:07 by youxin, 797 阅读, 收藏, 编辑
摘要:
//向控制器指定的页面注册新的css文件Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/mycss.css');//向控制器指定的页面注册新的css,签入的页面中css1代表这段代码的唯一标示,如果有相同的标示,后面的会替代前面的css片段Yii::app()->clientScript->registerCss("css1","body{font-size:25px;}");//向控制器指定的页面注册新的js文件Yii: 阅读全文
YII 事件event和行为Behavior
2014-03-04 18:42 by youxin, 1270 阅读, 收藏, 编辑
摘要:
To declare an event in your CComponent child class, you should add a method with aname starting with on. For example, if you add the onRegister method, you will get acorresponding event declared.A method used to declare an event becomes the defaultevent handler.Typically, events are used like this:1 阅读全文
Yii数据库
2014-03-03 21:38 by youxin, 214 阅读, 收藏, 编辑
摘要:
http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.arhttp://zhengdl126.iteye.com/blog/1460779http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.dao 阅读全文
Yii render 渲染
2014-03-03 21:36 by youxin, 353 阅读, 收藏, 编辑
摘要:
http://zccst.iteye.com/blog/1343613http://hi.baidu.com/r61ethinkpad/item/7aee702d91f5288eae48f57b 阅读全文
yiic模块module使用
2014-03-03 14:39 by youxin, 286 阅读, 收藏, 编辑
摘要:
模块是一个独立的软件单元,它包含模型,视图,控制器和其他支持的组件。 在许多方面上,模块看起来像一个应用。主要的区别就是模块不能单独部署,它必须存在于一个应用里。 用户可以像他们访问普通应用的控制器那样访问模块中的控制器。模块在一些场景里很有用。对大型应用来说,我们可能需要把它划分为几个模块,每个模块可以单独维护和部署。一些通用的功能,例如用户管理, 评论管理,可以以模块的形式开发,这样他们就可以容易地在以后的项目中被复用。1. 创建模块模块组织在一个目录中,目录的名字即模块的唯一ID。 模块目录的结构跟应用基础目录很相似。下面列出了一个fourm的模块的典型的目录结构:forum/ Fo.. 阅读全文
Smarty 插件开发
2014-02-20 19:28 by youxin, 435 阅读, 收藏, 编辑
摘要:
插件包含了:functionsmodifiersblock functionscompiler functionsprefilterspostfiltersoutputfiltersresourcesinserts除了资源插件以外,为了向上兼容还是保留了通过register_* API来注册插件的方式。 如果你不是使用API方式而是使用直接修改$custom_funcs,$custom_mods等方式,那么你需要调整你的代码,改为通过API方式或 转换成自定义插件。插件如何工作 插件是按需载入的。当特定的修饰器,函数,资源等被调用的时候插件才会被载入。 而且,即使同一请求中有多个Smarty实 阅读全文
Smarty 使用继承方式实现配置
2014-02-20 19:23 by youxin, 612 阅读, 收藏, 编辑
摘要:
. 常用配置选项在使用Smarty模板引擎之前,我们必须先学习如何配置Smarty的选项。而在Smarty的常见选项中,我们首先必须了解4个最基本的目录选项。模板目录(template):本目录用于存储模板文件,需要渲染对应文件时把文件相对地址作为参数传入display方法即可。比如,我们有一个模板文件地址位于template/test/index.tpl,那么我们则应当使用“$smarty->display('test/index.tpl');”语句来渲染该模板。编译模板目录(template_c):本目录主要用于存储Smarty模板引擎产生的模板编译文件,Smarty 阅读全文
Smarty include使用
2014-02-20 18:33 by youxin, 1543 阅读, 收藏, 编辑
摘要:
{include}{include}用于载入其他模板到当前模板中。 在包含模板中可用的变量,载入后在当前模板仍然可用。{include}必须设置file属性,设置载入的文件资源路径。设置了可选的assign属性,将{include}模板的内容赋值到变量,而并非输出。 与{assign}操作相似。包含模板时,可以像使用属性一样设置传递的变量。 这样传递的变量,作用范围仅限于包含的模板内。 属性传递的变量将覆盖原包含模板的同名变量。你可以在当前模板内使用包含模板的全部变量。 但是如果包含模板内有修改或者新建变量,那么这些变量只有包含模板的作用范围,而不可以是当前{include}模板中使用。 这种 阅读全文
Smarty for foreach 使用
2014-02-19 20:57 by youxin, 876 阅读, 收藏, 编辑
摘要:
{for}{for}{forelse}用于创建一个简单的循环。 下面的几种方式都是支持的:{for $var=$start to $end}步长1的简单循环。{for $var=$start to $end step $step}指定步长的循环。{forelse}在循环不能遍历的时候执行。(类似python中的else)属性:参数名称缩写类型必选参数默认值说明maxn/aintegerNon/a循环的次数可选标记:名称说明nocache关闭{for}循环的缓存Example7.27.简单的{for}循环{for $foo=1 to 3} {$foo}{/for} 输出: 1 ... 阅读全文