Хорошо, я не совсем уверен на 100%, что здесь происходит, но я думаю, что это связано с тем, что я пытаюсь включить класс с помощью функции php "include ($ file)".
импорт функции выглядит следующим образом:
<?php
function import($file) {
global $imported; $imported = true;
$home_dir = "C:/xampp/htdocs/includes/";
if (file_exists($home_dir.$file.".php")) {
include_once($home_dir.$file.".php");
}
$imported = false;
}
?>
Все, что я делаю, это вызываю следующий php в моем файле index.php:
<?php
import("php.buffer");
$out = new StringBuffer;
$out->write("test?");
echo "'".($out->get())."' <- Buffer String Should Be Here";
?>
php.buffer.phpфайл выглядит так:
<?php
class StringBuffer {
public $buffer = "";
public function set($string) {
if (!isset($buffer)) { $buffer = ""; }
$buffer = $string;
}
public function get() {
if (!isset($buffer)) { $buffer = ""; }
return $buffer;
}
public function write($string) {
if (!isset($buffer)) { $buffer = ""; }
$buffer = $buffer.chr(strlen($string)).$string;
}
public function read() {
if (!isset($buffer)) { $buffer = ""; }
$return = "";
$str_len = substr($buffer,0,1); $buffer = substr($buffer,1,strlen($buffer)-1);
$return = substr($buffer,0,$str_len); $buffer = substr($buffer,$str_len,strlen($buffer)-$str_len);
return $return;
}
public function clear() {
$buffer = "";
}
public function flushall() {
echo $buffer;
$this->clear();
}
public function close() {
return new NoMethods();
}
}
?>
Я не получаю никаких ошибок при создании нового класса StringBuffer, поэтому я знаю, что он действительно включает мои файлы.