您的位置:首页 > 编程语言 > PHP开发

YII学习笔记

2016-03-28 11:21 661 查看
1. % YiiRoot/framework/yiic webapp WebRoot/testdrive

2.默认Yii框架的URL规则是http://hostname/index.php?r=controllerName/actionName&id=1

3.$this->render('index',array('a'=>"123"));

4.
$hostname=Yii::app()->request->userHost;

$status=$_REQUEST['status'];

5.

'request'=>array(

'class'=>'CHttpRequest',

),

$host=Yii::app()->request->hostInfo;

$this->render('index',array('a'=>"123",'b'=>$host));

6.

$name=$_POST["name"];

$pass=$_POST["pass"];

$this->render('result',array('a'=>$name,'b'=>$pass));

7.改变显示模板 $this->layout = 'admin';

8.php yiic shell config/main.php

9.model Aadmins

crud Department

10. $model=Aadmins::model()->find();

print_r($model);

11.<formaction="/yemmys/yemmys/index.php?r=site/login"method="post">

12.<input name="LoginForm[username]"id="LoginForm_username" type="text" value=""/>

13.$this->redirect('index.php?r=admin/manage');

14.Yii::app()->user->name

15.public function actionLogout()

{

Yii::app()->user->logout();

$this->redirect(Yii::app()->homeUrl);

}

16.<?php echoYii::app()->request->baseUrl;?>/css/screen.css

17.dirname(Yii::app()->BasePath)

18.Yii::getPathOfAlias('webroot')

19.

array('modified','default',

'value'=>new CDbexpression_r('NOW()'),

'setOnEmpty'=>false,'on'=>'update'),

array('created,modified','default',

'value'=>new CDbexpression_r('NOW()'),

'setOnEmpty'=>false,'on'=>'insert')

20. ckeditor:

21.'viewButtonUrl'=>'Yii::app()->createUrl("/yemmysnews/view",array("id" => $data->newsid))',

22.在model里加:

publicfunction beforeSave()

{

$pass = md5($this->password);

$this->password = $pass;

return true;

}

23.Yii::app()返回的是我们在入口程序中建立的应用对象。

根据这个配置。我们可以在程序的任何地方通过使用 Yii::app()->db来获取连接到数据库的对象。

Yii::log('eeeee1231123','info');

$connection=Yii::app()->db;

$connection->active=true;

$command=$connection->createCommand("select`managername`,`password` from cdb_yemmysmanagers");

$command->execute(); // a non-query SQL statement execution

// or execute an SQL query and fetch the resultset

$reader=$command->query();

// each $row is an array representing a row ofdata

foreach($reader as $row)

{

Yii::log($row['password'],'info');

}

$connection->active=false;

24.Yii::log('1231123','info');

25.

array_push -- 将一个或多个单元压入数组的末尾(入栈) ,

将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。

array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

26.yii view 弹出新窗口

<script type="text/javascript">

$(function(){

$("a.view").attr("target","_blank");

});

</script>

27. Chtml

28.<?php echoCHtml::beginForm('','post',array('enctype'=>'multipart/form-data'));?>

29.验证码

(1)public function actions() {

returnarray(

'captcha'=> array(

//加载外部的action class

'class' => 'CCaptchaAction',

//设置验证码图片背景色属性

'backColor' => 0xffffff,

),

);

}

(2)

<?php widget("CCaptcha"); ?>

(3)

class User extends CActiveRecord {

public$verifyCode; //为User Model 设置一个新的属性

..........

publicfunction rules() {

return array(

.........

array('verifyCode', 'captcha', 'on'=>'login','allowEmpty'=> !extension_loaded('gd')),

);

}

...........

...........

}

(4)

public function accessRules()

