使用相同的命名空间php
我将这些文件放在同一个文件夹中:
OtherFunctions.php
<?php
namespace Pack\sp;
$Tble = NULL;
function SetTble($tble) {
global $Tble;
$Tble = $tble;
}
function GetTble() {
global $Tble;
return $Tble;
}
function Funct0($Str0, $Str1) {
return $Str0 == $Str1;
}
function Funct1($Arg) {
return "The Value is ".$Arg;
}
//... from 0 to 16
function Funct16($Arg) {
return "The Value is ".$Arg;
}
?>
如何调用此文件中包含的所有功能?
在一个类File SubClass.php 中我有:
<?php
namespace Pack\sp;
class SubClass {
public $CArg = "";
}
?>
在其他类File LeadClass.php 中 我有这个:
<?php
namespace Pack\sp;
use \Pack\sp\SubClass;
require_once("OtherFunctions.php");
class LeadClass {
public function __construct($Name) {
echo("_._");
$NewSC = new SubClass();
$NewSC->CArg = $Name;
SetTble($Name);
echo("ini:".GetTble().":end");
}
}
?>
我想在OtherFunctions.php文件的一条指令中调用所有函数,但我不知道怎么做....
我尝试在其他代码中复制此邮件 致命错误:在第10行调用C:... \ LeadClass.php中的未定义函数GetTble()
但是,我正在获取空白页
编辑
添加了一行:
require_once("OtherFunctions.php");
并更换了一行:
require_once("SubClass.php");
行:
use \Pack\sp\SubClass;
在LeadClass.php 文件中。
但是,我正在获取空白页
答案 0 :(得分:1)
您需要添加下一行
namespace Pack\sp;
use \Pack\sp\SubClass; // <--- add this
另外我认为你应该将OtherFunctions文件的functios放入一个新的类链接
namespace Pack \ sp;
class OtherFunctions{
// your current code goes here
}
之后,你需要扩展SubClass,使用OtherFunctios类
namespace Pack\sp;
use Pack\sp\OtherFunctions;
class SubClass extends OtherFunctions {
public $CArg = "";
}
修改强> 我刚试过你的代码,我可以让LeasClass按照以下方式工作
<?php
namespace Pack\sp;
require_once("OtherFunctions.php");
require_once("SubClass.php");
class LeadClass {
public function __construct($Name) {
echo("_._");
$NewSC = new SubClass();
$NewSC->CArg = $Name;
SetTble($Name);
echo("ini:".GetTble().":end");
}
}
$LeadClass = new LeadClass('table');
?>
你已经初始化了课程吗?