YiiFramework エントリーのナレッジポイントの概要 (グラフィックチュートリアル)、yiiFramework ナレッジポイント_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:02:19
オリジナル
614 人が閲覧しました

YiiFramework入門知識ポイントまとめ(画像とテキストチュートリアル)、yiiframework知識ポイント

この記事はYiiFramework入門知識ポイントをまとめています。参考のために皆さんと共有してください。詳細は次のとおりです:

Yii アプリケーションのスケルトンを作成する

web は Web サイトのルート ディレクトリです
yiic webapp /web/demo

GIIを通じてモデルとCURDを作成するときは注意する必要があります

1.モデルジェネレーターの操作

テーブル接頭辞がある場合でも、テーブル名にはテーブルの完全な名前、つまりテーブル接頭辞を含む名前を入力する必要があります。以下に示すように:

2.クラッドジェネレーターの操作

このインターフェースでは、モデルクラスにモデル名を入力します。最初の文字を大文字にします。モデルを生成するときに、proctected/models ディレクトリ内のモデル ジェネレーターによって生成されたファイル名を参照することもできます。以下に示すように:

news、newstype、statustype の 3 つのテーブルの CURD コントローラーを生成する場合、モデル ジェネレーターで、モデル クラスに News、newsType、および StatusType と入力します。大文字と小文字は作成されたファイル名と同じです。 NEWSやニュースと書かれている場合はNGです。

モジュール作成時の注意事項

GII を通じてモジュールを作成する場合、モジュール ID は通常小文字です。いずれの場合も、ここに入力された ID によって main.php 構成ファイル内の構成が決まります。以下の通り:

リーリー

ルーティング

system は yii フレームワークのフレームワーク ディレクトリを表します
application は、作成されたアプリケーションの下の保護されたディレクトリ (d:wwwrootblog など) を表します。
application.modules.Admin.AdminModule
アプリケーションディレクトリの下の modules ディレクトリの下の Admin ディレクトリにある AdminModules.php ファイルを表します (例: d:wwwrootblogprotected) (実際にはファイルのクラスの名前を指します)
システムデータベース*
YII フレームワークのフレームワーク ディレクトリ内の db ディレクトリ内のすべてのファイルを表します。

コントローラー内のaccessRulesの説明

リーリー

上記のコードのコメントを参照してください。

user: ユーザーのセッション情報を表します。詳しくは、API: CWebUser
を参照してください。 CWebUser は、Web アプリケーションの永続的な状態を表します。
CWebUser は、ID user を持つアプリケーション コンポーネントとして機能します。したがって、ユーザー ステータス には、Yii::app()->user

を介してどこからでもアクセスできます。 リーリー

getter メソッドまたは/および setter メソッド

リーリー

モデル/User.php

リーリー

その他の関連情報:

リーリー

モデル内のルールメソッド

リーリー

説明:

1. 検証フィールドはユーザーが入力した属性である必要があります。ユーザーが入力していないコンテンツは検証する必要がありません。
2. データベース内の操作フィールド (作成時間、更新時間、その他のフィールドなど、システムによって生成された場合でも、boyLee が提供する yii_computer ソース コードでは、システムによって生成されたこれらの属性は安全な場所に置かれません。参照)以下のコード)。 フォームで提供されていないデータについては、ルール メソッドで検証されていない限り、セーフに追加する必要があります。追加しないとデータベースに書き込むことができません

yii_computer のルール メソッドに関する News.php モデル

リーリー

ビューに動的コンテンツを表示する 3 つの方法

1. ビュー ファイルの PHP コードに直接実装します。たとえば、ビューに現在時刻を表示するには: コードをコピーします コードは次のとおりです:
2. 表示コンテンツをコントローラーに実装し、render

の2番目のパラメーターを通じてビューに渡します。

コントローラーメソッドには以下が含まれます:

リーリー

ファイルを表示:
コードをコピーします コードは次のとおりです:
呼び出された render() メソッドの 2 番目のパラメータのデータは配列 (配列型) です。 render() メソッドは配列内の値を抽出し、配列内のキーをビュー スクリプトに提供します。ビュースクリプトに指定されます。この例では、配列のキーは time、値は $theTime で、抽出された変数名 $time がビュー スクリプトで使用されます。これは、コントローラーからビューにデータを渡す方法です。

