通过另一个文件调用 PHP 函数


Calling PHP functions through another file

我创建了一个简单的示例 php 文件来显示一些函数输出。 这是代码。

<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');
switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('Joel');
        break;
    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('Duck');
        break;
    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}

function hello($name){
    return $name;
}

function pageHeader($header,$onoff){
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}
echo $printHeader;
echo $printName;
?>

此代码工作正常,没有任何问题。

当我调用"example.com/php/tipo34.php?red"时,它显示在屏幕上:

redpage header
Joel

当我拨打"example.com/php/tipo34.php?blue"时,它会显示在屏幕上:

Duck

我尝试将以下函数放入另一个名为 tipo34-req 的 php 文件中.php并收到以下错误:

Fatal error: Call to undefined function pageHeader() in C:'wamp'www'php'tipo34.php on line 8

我尝试的代码:

<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');
switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
        break;
    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
        break;
    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}
include 'tipo34-req.php';
echo $printHeader;
echo $printName;
?>

Tipo34-req.php 代码:

<?php
function hello($name){
    global $name;
    return $name;
}
function pageHeader($header,$onoff){ global $header, $onoff
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}
?>

如何解决此问题?直接在文件上使用该函数是有效的,但是当我将这些函数放在另一个 php 文件中时,它会抛出错误。

谢谢。

在内容用法上方包含您的文件。PHP 不知道这些函数,因为它们包含在代码的后面。

include 'tipo34-req.php';
switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
    break;
    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
    break;
    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
    break;

}
echo $printHeader;
echo $printName;
?>

您是否尝试过在调用任何函数之前将文件包含在顶部?