Home >Backend Development >PHP Tutorial >php动态调用函数方法&&非关系数据库的优势
php动态调用函数方法,第一反应就是魔术函数带下划线的函数,__autoload,__struct,__get,__set等函数。
其实php提供call_user_func()call_user_func_array(), 可以动态的调用函数。在实现MVC机制的时候,当路由器完成动态路由之后,就会解析后动态的调用对应的Controller方法。call_user_func 跟call_user_func_array差不多,只是array函数,是将函数的参数作为数组传递进来。而call_user_func是在调用的函数后面,直接将参数给带进去。
检查一个ip地址的合法性,第一反映就是,根据ip地址,利用explode函数将ip进行分割,拿到第一个元素与255进行大小比较,判断是否是是ip的合法地址。
其实合理的判断方法,应该是利用ip2long这个函数进行判断。因为ip2long如果解析到错误的ip地址,会返回false。同理类推,可以将得到的ini类型的ip地址,给定的ip范围作对比,从而进行ip地址限制。
当线上一张表数据量巨大的时候,同时需要对这张表进行字段更新时候。有什么好的办法?
第一反应,启用备份数据表。然后对数据表进行更新,再将数据导入更新好的数据表结构的表中。
这个暂时没有想到关系型数据库,mysql特别好的实现方法,不过启用非关系型数据库nosql,mongodb甚至是redis的话,就没有表结构限制这个概念。自然对表字段进行更新,不需要停止线上应用。而redis本身就是key-value类型,没有表这个概念的话,对字段的增删改都不会影响线上应用的使用。
版权声明:本文为博主原创文章,未经博主允许不得转载。