2016-10-16 55 views
1

我试图导出一些类到一个库,以保持我的代码整洁 ,但我只是不知道为什么这似乎不起作用:( 包含文件。肯定是被加载 当我定义的类本地也有没有问题,testgerät被送往麻烦,包括在ubuntu服务器上的PHP类库

我总是试图让事情起初简单,所以我用这个小样本: Gerät.php:

<?php 
echo "loading Gerät<br>"; 
class Gerät{ 
    function Gerät(){ 
     $this->name = "testgerät"; 
    } 
} 
?> 

index.php

<?php 
include "/var/www/html/aiberry/objects/Gerät.php"; 

echo "My first PHP script!<br>"; 


$test = new Gerät(); 

echo $test->name; 
?> 

的index.php文件

loading Ger�t 
My first PHP script! 

这会是一个命名空间问题的输出?

编辑:我对引起有关实际问题的困惑遗憾: 我其实期待输出:

loading Ger�t 
My first PHP script! 
testgerät 

如果我知道如何打开我的(1)调试可能会得到一个消息,告知我没有上课“Gerät”。但我的悖论是Gerät.php肯定被加载,因为输出“加载Gerät”被写入该文件。一个简单的类到index.php的复制粘贴提供了所需的输出,所以我只能想到一个名称空间问题或类似的地方,在Gerät.php完成处理之后,类正在丢失。

+0

是什么“这个似乎没有工作”,其实是什么意思?什么_exactly_是你的问题? – arkascha

+0

你**不应该**在类名和变量以及其他不是'字符串'的东西中使用外来字符。在PHP中的价值。 – gskema

+0

@gskema没有“外来人物”或“特殊人物”这样的东西。只有角色,很多'时髦玩家。实际上这些德语变音符号在PHP类名中是有效的。这可能会导致问题,但如果这些字符也用于文件名... – arkascha

回答

1

我的猜测是你在两个文件之间有不同的字符集编码,你可以使用你的文本编辑器来验证Gerät.php是否被保存了相同的字符集编码的index.php?

总的来说这是一个好主意,以避免在PHP标识符非ASCII字符(类名,变量名等)