YII学习笔记

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.<form action="/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 echo Yii::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里加:

    public function 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 result set

        $reader=$command->query();

        // each $row is an array representing a row of data

        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 echo CHtml::beginForm('','post',array('enctype'=>'multipart/form-data')); ?>

 

29.验证码

(1)public function actions() {

    return array(

        'captcha'=> array(

            //加载外部的action class

        'class' => 'CCaptchaAction',

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

        'backColor' => 0xffffff,

    ),

    );

}

 

(2)

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

(3)

class User extends CActiveRecord {

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

 

    ..........

 

    public function rules() {

        return array(

        .........

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

    );

    }

    ...........

    ...........

}

 

(4)

public function accessRules()

    {

        return array(

            array('allow',  // allow all users 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 echo CHtml::activeLabelEx($model,'laberid'); ?>

        <?php

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

        ?>

        <?php echo CHtml::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);

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

                    }

35.

 

<div class="row">

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

        <?php

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

        ?>

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

    </div>

    

    <div class="row">

    <?php echo CHtml::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 of the button. If not set or false, a text link is used

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

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

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

                        )

                

                ),

   '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',

        ),

你可能感兴趣的:(yii)