{

return array(

array('allow', // allow allusers to perform 'index' and 'view' actions

'actions'=>array('index','view','create','captcha'),

'users'=>array('*'),

),

30.

array('email', 'unique'),

31.$this->redirect('index.php?r=controlpanel');

32.

<div class="row">

<?php echoCHtml::activeLabelEx($model,'laberid'); ?>

<?php

echoCHtml::activeDropDownList($model,'laberid',CHtml::listData(Labertab::model()->findAll(), 'laberid', 'name' ),array('prompt'=>'选择类别'));

?>

<?php echoCHtml::error($model,'laberid'); ?>

</div>

33.

public function beforeSave()

{

$pass = md5($this->password);

$this->password = $pass;

return true;

}

34.

$record=User::model()->findByAttributes(array('email'=>$this->email));

if($record!==null)

{

//echo $record->userid;

Yii::app()->user->setState('userid',$record->userid);

//echoYii::app()->user->getState('userid');

}

35.

<div class="row">

<?php echoCHtml::activeLabelEx($model,'platformid'); ?>

<?php

echoCHtml::activeDropDownList($model,'platformid',CHtml::listData(Platform::model()->findAll(), 'platformid', 'name'), $htmlOptions=array('encode' => false,$model->platformid=>array('selected'=>'selected')));

?>

<?php echoCHtml::error($model,'platformid'); ?>

</div>

<divclass="row">

<?php echoCHtml::activeDropDownList( $model, 'platformid', CHtml::listData(Platform::model()->findAll(), 'platformid', 'name'), array( 'encode' => false, 'options'=> array( $model->platformid=> array('selected' => true) ) ) );?>

</div>

36.

<?

echo CHtml::activeCheckBoxList($model, "example",CHtml::listData(Example::model()->findAll(), 'id','name'));

?>

37.

$this->widget('zii.widgets.grid.CGridView',array(

'dataProvider'=>$dataProvider,

'columns'=>array(

'id',

array(

'name'=>'category_name',

'value'=>'CHtml::link($data->category_name,$url)',//名称和URL

),

'category_style',

'sort_num',

array(

'class'=>'CButtonColumn',

),

),

38.

<?php

$this->widget('zii.widgets.grid.CGridView',array(

'dataProvider'=>$dataProvider,

'columns'=>array(

'attribute1_name',

'attribute2_name',

array(

'class'=>'CButtonColumn',

'viewButtonUrl'=>'Yii::app()->createUrl("/controllername/view",array("id" =>$data->model_id))',

'deleteButtonUrl'=>'Yii::app()->createUrl("/controllername/delete",array("id" =>$data->model_id))',

'updateButtonUrl'=>'Yii::app()->createUrl("/controllername/update",array("id" =>$data->model_id))',

),

),

));

?>

38.

array(

'class'=>'CButtonColumn',

'deleteButtonOptions'=>array('style'=>'display:none'),

'updateButtonOptions'=>array('style'=>'display:none'),

'viewButtonLabel'=>'查看',

'viewButtonUrl'=>'Yii::app()->createUrl("/adstarget/superview",array("id" => $data->id))',

),

39.

array(//这个数组尝试添加自定义的按钮

'class'=>'CButtonColumn',

'buttons'=>array(

'upbutton' => array(

'label'=>'up', // text label of the button

'url'=>array("category/index"), // a PHP expression for generating
the URL of the button

'imageUrl'=>false, // image URL ofthe button. If not set or false, a text link is used

'options'=>array(), // HTML options for the buttontag

'click'=>'', // a JS function to be invoked when the button is clicked

'visible'=>'' //a PHP expression for determining whether the button isvisible

)

),

'template'=>'{view}{update}{delete}{upbutton}',

40.

$ckeditorurl=dirname(Yii::app()->BasePath).'/editor/ckeditor/ckeditor.php';

$ckfinderurl=dirname(Yii::app()->BasePath).'/editor/ckfinder/ckfinder.php';

require_once($ckeditorurl);

require_once($ckfinderurl);

$ckeditor = new CKEditor();

$ckeditor->basePath = '/ckeditor/';

CKFinder::SetupCKEditor($ckeditor, '/ckfinder/');

$ckeditor->editor('Msg[content]',$model->content);

50.

array( // display 'author.username' using an expression

//'value'=>'$data->author->username',

//'value'=>$data->type,

'value'=>'emailtype::getTypeName(array("num"=>$data->id))',

//'vaule'=>'Yii::app()->user->name',

),
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: