Yii2.0中场景的使用小记】的更多相关文章

熟悉Yii框架的人都知道,灵活的使用场景可以达到事半功倍的效果! 比如普通的数据的新增.修改,新增需要验证其中两个字段,而修改只需要验证其中一个字段:还有种情况,也是我们现在用到的,同一张表(同一个model)有可能在不同的项目分支中使用,但是不用的项目分支对成员变量的验证是不一样的,这时使用场景就可以轻松搞定: 1.Yii2中简单的场景使用在这里有说明: http://www.yiichina.com/tutorial/605 2.但是对于初学者可能还是不能灵活的应用: public func…
在yii框架里有前台和后台页面,举例前台url重写. 控制器与路由 控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰; 控制器ID 类名去后缀,全部转为小写,如果是驼峰命名多个单词转为中杠分割; 动作ID 去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分割: 路由如何指向动作:控制器ID/动作ID URL访问规则:index.PHP?r=路由 传参使用&参数=值 的方式 默认路由site定义在yii\we…
a yii2 extension to make simple to use queue. yii2-queue让队列的使用在yii2中变得更轻松,她为各种队列组件的使用提供了一个标准的接口,您只需要配置好需要使用的队列组件,就能轻松使用,同时您在不同队列组件之间的切换也只需要修改下配置文件,重启下队列监听进程即可,目前支持数据库队列,redis队列,beanstalkd队列,其它队列中间件支持正在添加中(当然,聪明的你也可以自行扩展). Installation The preferred w…
如何在不修改逻辑代码的情况下完美解决以上三个问题?看了下面的教程,一目了然! 以高级版2.0.6为例,打开/frontend/models/SignupForm.php class SignupForm extends Model {     public $username;     public $email;     public $password;     /**      * @inheritdoc      */     public function rules()     {…
以下由我们在信易网络公司开发项目的时候终结出的一些经验 Create console application 创建命令行应用 In advance template there is already a file yii. And there is no need to run it as php, it is Linux script. 在高级模版中的 yii 文件,它是一个 Linux 脚本,不需要使用PHP来运行. Create cron service command 创建计划任务服务命…
最笨的是定义常量.具体怎么做?看下面: //定义在控制器声明上面define('BEST_PHPER',serialize(array('admin','admin1')));//设置admin管理员//通常是在方法中进行判断,取值的$BEST_PHPER=unserialize(BEST_PHPER); //反序列话进行取值var_dump($BEST_PHPER);die;…
public function actionSss(){ /* * 获取到缓存 * 这里是获取的是根目录下 的common/main.php中的缓存类组件 * */ $cache=\Yii::$app->cache; //往缓存中写数据--第三个参数可以设置有效时间默认是秒 $cache->add('key1','hello ,world1'); $cache->add('key3','hello ,world2'); //修改数据 // $cache->set('key1','8…
不想用gii的表单自己写表单,但是又遇到了400错误,怎么解决?下面为你解答一下:…
frontend目录下/封装的验证码类: <?php namespace frontend\controllers; use yii\base\Controller; class CapathController extends Controller { ;;;;; ;,,), mt_rand(,), mt_rand(,)); imagefilledrectangle(,,;,),mt_rand(,),mt_rand(,)); imagettftext(,),,),;;,),mt_rand(,)…
<?= $form->field($model, 'last_login_time')->textInput(['readonly' => 'true']) ?>…
/** * @inheritdoc 批量添加 * @params $add array 添加数据 */public function add_all($add){ $connection = \Yii::$app->db; //数据批量入库 $connection->createCommand()->batchInsert( 'wc_user_group_permission',//表名 ['pid','gid'],//字段 $add )->execute();}…
我们都知道 yii 框架是组件式开发的,使用 jquery 也是非常简单的.只需要注册一下就可以使用非常简单的 jquery 代码了! <?php $this->beginBlock('suibian') ?> $("#old_3").click(function(){ $.get("url",function(msg){alert(msg);}); }); <?php $this->endBlock() ?> <?php…
$query1 = Class1::find()->where($where); $query2 = Class1::find()->alias('a')->join('left join', Class2::tableName() . 'as b', 'b.id = a.objId') ->select('a.*')->where($where2); $queryAll = $query1->union($query2, true); $query = (new Qu…
1 HTML: 2 3 <div> 4 <form class="form-inline " method="get" action="<?=Url::to(['companylist']);?>"> 5 <div class="form-group"> 6 <input type="text" name="name" style=&…
关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/4322271.html 为什么要使用事件?可能我们会有下面的业务需求,每当一个新用户注册成功会我们要给管理员发封邮件,还要有推送通知. 之前的代码可能是这样 if($model->save()){ // 注册成功, 跳转 } 要变成这样 if($model->save()){ $mailObj->s…
针对于YII2.0官方手册来说,我稍微修改了一些内容具体的就是把model层里定义的uoload方法在controller方法里合并了 创建模型 namespace app\models; use yii\base\Model; use yii\web\UploadedFile; class UploadForm extends Model{  public $imageFile;//定义一个公用的名称 public function rules() { return [ [['imageFil…
之前的文章我们根据源码的分析,弄清了Yii如何处理一次请求,以及根据解析的路由如何调用控制器中的action,那接下来好奇的可能就是,我在控制器action中执行了return $this->render('index'),那render这个方法是如何完成渲染视图文件的工作的?我们继续从源码入手. 1.找到视图文件 先看我们在controller/action中视图渲染的调用: public function actionIndex() { //代码省略 return $this->rende…
1.先看PHP观察者模式的实现: 想要使用事件.必须实现事件的基类.统一的addObserver和trigger方法 定义统一接口.所有的观察者都要实现此接口 //事件的基类 abstract class BaseEvent { private static $observer; //添加观察者 public function addObserver($obj) { self::$observer[] = $obj; } //触发事件.通知所有的观察者 public function trigg…
Yii2.0中的一个思想就是组件化的思想,所以.大多数的类都直接或间接的继承自yii\base\Component,而组件的三大功能:属性.事件.行为. 行为的目的是为了方便的扩展一个类的功能,而不需要直接去修改这个类,同时行为中也附带了事件的实现. 1.整体的结构 Controller和模型ActiveRecord都继承自yii\base\Component 而Component继承自yii\base\Object Object中和Component中都实现了魔术方法__get和__set以及…
PHP与Redis可以通过socket进行通信,前提是PHP需要实现Redis的协议 RESP协议描述: 字符串 \r\n : 表示一个正确的状态信息,具体信息是'+'后面的字符(Simple Strings) 错误前缀 错误信息 \r\n : 表示一个错误信息,具体信息是当前行'-'后面的字符(Errors) $ 字符串的长度 \r\n 字符串 \r\n : 表示字符串(Bulk Strings) 数组元素个数 \r\n 其他所有类型 : 表示消息体总共有多少行(array) : 数字\r\n…
1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[register_info] ), ), ), ), ), @create_time datetime AS BEGIN ); BEGIN TRY BEGIN TRANSACTION; --插入注册信息,这里未做任何验证,直接插入 INSERT into regist…
return 部分的数组就是你要生成 xml 的数据. 生成的格式如下: yii2.0 中使用 xml 就是这么简单!…
yii2.0 中的ActiveForm 复选框的使用 默认的复选框选项为纵向的<?= $form->field($model, 'line')->checkboxList(Picture::$lines);?> 将复选框的选项改为横向的<?= $form->field($model, 'line')->inline()->checkboxList(Picture::$lines);?> yii2.0 中的ActiveForm 单选框的使用默认单选框选项…
1.一键安装LNMP cd /usr wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz tar zxf lnmp1.-full.tar.gz cd lnmp1.-full ./install.sh lnmp 进入安装状态后按照提示做安装选择( 参考 http://lnmp.org/install.html ) 2.安装Yii2.0  a 先安装好composer //进入/usr目录 curl -sS https://getcompos…
使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git clone YOUR_YII_WEB_PROJECT (3)cd Yii2.0 web项目(例如:mabuhay)目录,安装Yii2.0 zh@zh-VirtualBox:/var/www/html/mabuhay$ sudo curl -sS https://getcomposer.org/inst…
本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Widget::init() 和/或 yii\base\Widget::run() 方法. 注意:在yii 1.x,我们将使用 widgets 的文件夹. 在 Yii2.0 创建自己的小部件 首先创建一个名为 widgets 的文件夹在项目根目录.现在在 widgets文件夹内创建一个“HelloWidg…
认证介绍 和Web应用不同,RESTful APIs 通常是无状态的, 也就意味着不应使用 sessions 或 cookies, 因此每个请求应附带某种授权凭证,因为用户授权状态可能没通过 sessions 或 cookies 维护, 常用的做法是每个请求都发送一个秘密的 access token 来认证用户, 由于 access token 可以唯一识别和认证用户,API 请求应通过 HTTPS 来防止man-in-the-middle (MitM) 中间人攻击. 认证方式 HTTP 基本认…
我前几天用composer安装 一直没成功  我就用归档的方法安装了  所以这篇文字只帮助那些用归档方法安装的朋友 Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间.2.0.0版本发布于2014年10月12日.下面介绍一下Yii2.0 basic模板和高级(advanced)模板的安装. 要点: 打开dos 操作命令…
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 ----------------------------------------------------------------------------------------------------- User::find()->all();    //返回所有用户数据:User::findOne($id);   //返回 主键 id=1  的一条数…
yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到composer,没有办法拉,先去大概的了解一下这个composer吧 什么是composer 根据composer的官网,它是这样解释的:composer是php用来管理依赖关系的工具,搞的这么复杂,直接说就是一个比较智能的下载工具不就好了.比如说我的项目是依赖yii框架的,而yii是依赖于其他东西的…