use*_*813 7 php forms class object
我创建了一个名为formChecker.php的PHP类.它验证表格.作为一名Java程序员,我想坚持在另一个类中创建这个类的实例并从那里运行它的想法.它似乎对我不起作用.以下是演示:
class formChecker{
..... validation functions go here
}
class runFormChecker{
.... create instance of formchecker here and use it's methods etc.
}
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?我正在考虑的是开发一些可以单独运行的类.
GF
只需formChecker在您要使用它的类之前包含类文件,例如:
include "formChecker.php"
class runFormChecker{
function __construct() {
$obj = new formChecker; // create instance
// more processing............
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果你在一个文件中有两个类(这是坏的),那么不需要包含该文件,你可以直接创建它的实例,例如:
class formChecker{
// ............
}
class runFormChecker{
function __construct() {
$obj = new formChecker; // create instance
// more processing............
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
我宁愿将formChecker的实例(或实现某个接口的东西)传递给runFormChecker的实例.见http://en.wikipedia.org/wiki/Dependency_injection
可以这么简单
interface FormChecker {
public function foo($x);
}
class MyFormChecker implements FormChecker
public function foo($x) {
return true;
}
}
class RunFormChecker {
protected $formChecker=null;
public function __construct(FormChecker $fc) {
$this->formChecker = $fc;
}
// ....
}
$rfc = new RunFormChecker(new MyFormChecker);
Run Code Online (Sandbox Code Playgroud)