yii2 0的學習之旅(二)

2022-08-29 09:09:10 字數 3944 閱讀 2525

前言:上一次我們簡單認識了一下yii2.0安裝,模型基本(增,刪,改,查)操作

一、前後臺資料互動

*如果你覺得預設的top樣式太醜,可以這樣關掉*

*底部也可以這樣關掉*

(1)mvc合作運算元據

控制器(c),顯示方法與接收方法

/*

* * 列表

* @return string

*/public

function

actionindex()

/*** 新增

* @return string

*/public

function

actionadd()

else

}/**

* 編輯

* @return string

*/public

function

actionupdate()

else

post請求方式,多維陣列

$a_id = $postparams['fcarticle']['a_id'];

}$model = fcarticle::findone(array('a_id'=>$a_id

));

else

}

模型(m),自己在原來的基礎上封裝了一下

框架分頁要引用乙個檔案

use yii\data\pagination;    //

分頁類

/*

* * 根據條件查詢多條資料

* @param string $field 字段

* @param array $condition 條件

* @param string $order 排序

* @param bool $page 是否有分頁

* @param int $pagesize 頁數

*/public

static

function getconditionbylist($field = '',$condition = array(),$order = 'a_id desc',$page = false,$pagesize = 10)

self::$countries = $query

->where($condition

) ->orderby($order

) ->offset(self::$pagination->offset)//

偏移量 ->limit(self::$pagination->limit)

->all();//

查詢到的分頁後的資料

}else

self::$countries = $query

->where($condition

) ->orderby($order

) ->all();//

查詢到的分頁後的資料

} }

/*** 根據條件獲取總數

* @param array $condition

* @return int|string

*/public

static

function getconditioncount($condition = array

()) /**

* 根據條件查詢單條資料

* @param string $field

* @param array $condition

* @return fcarticle|array|null

*/public

function getoneconditioninfo($field = '',$condition = array

())

return

$query->where($condition)->one();

}

檢視(v)渲染,這裡用的都是yii2.0內建的form元件

index.php(列表)

<?php 

useyii\helpers\html;

useyii\grid\gridview;

use yii\widgets\linkpager; //

引用分頁link

?>= html::a('新增', ['test/add'], ['class' => 'profile-link']) ?>

class="list">

class="l-l-h">

class="l-h">標題

class="l-h">作者

class="l-h">操作

class="clear">

<?php foreach ($list

as$key=>$value)?>

<?php

if($is_page)?>

add.php(增加)

<?php 

useyii\helpers\html;

useyii\widgets\activeform;

$form = activeform::begin(['action' => ['test/add'],'method'=>'post']);

?>

= $form->field($model, 'article_title')->label('標題名') ?>

= $form->field($model, 'author')->label('作者') ?>

= html::submitbutton('提交', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>

<?php

activeform::end

()?>

update.php(編輯)

<?php 

useyii\helpers\html;

useyii\widgets\activeform;

$form = activeform::begin(['action' => ['test/update'],'method'=>'post']);

?>

= $form->field($model, 'article_title')->label('標題名') ?>

= $form->field($model, 'author')->label('作者') ?>

= $form->field($model, 'a_id')->hiddeninput(['value'=>$a_id]) ?>

= html::submitbutton('提交', ['class'=>'btn btn-primary','name' =>'submit-button']) ?>

<?php

activeform::end

()?>

yii2.0注意事項1、控制器方法名必須是小駝峰方式;

例如:actionformadd,錯誤:actionformadd(這種是訪問不到的)

2、本來打算是用原生form標籤,但是,發現不好相容驗證規則,所以做罷

相關**

yii2表單驗證方法:

yii2.0 activeform表單部分元件使用方法:

yii2.0 控制器方法 檢視表單 form表單處:

yii 2 0 寫入日誌

首先,我們的 web.php 配置檔案中,更改於下 log tracelevel yii debug 3 0,targets class yii log filetarget levels error warning trace 在 levels 中,增加了 trace,使用如下 yii trace...

yii 2 0 寫入日誌

首先,我們的 web.php 配置檔案中,更改於下 log tracelevel yii debug 3 0,targets class yii log filetarget levels error warning trace 在 levels 中,增加了 trace,使用如下 yii trace...

yii2 0框架報錯

在action中執行echo,var dump等方法後沒有中斷,yii1.0中ajax方法返回資料可以直接通過echo獲取,但是yii2.0的response類中增加了對於返回輸出資訊的定義,所以當echo後沒有中斷程式,yii自帶的 就會出錯,不過目前我發現的情況是,只有在返回的資料結構複雜的情況...