关于call_user_func的一点心得

2024-01-08 12:18
文章标签 call 心得 user 一点 func

本文主要是介绍关于call_user_func的一点心得,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

好久没写博客实在是惭愧,最近写一个控制器程序,程序获取页面提交参数为程序中一个类的方法。 比如,页面有不同的按钮可以让用户触发 getMethod_A  和  getMethod_B  ... getMethod_N ,  控制器在得到参数之后如何调用类中对应的方法? 就需要用到call_user_func 。

 

按手册照葫芦画瓢的话:

 

$act = $_POST['act'];

$className = "My_Class";

 

call_user_func(array($className, $act));  //act 为 取得的方法名

 

如果像上面的写法的话,class被静态调用 ,也就是说 如果方法中有内部嵌套或者引用都会报错。

 

改进办法为:

先实例化,在调用 ,一切OK

$act = $_POST['act'];

$myclass = new My_Class();

 

call_user_func(array($myclass, $act));  //act 为 取得的方法名

 

 

这篇关于关于call_user_func的一点心得的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583426

相关文章

AutoGen Function Call 函数调用解析(一)

目录 一、AutoGen Function Call 1.1 register_for_llm 注册调用 1.2 register_for_execution 注册执行 1.3 三种注册方法 1.3.1 函数定义和注册分开 1.3.2 定义函数时注册 1.3.3  register_function 函数注册 二、实例 本文主要对 AutoGen Function Call

超声波清洗机哪个品牌比较好一点的?清洁力强的超声波清洗机品牌

随着生活水平的不断提升和幸福感的增强,珠宝、饰品和眼镜等物品已成为许多家庭的常备之物。然而,这些贵重细小的物件易于积聚微尘与隐形细菌,长此以往可能悄悄影响家人的健康,毕竟细菌是肉眼难以察觉的隐患。超声波清洗机应运而生,它以高科技手段有效地解决了这一隐忧,深层清洁,守护家人免受微小污染物的潜在威胁。不过现在市面上超声波清洗机品牌挺多的,究竟有哪些品牌的超声波清洗机比较好一点呢?接下来就为大家带来四款

Python __call__ 用法 作用

当一个对象为可被调用对象时,callable(object)返回为True,否则为False: Python中的对象有可被调用和不可被调用之分。 def func_test():print("func_test run")class class_test():def __init__(self):pass# func_test is callable return Trueprint("fu

某城user_dun,js逆向分析

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除! 前言 这次会简单的讲解某城ly headers中参数userdun的逆向分析流程以及简单的补环境,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有

user is not in the sudoers file

出现这种情况是因为用户user没有sudo权限。解决办法自然是将当前用户添加到sudo成员中。  1.以root身份登录。 2.更改文件权限:  # chmod u+w /etc/sudoers  3.在/etc/sudoers文件中,root ALL=(ALL)ALL下方添加: user ALL=(ALL)ALL 保存退出。 4.还原文件权限:  # chmod u-w /etc

关于证书链的一点认知

文章来源 作者:小叶与小茶 链接:https://www.jianshu.com/p/fcd0572c4765 来源:简书 顾名思义,证书链是由一串数字证书链接而成,为了弄清楚这个概念,先看看什么是数字证书。 一、数字证书的基础知识 数字证书是用来认证公钥持有者身份合法性的电子文档,以防止第三方冒充行为。数字证书由 CA(Certifacate Authority) 负责签发,关

【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind 是 C++11 标准库中的一个功能,它允许你“绑定”某些参数到一个函数、成员函数或可调用对象上,从而生成一个新的可调用对象。这种新的可调用对象可以稍后被调用,而且其中一些参数已经被预先设置好了。这在回调函数和异步编程中特别有用。 下面我用一个通俗的例子来解释 std::bind 是如何工作的。 假设场景 假设你有一个家庭厨师,他有一个技能叫做“做饭”。做饭需要两个参数:一

2024最全自学黑客技术学习路线,带你少走一点弯路!

谈起黑客,可能各位都会想到:盗号,其实不尽然;黑客是一群喜爱研究技术的群体,在黑客圈中,一般分为三大圈:娱乐圈 技术圈 职业圈。 娱乐圈:主要是初中生和高中生较多,玩网恋,人气,空间,建站收徒玩赚钱,技术高的也是有的,只是很少见。 技术圈:这个圈子里面的黑客是为了能把黑客技术玩到极致的技术狂人,我最佩服的就是这群人,希望以后自己也能成为这样的人。 职业圈:这里面的人群主要就是玩HC为主了

sphinx里 java接口中对错误信息封装的一点记录

SphinxResult result = sphinx.Query(String queryString, String index, String comment);下面是实现:/** Connect to searchd server and run current search query. */public SphinxResult Query ( String query,

Elasticsearch func_score

场景介绍 衰减函数 总结 官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl-function-score-query.html 作者公众号: 1.场景介绍 在全文检索中,排序是一个很讲究的事。关键字命中,是全文检索中一个很关键的因素。然而,某些时候,我们关键字的命中可能非常低,或者来两个