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 获取当前访问的url文件名的方法小结
Feb 08 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
php常见的魔术方法详解
Dec 25 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 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 5.3.0 安装分析心得
2009/08/07 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
php取出数组单个值的方法
2018/03/12 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
Python中分数的相关使用教程
2015/03/30 Python
Django框架中方法的访问和查找
2015/07/15 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python设置值及NaN值处理方法
2018/07/03 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
Python生成器generator原理及用法解析
2020/07/20 Python
模具设计与制造专业应届生求职信
2013/10/18 职场文书
社区庆八一活动方案
2014/02/02 职场文书
教师节获奖感言
2015/07/31 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python