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 相关文章推荐
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP 导出数据到淘宝助手CSV的方法分享
Feb 27 PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP数组相关函数汇总
Mar 24 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
Laravel 关联模型-关联新增和关联更新的方法
Oct 10 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) static
2006/12/13 PHP
php 破解防盗链图片函数
2008/12/09 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
Web开发之JavaScript
2012/03/29 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
举例讲解Python常用模块
2019/03/08 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
酒店副总岗位职责
2013/12/24 职场文书
应届毕业生个人求职自荐信
2014/01/06 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
机关单位动员会主持词
2014/03/20 职场文书
协议书怎么写
2014/04/21 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android