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下创建字段并设置主键的php代码
May 16 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
php 常用算法和时间复杂度
Jul 01 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
php生成随机颜色的方法
Nov 13 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP实现验证码校验功能
Nov 16 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的宝库目录--PEAR
2006/10/09 PHP
php笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
python中类的一些方法分析
2014/09/25 Python
Python缩进和冒号详解
2016/06/01 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
简单了解python的一些位运算技巧
2019/07/13 Python
服装促销活动方案
2014/02/23 职场文书
个人委托书范本
2014/04/02 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
歼十出击观后感
2015/06/11 职场文书
学校证明范文
2015/06/24 职场文书
新人入职感言
2015/07/31 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
Java实战之用Swing实现通讯录管理系统
2021/06/13 Java/Android
关于MySQL中的 like操作符详情
2021/11/17 MySQL
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL