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 学习笔记,其中包括数据缓存、缓存组件、缓存过期、缓存依赖的理解及yii2数据缓存的测试代码
Yii2.0学习笔记完全版 Yii2 Yii2.0 Yii2.0学习 Yii2.0学习笔记
Yii框架是高效且灵活的PHP框架,专为Web 2.0应用开发而设计。自2008年1月薛强开始开发以来,Yii已经经历了多个版本迭代,从1.0.0到...通过深入学习和实践,开发者可以充分利用Yii的优势,提高开发效率和应用质量。
本篇学习笔记将详细介绍Yii框架的基本概念,包括请求处理流程、组件、事件与行为、错误和日志处理、国际化以及视图和控制台应用等方面。 ### 请求的处理流程 1. **项目入口脚本**:在Yii框架中,项目的入口脚本...
yii2学习笔记,一边看某课网一遍实践一遍总结,整理文档
### Yii框架的学习与部署 #### 三、学习路径 - **入门**:首先了解Yii的基本概念,包括MVC架构模式、组件模型等。 - **环境搭建**:熟悉如何在本地计算机上安装和配置Yii环境。 - **实战案例**:通过实际项目来加深...
无论是初学者还是经验丰富的开发者,都可以通过学习Yii框架提升自己的开发效率,并构建出高效、稳定的应用系统。无论是在数据库操作、安全控制、性能优化还是用户体验上,Yii都提供了全面的支持,使得开发者能够专注...
通过以上这些知识点的学习和实践,你将能更好地掌握Yii2框架,提升开发效率,并为用户提供更加友好的多语言界面。在开发过程中遇到任何问题,记得查阅官方文档或社区资源,通常都能找到解决办法。
本文实例讲述了Yii框架学习笔记之应用组件操作。分享给大家供大家参考,具体如下: 所有的组件都应声明在config/web.php //组件声明在该数组下 'components'=>array( //自定义组件1 - 函数形式 'customComponent1...
总的来说,学习Yii框架不仅可以提高PHP开发的效率,还能让你掌握一套强大且灵活的开发工具。通过这个"PHP YII框架教程+笔记.zip",你将有机会深入了解Yii的各种特性和最佳实践,从而提升你的PHP开发技能。
本文实例讲述了Yii框架学习笔记之session与cookie操作。分享给大家供大家参考,具体如下: session操作 <?php namespace app\controllers; use yii\web\Controller; class HelloController extends ...
本文实例讲述了YII框架命名空间、操作响应与视图操作。分享给大家供大家参考,具体如下: YII基础准备 1.命名空间 <?php /****假设有三个同名的类,输出的值为A,B,C****/ use a\b\c\apple; use d\e\f\apple as ...
作者建议在学习过程中注册一个github账号,并建立一个代码仓库记录学习笔记。 总之,Yii 2.0开发文档生成的pdf草稿本是一份针对使用Yii 2.0框架进行Web开发的初级开发者入门指南。它不仅介绍了开发流程,还涉及到...