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实现的功能是显示8条基色色带
Oct 09 PHP
PHP怎样调用MSSQL的存储过程
Oct 09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
php生成随机数的三种方法
Sep 10 PHP
PHP使用递归生成文章树
Apr 21 PHP
php猜单词游戏
Sep 29 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
投标单位介绍信
2014/01/09 职场文书
《识字五》教学反思
2014/03/01 职场文书
青春演讲稿范文
2014/05/08 职场文书
国际会计专业求职信
2014/08/04 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
总经理岗位职责
2015/02/04 职场文书
停发工资证明范本
2015/06/12 职场文书
python 多态 协议 鸭子类型详解
2021/11/27 Python
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
MongoDB数据库之添删改查
2022/04/26 MongoDB