文档章节

phalcon在model中设置白名单whitelist

爬墙
 爬墙
发布于 2016/09/07 02:50
字数 266
阅读 66
收藏 0

###有3种方法:

  1. 在model中设置skip方法,设置跳过的字段,剩下的就是白名单啦,缺点是整个模型全局设置:
public function initialize()
    {
        // Skips fields/columns on both INSERT/UPDATE operations
        $this->skipAttributes(
            array(
                'year',
                'price'
            )
        );
    }
  1. 在save的时候加上第二参数(白名单),确定是只可以设置白名单,无法设置数组和字段之间的映射关系 public boolean save ([array $data], [array $whiteList]):
$robot->save($_POST, ['title', 'name'])
  1. 给model实例执行一个assign方法,即可设置数组映射,又可以设置白名单,缺点是还需要执行save
$robot->assign($_POST, null, ['title', 'name']);

assign说明: public Phalcon\Mvc\Model assign (array $data, [mixed $dataColumnMap], [array $whiteList])

<?php

 $robot->assign(array(
'type' => 'mechanical',
'name' => 'Astro Boy',
'year' => 1952
 ));

 //assign by db row, column map needed
 $robot->assign($dbRow, array(
'db_type' => 'type',
'db_name' => 'name',
'db_year' => 'year'
 ));

 //allow assign only name and year
 $robot->assign($_POST, null, array('name', 'year');

总结:
skip:模型全局设置
save:只能设置白名单,无法设置数组和字段映射
assign:即可设置白名单又可以字段映射,专业处理的函数

© 著作权归作者所有

爬墙

爬墙

粉丝 14
博文 365
码字总数 88769
作品 0
美国
私信 提问
[WordPress源码分析]插件配置更新

WordPress有一套注册和修改配置的机制,很多插件设置都基于这套机制实现。以BAE-Helper为例,插件的配置都是通过wp-admin/options.php更新的,详见《[BAE-Helper]实现分析v0.1》。而具体Wor...

joshuazhan
2013/09/17
740
0
Monkey的黑白名单设置,解决WIFI关闭的问题

Monkey的黑白名单设置,解决WIFI关闭的问题 虽然通过百分比的方式可以减少下拉通知栏的点击率,但即使设置为0 依然有可能会点到WIFI按钮 导致WIFI被关闭.测试异常.使用monkey的黑白名单可以解决...

_Change_
07/10
30
0
[Android]PhoneGap源码分析——白名单

对于单独的Web app应用来说,加载进来的url一般不能保证它的安全性。那么如何来处理url安全性的问题呢。 让我们来看看PhoneGap是如何做的。 PhoneGap采用了白名单的形式,认为在白名单中的u...

亭子happy
2012/09/29
4.5K
1
Confluence 6 白名单允许进入和禁用

允许进入 启用 CORS 请求,将会从特定的 URL 来源中允许进入(Allow Incoming)。URL 格式必须匹配格式 ,结尾是没有反斜杠的( 是可选的)。因此 将不会允许从 . 来的 CORS 请求。 禁用白名...

honeymose
2018/08/01
4
0
rspamd 一些常见配置记录

这里面记录一些常见的配置 https://www.rspamd.com/doc/modules/multimap.html 通过multimap 来设置全局的黑白名单,读取/etc/rspamd/whitelist 里面的domain或者user,以DWL(在metrics.con...

超级超级管理员
2015/08/28
134
0

没有更多内容

加载失败,请刷新页面

加载更多

WOW.js 使用教程 页面动画

使用教程 wow.js依赖于animate.css,首先需要在 head内引入animate.css或者animate.min.css。 <link rel="stylesheet" href="css/animate.css"> 引入wow.js或者wow.min.js,然后js文件里再写......

东东笔记
26分钟前
5
0
JavaMail实现简单邮件开发——163邮箱

1、打开 P0P3/SMTP/IMAP 2、开发工具类 CodeUtils.java package com.demo.mymail.utils;import java.util.UUID;public class CodeUtils { public static String generateUn......

开源中国首席碉堡了
26分钟前
5
0
Windows上安装Docker

Windows Docker 安装 win7、win8 系统 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/dock...

城市之雾
31分钟前
4
0
jdk 设置setConnectionTimeout和SetReadTimeout的意义(详细)

先看例子吧 客户端: package top.quartz.util;/** * description: //connect timeout 是建立连接的超时时间; * //read timeout,是传递数据的超时时间。 * ...

hexiaoming123
32分钟前
19
0
Bootstrap Table含有按钮时表格不对齐

使用Bootstrap Table的时候,在含有按钮的情况,有时候表格的线垂直方向上不对齐 解决方法: (1)调整表格的高度小些或者大些(至于为什么,并不清楚,调整高度后就对齐了) (2)加setTime...

tianyawhl
38分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部