YII路径的用法总结


Posted in PHP onJuly 09, 2014

在yii中如果是 // 就会默认去调 protected/views/layouts,//代表绝对路径。这其实就是绝对和相对的关系 /代表相对路径,如module/user下的layout。使用单斜杠的话默认会先找当前已经激活的模块底下的view,若当前未有激活的模块则从系统根目录下开始找,双斜杠的话就直接从系统根下开始找

Yii framework已经定义的命名空间常量:

system: 指向Yii框架目录; YII\framework
zii: 指向zii library 目录; YII\framework\zii
application: 指向应用程序基本目录;  protected\
webroot: 指向包含里入口脚本文件的目录. 此别名自 1.0.3 版起生效. \
ext: 指向包含所有第三方扩展的目录, 从版本 1.0.8 可用;  \protected\extensions

Yii::getPathOfAlias('zii') 
Yii::import ('zii.*')  
Yii::setPathOfAlias('backend', $backend); 
'import' => array( 
'backend.models.*',

应用的主目录是指包含所有安全系数比较高的PHP代码和数据的根目录。在默认情况下,这个目录一般是入口代码所在目录的一个目录: protected。这个路径可以通过在application configuration里设置 basePath来改变.

YII framework路径:

Yii::getFrameworkPath() 
{full URL}
http://localhost/yii_lab/index.php?r=lab/urlBoyLeeTest

protected/venders目录:

Yii::import('application.venders.*');

或在protected/config/main.php说明:

'import'=>array(  
    ......  
    'application.venders.*',  
  ),

插入meta信息:

Yii::app()->clientScript->registerMetaTag('keywords','关键字'); 
Yii::app()->clientScript->registerMetaTag('description','一些描述'); 
Yii::app()->clientScript->registerMetaTag('author','作者'); 
<link rel="alternate" type="application/rss+xml" href="https://3water.com/" />
Yii::app()->clientScript->registerLinkTag('alternate','application/rss+xml',$this->createUrl('/feed'));

在控制器添加CSS文件或JavaScript文件:

Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css'); 
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js'); 
<?php echo $this->module->assetsUrl; ?>/css/main.css

调用YII框架中framework/web/js/source的js,其中registerCoreScript key调用的文件在framework/web/js/packages.php列表中可以查看:

Yii::app()->clientScript->registerCoreScript('jquery');

在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)

如果你自己有个目录下有些类或文件常用,可以在main.php的最上边定义一个路径别名,别名可以被翻译为其相应的路径。

Yii::getPathOfAlias('webroot')

如果是多个可以在main.php中的array中加一个配置

'aliases'=>array( 
'local'=>'path/to/local/' 
), 
<?php echo $this->getLayoutFile('main'); ?>
$this->redirect('index.php?r=admin/manage');
{createUrl()}
echo $this->createUrl('urlBoyLeeTest'); 
//out => /yii_lab/index.php?r=lab/urlBoyLeeTest 
$this->createUrl('post/read') // /index.php/post/read 
<?php echo Yii::app()->request->baseUrl; ?>/css/screen.css 
Yii::app()->theme->baseUrl.'/images/FileName.gif'  
{createAbsoluteUrl()}
echo $this->createAbsoluteUrl('urlBoyLeeTest'); 
//out => http://localhost/yii_lab/index.php?r=lab/urlBoyLeeTest 
PHP 相关文章推荐
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
php中smarty区域循环的方法
Jun 11 PHP
PHP7 新特性详细介绍
Sep 06 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
PHP number_format函数原理及实例解析
Jul 14 PHP
YII实现分页的方法
Jul 09 #PHP
YII模块实现绑定二级域名的方法
Jul 09 #PHP
yii操作cookie实例简介
Jul 09 #PHP
Yii调试SQL的常用方法
Jul 09 #PHP
php判断GIF图片是否为动画的方法
Sep 04 #PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 #PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
Jul 08 #PHP
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
PHP Document 代码注释规范
2009/04/13 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
django解决跨域请求的问题
2018/11/11 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
python实现简易淘宝购物
2019/11/22 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
小学毕业典礼主持词
2014/03/27 职场文书
公司领导班子召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
活动主持人开场白
2015/05/28 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python