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 相关文章推荐
dedecms系统常用术语汇总
Apr 03 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
深入PHP curl参数的详解
Jun 17 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
php阳历转农历优化版
Aug 08 PHP
php+js实现的无刷新下载文件功能示例
Aug 23 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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实现可逆加密的方法
2015/08/11 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
syntaxhighlighter 使用方法
2007/07/02 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
vue超时计算的组件实例代码
2018/07/09 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Python基于PycURL实现POST的方法
2015/07/25 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
mac系统安装Python3初体验
2018/01/02 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
Python 如何实现访问者模式
2020/07/28 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
银行爱岗敬业演讲稿
2014/05/05 职场文书
城市创卫标语
2014/06/17 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers