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 存储文本换行实现方法
Jan 05 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
php学习之流程控制实现代码
Jun 09 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
PHP图片上传代码
Nov 04 PHP
分享一则PHP定义函数代码
Feb 26 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
php简单获取复选框值的方法
May 11 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
PHP使用函数用法详解
Sep 30 PHP
Laravel框架中缓存的使用方法分析
Sep 06 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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 日期时间处理函数小结
2009/12/18 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
Python中的列表知识点汇总
2015/04/14 Python
Python实现简单的代理服务器
2015/07/25 Python
python logging日志模块的详解
2017/10/29 Python
python多任务及返回值的处理方法
2019/01/22 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
毕业自我鉴定
2013/11/05 职场文书
煤矿班组长的职责
2013/12/25 职场文书
酒鬼酒广告词
2014/03/21 职场文书
警示教育活动总结
2014/05/05 职场文书
语文复习计划
2015/01/19 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
对公司的意见和建议
2015/06/04 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android