2016-10-16 86 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字符(類名,變量名等)