欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php动态调用函数方法&&非关系数据库的优势

程序员文章站 2022-05-27 15:39:19
...
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类型,没有表这个概念的话,对字段的增删改都不会影响线上应用的使用。

版权声明:本文为博主原创文章,未经博主允许不得转载。