php 变量函数 如果一个变量名后有圆括号,PHP将寻找与变量的值同名的函数,并且将尝试执行它。
优点是什么?为什么我只感觉到多此一举?<?phpclassFoo{functionVariable(){$name='Bar';$this->$name();//This...
优点是什么?为什么我只感觉到多此一举?
<?php
class Foo {
function Variable() {
$name = 'Bar';
$this->$name (); // This calls the Bar() method
}
function Bar() {
echo "This is Bar";
}
}
$foo = new Foo ();
$funcname = "Variable";
$foo->$funcname (); // This calls $foo->Variable()
?> 展开
<?php
class Foo {
function Variable() {
$name = 'Bar';
$this->$name (); // This calls the Bar() method
}
function Bar() {
echo "This is Bar";
}
}
$foo = new Foo ();
$funcname = "Variable";
$foo->$funcname (); // This calls $foo->Variable()
?> 展开
1个回答
2016-09-02
展开全部
你这个例子没太大用,比如说你
$funcname = $_GET['func'];
这个时候你就可以通过url来控制执行哪个成员函数了,实际上这样有安全隐患,这个用法主要是实现一些高级特性,比如很多restful框架用闭包和一个route,类似这样的语法
$framework->get('/', function(){
});
这样就可以通过这种动态函数的方式来管理。
$funcname = $_GET['func'];
这个时候你就可以通过url来控制执行哪个成员函数了,实际上这样有安全隐患,这个用法主要是实现一些高级特性,比如很多restful框架用闭包和一个route,类似这样的语法
$framework->get('/', function(){
});
这样就可以通过这种动态函数的方式来管理。
追问
我是刚刚开始接触php,亲你的回答我看不懂(蒙圈ing)
追答
简单说,就是让用户来交互执行哪一个方法,而不是在程序中写死。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询