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

你可能感兴趣的:(yii学习笔记(转载))