为什么php函数没有';不要在秒内工作<;?php?>;

为什么php函数没有';不要在秒内工作<;?php?>;,php,html,gettext,Php,Html,Gettext,为什么这样做很完美: <?php $url = $_SERVER["REQUEST_URI"]; $locale_lang = "pl_PL"; if (substr($url,0,3) == "/pl") { $locale_lang = "pl_PL"; } if (substr($url,0,3) == "/en") { $locale_lang = "en_US"; } $lang = substr($locale_lang,0,2); require_once("lib

为什么这样做很完美:

<?php
$url = $_SERVER["REQUEST_URI"];
$locale_lang = "pl_PL";

if (substr($url,0,3) == "/pl") { $locale_lang = "pl_PL"; }
if (substr($url,0,3) == "/en") { $locale_lang = "en_US"; }  

$lang = substr($locale_lang,0,2);

require_once("lib/streams.php");
require_once("lib/gettext.php");

$locale_file = new FileReader("locale/$locale_lang/LC_MESSAGES/messages.mo");
$locale_fetch = new gettext_reader($locale_file);

function _loc($text) {
    global $locale_fetch;
    return $locale_fetch->translate($text);
}

echo "<!doctype html>
<html lang=\"$lang\">
<head>
<title>"._loc("Summoners War")."</title>";
?>

当这不起作用的时候。函数_loc返回空值。没有php通知/错误

<?php
$url = $_SERVER["REQUEST_URI"];
$locale_lang = "pl_PL";

if (substr($url,0,3) == "/pl") { $locale_lang = "pl_PL"; }
if (substr($url,0,3) == "/en") { $locale_lang = "en_US"; }  

$lang = substr($locale_lang,0,2);

require_once("lib/streams.php");
require_once("lib/gettext.php");

$locale_file = new FileReader("locale/$locale_lang/LC_MESSAGES/messages.mo");
$locale_fetch = new gettext_reader($locale_file);

function _loc($text) {
    global $locale_fetch;
    return $locale_fetch->translate($text);
}
?>
<!doctype html>
<html lang="<?php echo $lang; ?>">
<head>
<title><?php _loc("Summoners War"); ?></title>


在第一种情况下,您将
\u loc
函数放在
echo
中,这在第二个示例中是不存在的

将最后一行代码更改为:

<title><?php echo _loc("Summoners War"); ?></title>

在第一种情况下,您将
\u loc
函数放在
echo
中,这在第二个示例中是不存在的

将最后一行代码更改为:

<title><?php echo _loc("Summoners War"); ?></title>


将echo置于输出之前的函数

将echo置于输出之前的函数

虽然正确,但最好添加一个关于错误的解释。echo打印_loc()的返回值。您也可以使用速记,而不是使用。虽然正确,但最好添加一个关于错误的解释。echo打印_loc()的返回值。除了使用,你还可以使用速记。