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 各种应用乱码问题的解决方法
May 09 PHP
php防攻击代码升级版
Dec 29 PHP
深入分析php之面向对象
May 15 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
浅析PHP绘图技术
Jul 03 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 PHP
PHP也能干大事 随机函数
Apr 14 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
PHP模糊查询技术实例分析【附源码下载】
Mar 07 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php获取文件类型和文件信息的方法
2015/07/10 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
php车辆违章查询数据示例
2016/10/14 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
python类参数self使用示例
2014/02/17 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python如何实现FTP功能
2020/05/28 Python
导致python中import错误的原因是什么
2020/07/01 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
给客户的道歉信
2014/01/13 职场文书
服装发布会策划方案
2014/05/22 职场文书
新教师岗前培训方案
2014/06/05 职场文书
工商管理自荐书
2014/07/06 职场文书
党员个人总结范文
2015/02/14 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python