目錄
YII路径的用法总结,YII路径用法总结
YII中怎使用model中的search
Yii登陆 我想用自己的view模板页面,但是又想复用yii自带的验证登陆controller
首頁 php教程 php手册 YII路径的用法总结,YII路径用法总结

YII路径的用法总结,YII路径用法总结

Jun 13, 2016 am 09:29 AM
yii 路徑

YII路径的用法总结,YII路径用法总结

在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="http://www.bkjia.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'); 
<&#63;php echo $this->module->assetsUrl; &#63;>/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/' 
), 
<&#63;php echo $this->getLayoutFile('main'); &#63;>
$this->redirect('index.php&#63;r=admin/manage');
{createUrl()}
echo $this->createUrl('urlBoyLeeTest'); 
//out => /yii_lab/index.php&#63;r=lab/urlBoyLeeTest 
$this->createUrl('post/read') // /index.php/post/read 
<&#63;php echo Yii::app()->request->baseUrl; &#63;>/css/screen.css 
Yii::app()->theme->baseUrl.'/images/FileName.gif'  
{createAbsoluteUrl()}
echo $this->createAbsoluteUrl('urlBoyLeeTest'); 
//out => http://localhost/yii_lab/index.php&#63;r=lab/urlBoyLeeTest 
登入後複製

YII中怎使用model中的search

你这个方法写的没问题,但是如果是多表联查,不建议写在search方法里面,yii自动生成model的时候,一般会生成search方法,search方法一般作为该model的查询使用,即单独的一张表查询。

如果多张表联查,再写一个方法多好啊!而且,查询方法写在action中即可,多表查询没必要写在model里面啊

哈哈 以上只是个人习惯 仅供参考。

CActiveDataProvider 返回的查询结果,一般通过getData方法获取一个list数组,网上yii的例子很多,楼主随便查一下就明白了
 

Yii登陆 我想用自己的view模板页面,但是又想复用yii自带的验证登陆controller

controller, model和view本来就是独立的,你就直接套用你想要的view模板就好了,只要view表单中使用yii的CActiveForm widget就可以实现验证功能
 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

主題背景位於 Windows 11 中的什麼位置? 主題背景位於 Windows 11 中的什麼位置? Aug 01, 2023 am 09:29 AM

Windows11具有如此多的自訂選項,包括一系列主題和桌布。雖然這些主題以自己的方式是美學,但有些用戶仍然想知道他們在Windows11上的後台位置。本指南將展示造訪Windows11主題背景位置的不同方法。什麼是Windows11預設主題背景? Windows11預設主題背景是一朵盛開的抽象寶藍色花朵,背景為天藍色。這種背景是最受歡迎的背景之一,這要歸功於作業系統發布之前的預期。但是,作業系統還附帶了一系列其他背景。因此,您可以隨時變更Windows11桌面主題背景。主題背景儲存在Windo

斜線和反斜線在檔案路徑中的不同使用 斜線和反斜線在檔案路徑中的不同使用 Feb 26, 2024 pm 04:36 PM

檔案路徑是作業系統中用於識別和定位檔案或資料夾的字串。在檔案路徑中,常見的有兩種符號分隔路徑,即正斜線(/)和反斜線()。這兩個符號在不同的作業系統中有不同的使用方式和意義。正斜線(/)是Unix和Linux系統中常用的路徑分隔符號。在這些系統中,檔案路徑是以根目錄(/)為起始點,每個目錄之間使用正斜線進行分隔。例如,路徑/home/user/Docume

如何修復錯誤:在Java中找不到或載入主類 如何修復錯誤:在Java中找不到或載入主類 Oct 26, 2023 pm 11:17 PM

由於技術錯誤,無法播放此影片。 (錯誤代碼:102006)本指南提供了針對此常見問題的簡單修復,並繼續您的編碼之旅。我們還將討論Java錯誤的原因以及將來如何防止它。什麼是Java中的「錯誤:找不到或載入主類別」? Java是一種強大的程式語言,使開發人員能夠創建廣泛的應用程式。然而,它的多功能性和效率伴隨著開發過程中可能發生的一系列常見錯誤。其中一個中斷是錯誤:找不到或載入主類別user_jvm_args.txt,當Java虛擬機器(JVM)找不到主類別來執行程式時會出現這種情況。此錯誤充當了障礙,甚至在

Win11系統中「我的電腦」路徑有何不同?快速找方法! Win11系統中「我的電腦」路徑有何不同?快速找方法! Mar 29, 2024 pm 12:33 PM

Win11系統中「我的電腦」路徑有何不同?快速找方法!隨著Windows系統的不斷更新,最新的Windows11系統也帶來了一些新的變化和功能。其中一個常見的問題是使用者在Win11系統中找不到「我的電腦」的路徑,這在先前的Windows系統中通常是很簡單的操作。本文將介紹Win11系統中「我的電腦」的路徑有何不同,以及快速尋找的方法。在Windows1

使用path/filepath.Dir函數取得檔案路徑的目錄部分 使用path/filepath.Dir函數取得檔案路徑的目錄部分 Jul 27, 2023 am 09:06 AM

使用path/filepath.Dir函數取得檔案路徑的目錄部分在我們的日常開發過程中,經常會涉及到檔案路徑的處理。有時候,我們需要取得檔案路徑的目錄部分,也就是檔案所在資料夾的路徑。在Go語言中,可以使用path/filepath套件提供的Dir函數來實現這個功能。 Dir函數的簽章如下:funcDir(pathstring)stringDir函式接收一個字

Linux核心原始碼存放路徑解析 Linux核心原始碼存放路徑解析 Mar 14, 2024 am 11:45 AM

Linux內核是一個開源的作業系統內核,其原始碼儲存在一個專門的程式碼倉庫中。在本文中,我們將詳細解析Linux核心原始碼的存放路徑,並透過具體的程式碼範例來幫助讀者更好地理解。 1.Linux核心原始碼存放路徑Linux核心原始碼儲存在一個名為linux的Git倉庫中,該倉庫託管在[https://github.com/torvalds/linux](http

Python 3.x 中如何使用os.path模組來取得檔案路徑的各個部分 Python 3.x 中如何使用os.path模組來取得檔案路徑的各個部分 Jul 30, 2023 pm 02:57 PM

Python3.x中如何使用os.path模組來取得檔案路徑的各個部分在日常的Python程式設計中,我們經常需要對檔案路徑進行操作,例如取得路徑的檔案名稱、檔案目錄、副檔名等等。在Python中,可以使用os.path模組來進行這些操作。本文將介紹如何使用os.path模組來取得檔案路徑的各個部分,以便更好地操作檔案。 os.path模組提供了一系

如何查找Linux系統中RPM檔案的儲存路徑? 如何查找Linux系統中RPM檔案的儲存路徑? Mar 14, 2024 pm 04:42 PM

在Linux系統中,RPM(RedHatPackageManager)是一種常見的軟體套件管理工具,用於安裝、升級和移除軟體套件。有時候我們需要找到某個已安裝的RPM檔案的儲存路徑,以便進行尋找或其他操作。以下將介紹在Linux系統中如何找到RPM檔案的儲存路徑,同時提供具體的程式碼範例。首先,我們可以使用rpm指令來尋找已安裝的RPM套件及其儲存路徑。打開

See all articles