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'); <?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
你这个方法写的没问题,但是如果是多表联查,不建议写在search方法里面,yii自动生成model的时候,一般会生成search方法,search方法一般作为该model的查询使用,即单独的一张表查询。
如果多张表联查,再写一个方法多好啊!而且,查询方法写在action中即可,多表查询没必要写在model里面啊
哈哈 以上只是个人习惯 仅供参考。
CActiveDataProvider 返回的查询结果,一般通过getData方法获取一个list数组,网上yii的例子很多,楼主随便查一下就明白了
controller, model和view本来就是独立的,你就直接套用你想要的view模板就好了,只要view表单中使用yii的CActiveForm widget就可以实现验证功能

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









