搜索时我无法找到有关我的问题的任何内容。也许我没有正确地搜索我的搜索。无论如何,我试图从另一个函数内部调用另一个文件中的函数,但它不起作用。这似乎是一个范围问题。我有以下内容:
File1.php:
<?
function myCoolFunction()
{
// Some really cool stuff in here
}
然后在File2.php中:
<?
require('File1.php');
// A bunch of stuff
function anotherCoolFunction()
{
// Do some stuff
myCoolFunction();
}
myCoolFunction不存在于anotherCoolFunction中。我可以在File2.php中调用它,但不能在另一个函数中调用它。所以我的问题是,如何实现这一目标? php中是否存在超级全局函数?
感谢您的帮助!
答案 0 :(得分:0)
如果你正确定义了你的功能
,它会奏效function myCoolFunction()
{
echo 'hello'; // Some really cool stuff in here
}
function anotherCoolFunction()
{
// Do some stuff
myCoolFunction();
}
anotherCoolFunction();
下次尝试启用错误报告
error_reporting(E_ALL);
ini_set('display_errors', 1);
答案 1 :(得分:0)
对于初学者,请使用function
关键字来定义函数。
当您需要一个文件时,您将其内容放入您所在文件的范围内。(命名空间中的文件是另一个故事。)
想想你的File2.php
:
<?
require('File1.php');
// A bunch of stuff
function anotherCoolFunction()
{
// Do some stuff
myCoolFunction();
}
与做同样的事情:
<?
function myCoolFunction()
{
// Some really cool stuff in here
}
// A bunch of stuff
function anotherCoolFunction()
{
// Do some stuff
myCoolFunction();
}
最后,(我只是说这个,因为我在你的代码中没有看到它)确保你调用封装函数。 E.g。
$var = anotherCoolFunction();
答案 2 :(得分:0)
它现在可以工作了, 要点:不建议使用短标签。 如果你找不到错误不只是stackOverflow它把这个美丽的ini_set()显示错误实用程序设置为php.ini 并且是..你在声明函数之前使用函数关键字。
<?php
function myCoolFunction()
{
// Some really cool stuff in here
}
<?php
ini_set("display_error",1);
require('File1.php');
// A bunch of stuff
function anotherCoolFunction()
{
// Do some stuff
myCoolFunction();
}