3. ビューとコントローラーは非常に近い兄弟であるため、ビュー ファイル内の $this は、このビューをレンダリングするコントローラーを参照します。前の例を変更し、値が現在の日付と時刻であるローカル変数の代わりに、コントローラー内のクラスのパブリック プロパティを定義します。次に、ビュー内の $this を通じてこのクラスのプロパティにアクセスします。

命名規則を表示する

表示ファイル名はActionIDと同じにしてください。ただし、これは推奨される命名規則にすぎないことに注意してください。実際、ビュー ファイル名は ActionID と同じである必要はありません。ファイル名を最初のパラメータとして render() に渡すだけです。

DB関連

リーリー リーリー リーリー リーリー リーリー リーリー

$condition を使用して、より複雑なクエリ条件を指定することもできます。文字列を使用する代わりに、$condition を CDbCriteria のインスタンスにすることができます。これにより、WHERE に限定されない条件を指定できます。例:

$criteria=new CDbCriteria;
$criteria->select='title'; // 只选择'title' 列
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria); // $params 不需要了

ログイン後にコピー

注意,当使用CDbCriteria 作为查询条件时,$params 参数不再需要了,因为它可以在CDbCriteria 中指定,就像上面那样。

一种替代CDbCriteria 的方法是给find 方法传递一个数组。数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重写为如下:

$post=Post::model()->find(array(
 'select'=>'title',
 'condition'=>'postID=:postID',
 'params'=>array(':postID'=>10),
));

ログイン後にコピー

其它

1、链接
复制代码 代码如下:<?php echo CHtml::link(Controller::utf8_substr($val->title,0,26),array('prerfp/details','id'=>$val->rfpid),array('target'=>'_blank'));?>

具体查找API文档:CHtml的link()方法
复制代码 代码如下:<?php echo Controller::utf8_substr($val->title,0,26); ?>
具体请查找API文档:CController的createUrl()方法

以上两个连接效果等同

组件包含

一个示例:

在视图中底部有如下代码:
复制代码 代码如下:<?php $this->widget ( 'Notice' ); ?>

打开protected/components下的Notice.php文件,内容如下:

<?php
Yii::import('zii.widgets.CPortlet');
class Banner extends CPortlet
{
  protected function renderContent()
  {
    $this->render('banner');
  }
}

ログイン後にコピー

渲染的视图banner,是在protected/components/views目录下。

具体查看API,关键字:CPortlet

获取当前host

Yii::app()->request->getServerName();
//and
$_SERVER['HTTP_HOST'];
$url = 'http://'.Yii::app()->request->getServerName(); $url .= CController::createUrl('user/activateEmail', array('emailActivationKey'=>$activationKey));
echo $url;

ログイン後にコピー

关于在发布新闻时添加ckeditor扩展中遇到的情况

$this->widget('application.extensions.editor.CKkceditor',array(
  "model"=>$model,        # Data-Model
  "attribute"=>'news_content',     # Attribute in the Data-Model
  "height"=>'300px',
  "width"=>'80%',
"filespath"=>Yii::app()->basePath."/../up/",
"filesurl"=>Yii::app()->baseUrl."/up/",
 );

ログイン後にコピー

echo Yii::app()->basePath

如果项目目录在:d:\wwwroot\blog目录下。则上面的值为d:\wwwroot\blog\protected。注意路径最后没有返斜杠

echo Yii::app()->baseUrl;

如果项目目录在:d:\wwwroot\blog目录下。则上面的值为/blog。注意路径最后没有返斜杠

(d:\wwwroot为网站根目录),注意上面两个区别。一个是basePath,一个是baseUrl

其它(不一定正确)

在一个控制器A对应的A视图中,调用B模型中的方法,采用:B::model()->B模型中的方法名();

前期需要掌握的一些API
CHtml

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • Yii入门教程之目录结构、入口文件及路由设置
  • Yii入门教程之Yii安装及hello world
  • Yii PHP Framework实用入门教程(详细介绍)
  • Yii查询生成器(Query Builder)用法实例教程
  • Yii实现单用户博客系统文章详情页插入评论表单的方法
  • YII使用url组件美化管理的方法
  • Yii中CGridView实现批量删除的方法
  • Yii快速入门经典教程

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1085877.htmlTechArticleYiiFramework入门知识点总结(图文教程),yiiframework知识点 本文总结了YiiFramework入门知识点。分享给大家供大家参考,具体如下: 创建Yii应用骨...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!