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 会话(session 时间设定)使用入门代码
Jun 05 PHP
php根据日期判断星座的函数分享
Feb 13 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
PHP中的替代语法介绍
Jan 09 PHP
php操作redis缓存方法分享
Jun 03 PHP
php身份证号码检查类实例
Jun 18 PHP
php图像处理类实例
Jul 28 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
浅谈django中的认证与登录
2016/10/31 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
详解用python写一个抽奖程序
2019/05/10 Python
python程序变成软件的实操方法
2019/06/24 Python
Django REST framwork的权限验证实例
2020/04/02 Python
python模块内置属性概念及实例
2021/02/18 Python
使用CSS3制作饼状旋转载入效果的实例
2015/06/23 HTML / CSS
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
2013的个人自我评价
2013/12/26 职场文书
认购协议书范本
2014/04/22 职场文书
工商干部先进事迹
2014/05/14 职场文书
实习科室评语
2015/01/04 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
maven依赖的version声明控制方式
2022/01/18 Java/Android