我有2个文件
file1.php
<?php
Class A
{
public static function _test
{
}
}
function get_sql($id)
{
}
function get_data($ids)
{
}
?>
在file2.php我写过
require_once('file1.php');
$a = get_sql($id);
为什么我无法调用该函数并得到我的结果?
答案 0 :(得分:0)
在file1.php中尝试这个
<?php
Class A {
public static function _test {
}
function get_sql($id) {
echo $id;
}
function get_data($ids) {
}
}
?>
在file2.php中首先需要该文件,然后对此进行编码
require_once('file1.php');
$a = new A();
$a->get_sql($id);
OR在函数中发送静态值
$a->get_sql(5);
这是你代码中的第一个错误
public static function _test{
}
} //this bracket is related to the class
答案 1 :(得分:0)
这是一个问题,如果你想让函数get_sql()和get_data()作为A类中的方法:
如果是,则在将圆括号添加到函数public static function _test:
后,user2727841中的代码将起作用public static function _test()
{
}
将相同的括号添加到同一个函数后,您的代码也会起作用,但函数get_sql()和get_data()都在A类之外。
修改强> 我认为这些功能都在A级之外。 请将圆括号添加到A类的公共静态函数_test中 - 它是语法错误 - 比我希望它可以工作。
答案 2 :(得分:0)
嗯,有一件事你没有从get_sql($id)
函数返回任何内容。
假设您在原始代码中返回了某些内容;我希望你知道函数不是类的一部分(它在类的范围之外定义)。但出于教育目的,您可以通过执行以下操作在类中调用静态方法:
$a = A::get_sql($id);
这也意味着以下列方式定义函数:
Class A{
public static function get_sql($id){
echo $id;
}
}