调用YII框架中 jquery:Yii::app()->clientScript->registerCoreScript(‘jquery’);
framework/web/js/source的js,其中registerCoreScript key调用的文件在framework/web/js/packages.php列表中可以查看
在view中得到当前controller的ID方法 :Yii::app()->getController()->id;
在view中得到当前action的ID方法 :Yii::app()->getController()->getAction()->id;
yii获取ip地址 :Yii::app()->request->userHostAddress;
yii判断提交方式 :Yii::app()->request->isPostRequest
得到当前域名: Yii::app()->request->hostInfo
得到proteced目录的物理路径 :YII::app()->basePath;
获得上一页的url以返回 :Yii::app()->request->urlReferrer;
得到当前url :Yii::app()->request->url;
得到当前home url :Yii::app()->homeUrl
得到当前return url :Yii::app()->user->returnUrl
项目路径 :dirname(Yii::app()->BasePath)
项目目录 Yii::app()->request->baseUrl 只输出一个连接(url)
<?php echo $this->createUrl('admin/left_menu'); ?> //**.php?r=admin/left_menu
输出一组url(yii url 默认样式)
<?php $this->widget('zii.widgets.CMenu',array( 'items'=>array( array('label'=>'主菜单', 'url'=>array('/admin/left_menu')), array('label'=>'内容发布', 'url'=>array('/admin/page')), array('label'=>'内容维护', 'url'=>array('/site/contact')), array('label'=>'系统主页', 'url'=>array('/site/login')), array('label'=>'网站主页', 'url'=>array('/site/logout')), array('label'=>'会员中心', 'url'=>array('/site/login')), array('label'=>'注销', 'url'=>array('/site/login')), ), )); ?>
//除域名外的URL
Yii::app()->request->getUrl();
除域名外的首页地址
Yii::app()->user->returnUrl;
6、//除域名外的根目录地址 Yii::app()->homeUrl;
YII FRAMEWORK的COOKIE使用方法
在控制器添加CSS文件或JAVASCRIPT文件
public function init() { parent::init(); Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css'); Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js'); }
YII FRAMEWORK的用户验证与授权
YII FRAMEWORK中TRASACTION事务的应用
$model=Post::model(); $transaction=$model->dbConnection->beginTransaction(); try { // find and save are two steps which may be intervened by another request // we therefore use a transaction to ensure consistency and integrity $post=$model->findByPk(10); $post->title='new post title'; $post->save(); $transaction->commit(); } catch(Exception $e) { $transaction->rollBack(); }
CBREADCRUMBS简介~俗称:面包屑
YII FRAMEWORK的CHTML::LINK支持锚点
YII FRAMEWORK在WEB页面查看SQL语句配置
$user = 模型->model()->findAll(); foreach($user $v) { var_dump($v->attributes); }
yii 数据save后得到插入id
$post->save();
//得到上次插入的Insert id
$id = $post->attributes[‘id’];
如此很简单
//得到上次插入的Insert id
$id = $post->attributes[‘id’];
如此很简单
yii获取ip地址
Yii::app()->request->userHostAddress;
yii execute后获取insert id
$id = Yii::app()->db->getLastInsertID();
yii获取get,post过来的数据
Yii::app()->request->getParam(‘id’);
yii如何设置时区
可以在config/main.php 里’timeZone’=>’Asia/Chongqing’,设定时区.
yii如何将表单验证提示弄成中文的
将main.php里的app配置加上language=>’zh_cn’,系统默认的提示就是中文的了,要自定义消息就像楼上说的定义message
yii如何获得上一页的url以返回
Yii::app()->request->urlReferrer;
yii多对多关联条件
同时要在Shop模型中加入alias=’categorys’ ,另外together=true放在模型的关联中也可
yii如何防止重复提交?
提交后Ccontroler->refresh();
yii过滤不良代码
或者
显示yii的sql语句查询条数和时间
在config/main.php中配置在log组件的routes中加入
array( 'class'=>'CProfileLogRoute', 'levels'=>'error, warning', )
同时在db组件中加入’enableProfiling’=>true,同时在这种情况下,可以用CDbConnection::getStats() 查看执行了多少个语句,用了多少时间print_r(CDbConnection::getStats());
Yii多数据库操作
大多数情况下,我们都会采用同一类型的数据库,只是为了缓解压力分成主从或分布式形式而已。声明你可以在app config里声明其它的数据库连接:
<?php ...... 'components'=>array( 'db'=>....// 主链接 'db1'=>...// 从连接1 'db2'=>...// 从连接2 )
……操作在代码里,可以通过Yii::app()->db1和Yii::app()->db2获得两个从连接。高级操作更高级(自动)的主从数据库功能将在1.1实现。