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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值