当前位置:  编程技术>php
本页文章导读:
    ▪php 面试碰到过的问题 在此做下记录       代码优化 代码如下: for($i=0;$i<8;$i++){ array_push($week,$arr); } 代码如下: for($i=0;$i<8;$i++){ $week[]=$arr[$i]; } //这样就没有了调用函数的额外负担 建立索引的好处和坏处 好处:查询时就会先去.........
    ▪rephactor 优秀的PHP的重构工具       PHP框架可以是单一入口,完全面向对象的,完全基于类的MVC模式。但是,我们面对大量的旧的代码,或即便是新的代码,也不尽然完全符合面向对象的原则,符合设计模式。小的应用无妨。.........
    ▪php获取post中的json数据的实现方法       突然想到了以前接触过flash将图片二进制流传给php,灵机一动用$GLOBALS['HTTP_RAW_POST_DATA']获取到了。于是就深入的查了一下,原来PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此.........

[1]php 面试碰到过的问题 在此做下记录
    来源: 互联网  发布时间: 2013-11-30
代码优化
代码如下:

for($i=0;$i<8;$i++){
array_push($week,$arr);
}

代码如下:

for($i=0;$i<8;$i++){
$week[]=$arr[$i];
}
//这样就没有了调用函数的额外负担

建立索引的好处和坏处
好处:查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数
坏处:无论如何都要查询此表,字段大量重复值,增加索引也没有什么意义
记录比较少的,增加索引不会带来速度的优化反而浪费了存储空间,因为索引是需要存 储空间的,而且有个致命缺点是对于update|insert|delete的每次执行,字段的索引都必须重新计算更新

    
[2]rephactor 优秀的PHP的重构工具
    来源: 互联网  发布时间: 2013-11-30
PHP框架可以是单一入口,完全面向对象的,完全基于类的MVC模式。但是,我们面对大量的旧的代码,或即便是新的代码,也不尽然完全符合面向对象的原则,符合设计模式。小的应用无妨。但如果面对大型应用,则必然是一个不小的疼痛!!

        怎么办?很多人总会面临这一切,PHP代码需要重构。(当然,你要是能明白我所说的这一切,那你肯定是看过《重构——改善既有代码的设计》这一本书)

        看看这个链接:http://zh-cn.w3support.net/index.php?db=so&id=100876 我们就能深明重构的疼痛!这是在所难免的。但如何能使这一疼痛变得轻一些呢?

        重构工具是必须的。好在,现在真的有了PHP的重构工具——rephactor。它确实是一个非常优秀的工具。(当然,你必须记住,从来就没有完全自动化的重构工具,机器永远不能代替人脑,所有重构的目标,以及每一步仍都是要你按照《重构——改善既有代码的设计》一书中给你讲明的做法去完成的!)

        那么:rephactor给我们提供了什么呢?

  • 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本。
  • 查找替换功能—— 普通查找替换,方法重命名,类重命名,正则表达式模式的替换。
  • 所有操作完成后,均基于SimpleTest Aperiplus进行测试,并保证测试的覆盖率。
  • 集成Phemto ,保证类的相关性测试。
  •         当然,它有一些限制,只能运行于LINUX操作系统,并且,只支持PHP5.2

            有兴趣吧? 有了它, 你的重构将会大大加快,并且,保证不会出现新的BUG。

            官方网址:http://rephactor.sourceforge.net/

            何不安装一个,试一下?


        
    [3]php获取post中的json数据的实现方法
        来源: 互联网  发布时间: 2013-11-30
    突然想到了以前接触过flash将图片二进制流传给php,灵机一动用$GLOBALS['HTTP_RAW_POST_DATA']获取到了。
    于是就深入的查了一下,原来PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。

    php的HTTP_RAW_POST_DATA
    用Content-Type=text/xml 类型,提交一个xml文档内容给了php server,要怎么获得这个POST数据。
    The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).
    由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,因此,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。
    另外还有一项 php://input 也可以实现此这个功能
    php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

    应用

    a.htm
    代码如下:

    <form action="/blog_article/post.html" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit">
    </form>

    post.php
    代码如下:

    <? echo file_get_contents("php://input");?>

        
    最新技术文章:
    ▪PHP函数microtime()时间戳的定义与用法
    ▪PHP单一入口之apache配置内容
    ▪PHP数组排序方法总结(收藏)
    ▪php数组排序方法大全(脚本学堂整理奉献)
    ▪php数组排序的几个函数(附实例)
    ▪php二维数组排序(实例)
    ▪php根据键值对二维数组排序的小例子
    ▪php验证码(附截图)
    ▪php数组长度的获取方法(三个实例)
    ▪php获取数组长度的方法举例
    ▪判断php数组维度(php数组长度)的方法
    ▪php获取图片的exif信息的示例代码
    ▪PHP 数组key长度对性能的影响实例分析
    ▪php函数指定默认值的方法示例
    ▪php提交表单到当前页面、提交表单后页面重定...
    ▪php四舍五入的三种实现方法
    ▪php获得数组长度(元素个数)的方法
    ▪php日期函数的简单示例代码
    ▪php数学函数的简单示例代码
    ▪php字符串函数的简单示例代码
    ▪php文件下载代码(多浏览器兼容、支持中文文...
    ▪php实现文件下载、支持中文文件名的示例代码...
    ▪php文件下载(防止中文文件名乱码)的示例代码
    ▪解决PHP文件下载时中文文件名乱码的问题
    ▪php数组去重(一维、二维数组去重)的简单示例
    ▪php小数点后取两位的三种实现方法
    ▪php Redis 队列服务的简单示例
    ▪PHP导出excel时数字变为科学计数的解决方法
    ▪PHP数组根据值获取Key的简单示例
    ▪php数组去重的函数代码示例
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3