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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值