首页 > 解决方案 > 运行两个类名冲突的 php 脚本

问题描述

我想从一个 php 脚本开始,另外两个 php 脚本。不幸的是,这两个脚本都定义了一个同名的类。我试过了

<?php
// master_script.php
require(script_one.php);
require(script_two.php);
?>

script_one.php:

<?php
// script_one.php
class foo{
public function do_something(){
}
}

$foo = new foo();
$foo->do_something();
    
?>

script_two.php

<?php
// script_two.php
class foo{
public function do_something_two(){
}
}

$foo = new foo();
$foo->do_something_two();

?>

我可以强制 php 忘记以前加载的所有内容吗?或者我可以以不同的方式执行另一个 php 脚本吗?

标签: php

解决方案


你应该像这样使用 from 扩展:

<?php
// script_one.php
class fooOne{
public function do_something(){
}
}
?>

<?php
// script_two.php
class foo extends fooOne{
public function do_something_two(){
}
}
?>

<?php
// master_script.php
require(script_one.php);
require(script_two.php);

$foo = new foo();
$foo->do_something(); // this calls func from script_one.php (fooOne Class)
$foo->do_something_two(); // this calls func from script_two.php (foo Class)

?>

推荐阅读