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中实现图片的锐化
Oct 09 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
PHP 裁剪图片
Mar 09 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
pw的一个放后门的方法分析
2007/10/08 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
标准离婚协议书范文下载
2014/11/30 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
Win10 Anaconda安装python-pcl
2022/04/29 Servers