phalcon-进阶篇1(过滤与清理)

phalcon-进阶篇1(过滤与清理)

本教程基于phalcon2.0.9版本

前言

先在这里感谢各位phalcon技术爱好者,我们提供这样一个优秀的交流平台

最后一次更新已经过去了1个半月,在期间也有很多热心的童鞋询问什么时候会更新,最近应为去录制phalapi的视频还有工作上的事情比较忙所以有些耽搁这里给各位小伙伴道个歉,后面争取每周一篇尽早完结phalcon的视频教程.那么相信学习了入门篇9节的童鞋基本想用phalcon来写一些自己的东西已经没有什么问题了,但是还记得我说的吗?phalcon有很多有意思的地方,别急这些都会在我们的进阶篇中一一讲解,那么我们今天的内容就是过滤和清理!

注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术

附上:

喵了个咪的博客:http://w-blog.cn

教程代码库:http://git.oschina.net/wenzhenxi/Phalcon-tutorial

phalcon官网地址:https://phalconphp.com

phalcon中文社区:http://www.iphalcon.cn/

1. 清理

我们先说清理,清理和有一件事情比较相似打电话,在打电话和别人交谈的时候我们会做些什么呢,我们会获取对我们有用的信息,屏蔽掉那些杂音,那么对于程序来说有用的东西是什么呢?,我们看下面一组例子:

  1. some(one)@exa\mple.com
  2. hello<<
  3. !100a019
  4. !100a019.01a

大家是不是觉得很奇怪,第一个像email但是有括号,第二个是字符串但是有<号,第三个和第四个像数字但是有符号和字母,有的时候如果前端没有做参数校验,或者是直接请求接口很容易出现这类情况,但是这类情况到了数据库中就会出现问题,email发布出去,显示出来的名字很奇怪,数字到了数据库中是0等等这些情况就出现来,我们看看phalcon怎么应对这些问题:

<?php

use Phalcon\Filter;
$filter = new Filter();

// 返回 "someone@example.com"
$filter->sanitize("some(one)@exa\mple.com", "email");

// 返回 "hello"
$filter->sanitize("hello<<", "string");

// 返回 "100019"
$filter->sanitize("!100a019", "int");

// 返回 "100019.01"
$filter->sanitize("!100a019.01a", "float");

是不是很好用啊?这样就可以解决上面遇到的这些问题,当然这个是单独的组件使用,如果用在控制器中有更简单的使用方式:

 public function saveAction()
    {
        // 获取post参数key为price的值并且使用double类型清理
        $price = $this->request->getPost("price", "double");

        // 获取post参数key为customerEmail的值并且使用email类型清理
        $email = $this->request->getPost("customerEmail", "email");
    }

2. 过滤

说完了清理我们在来讲讲过滤,过滤和清理不同的在于他们解决的问题不同,过滤可以理解为高级的清理,我们还是看个例子:

有的时候只希望去掉html标签符号,或者字符串只希望去除前后的空格而不去掉其他符号就可以用一下的方式

3. 小结

今天的内容就到这里了,实例代码也会随之上传,感兴趣的童鞋可以下下来运行试试,那么感谢大家的支持,喜欢的话可以关注我的博客哦!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

Phalcon技术交流:364520707 PhalCon中文社区:287484785 欢迎大家的加入!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文振熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值