我是PHP新手,我一直在学习一个教程,我在PHP中使用OOP构建用户注册系统。我已经很好地消化了代码并快速学习,但遇到了一个小问题(但令人沮丧)。
如果echo命令遵循require_once
命令,我的Web浏览器不想显示echo值,除非我在我想要回显的值之前添加额外的echo '<br'>
。这就是它的样子:
<?php
require_once 'core/init.php';
echo Config::get('mysql/host');
上面的代码不会回显浏览器中的最后一行。
<?php
require_once 'core/init.php';
echo '<br>';
echo Config::get('mysql/host');
上面的代码将回显浏览器中的最后一行。
为什么我需要添加echo '<br>'
才能显示?
我将非常感谢你的建议。
最佳, 卢卡斯
core / init.php中的代码如下所示:
<?php
session_start();
$GLOBALS['config'] = array(
'mysql' => array(
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'db' => 'lr'
),
'remember' => array(
'cookie_name' => 'hash',
'cookie_expiry' => 604800
),
'session' => array(
'session_name' => 'user'
)
);
spl_autoload_register(function ($class) {
require_once 'classes/' .$class . '.php';
});
require_once '/../functions/sanitize.php';
echo $config['mysql']['host'];
答案 0 :(得分:0)
我已经测试了代码,一切正常。顺便说一句,您应该考虑不在代码中使用$GLOBALS
。
完整的工作代码:
<强>的index.php 强>
<?php
require_once 'core/init.php';
echo Config::get('mysql/host');
<强>芯/的init.php 强>
<?php
session_start();
$GLOBALS['config'] = array(
'mysql' => array(
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'db' => 'lr'
),
'remember' => array(
'cookie_name' => 'hash',
'cookie_expiry' => 604800
),
'session' => array(
'session_name' => 'user'
)
);
spl_autoload_register(function ($class) {
require_once 'classes/' .$class . '.php';
});
require_once '/../functions/sanitize.php';
echo $config['mysql']['host'];
<强>功能/ sanitize.php 强>
<?php
function escape ($string)
{
return htmlentities($string, END_QUOTES, 'UTF-8');
}
<强>类/ CONFIG.PHP 强>
<?php
class Config {
static function get($what) {
$what = explode ('/', $what);
echo $GLOBALS['config'][$what[0]][$what[1]];
}
}
在浏览器中启动index.php
文件的结果是:
127.0.0.1127.0.0.1
正如预期的那样(127.0.0.1显示2次,没有空格)