有没有办法让php制作这段代码:
myclass.randomthingwrittenhere
作为
myclass.nexttodotoperator(randomthingwrittenhere)?
我想将自己的数据库框架编写到数据库中,我想知道它是否可以以某种方式工作。
有没有办法让php制作这段代码:
myclass.randomthingwrittenhere
作为
myclass.nexttodotoperator(randomthingwrittenhere)?
我想将自己的数据库框架编写到数据库中,我想知道它是否可以以某种方式工作。
我真的不确定你在你的例子中在做什么。当您访问对象的属性或调用方法时,您使用->
语法,这与 JavaScript 不同,它可以使用.
.
您可以将一些魔术方法添加到您的类中来处理此问题:
class MyClass {
function __get ( $property ) {
$this->something( $property );
}
function __call ( $method, $arguments ) {
$this->something( $method, $arguments );
}
}
在此代码中,该类的任何实例都可以让您处理对实例本身未找到的成员的请求。
演示:http ://codepad.org/3qB8gXfv
话虽这么说,也许您根本不是在问类,而是在问字符串操作。如果我正确理解您的问题,请提供您的输入字符串:
$string = "myclass.randomthingwrittenhere";
然后将这两部分分成你的类和你的方法:
list($class, $method) = explode(".", $string);
然后吐出新字符串,插入变量:
echo "$class.foobar($method)";
你想看看php中的“魔术方法”:http: //php.net/manual/en/language.oop5.magic.php
在您的情况下,您可以编写这样的函数...
function __get($name) {
return this->nexttodooperator($name);
}