bofh1337
Erfahrenes Mitglied
Moin
Da ich mir bis jetzt die PHP-Klamotte zum Hobby gemacht und selber beigebracht habe, es also nicht Jobmässig damit zu tun habe, stehe ich nun vor einem kleinen Problem:
Ich habe bei mit "PHP 5.4.13-2~precise+1" am laufen, aber irgendwie scheint weder "namespace" noch "use" für OOP bei mir zu laufen:
Die /index.php:
Die /loader.php (08/15 loader, erfüllt aber seinen zweck, inkl. debug-infos):
Die /compress/compressor.php:
Von der loader.php bekomme ich die Infos, das die "/compress/compressor.php" geladen wurde...aber vom xdebug nur die Meldung:
Kann mir jemand verraten, wo da der Fehler liegt? Ich kann das ganze Paket auch mal als Zip hoch laden
Da ich mir bis jetzt die PHP-Klamotte zum Hobby gemacht und selber beigebracht habe, es also nicht Jobmässig damit zu tun habe, stehe ich nun vor einem kleinen Problem:
Ich habe bei mit "PHP 5.4.13-2~precise+1" am laufen, aber irgendwie scheint weder "namespace" noch "use" für OOP bei mir zu laufen:
Die /index.php:
PHP:
<?php
use compress\compressor;
include 'loader.php';
$params = array (
'compressor' => 'zip',
'owndir' => true
);
$something = '';
$t = new compressor ();
$t->load ('Archiv');
$t->extract ($params, $something);
?>
Die /loader.php (08/15 loader, erfüllt aber seinen zweck, inkl. debug-infos):
PHP:
<?php
function __autoload ($class_name)
{
static $list;
$class = str_replace ('\\', DIRECTORY_SEPARATOR, $class_name) . '.php';
include_once './' . $class;
if (!$list)
{
$list = array ();
}
if (!in_array ($class, $list))
{
$list[] = $class;
}
echo '<pre>';
var_dump ($list);
echo '</pre>';
}
?>
Die /compress/compressor.php:
PHP:
<?php
namespace compress\compressor;
use compress\driver\tar,
compress\driver\Zip;
class compressor
{
const FILE_ZIP = 0;
const FILE_RAR = 1;
const FILE_TAR_GZ = 2;
//...
protected $driver;
protected $file;
public function __construct ()
{
;
}
public function __destruct ()
{
if (!empty ($this->driver))
{
unset ($this->driver);
}
}
public function load ($file, $driver = self::FILE_ZIP)
{
$this->driver = new Zip ();
}
public function extract ($params, $something)
{
$this->driver->extract ($params, $something);
}
public function compress ($params, $something)
{
$this->driver->extract ($params, $something);
}
}
?>
Von der loader.php bekomme ich die Infos, das die "/compress/compressor.php" geladen wurde...aber vom xdebug nur die Meldung:
Fatal error: Class 'compress\compressor' not found in /var/www/httpdocs/namespace/index.php on line 14
Kann mir jemand verraten, wo da der Fehler liegt? Ich kann das ganze Paket auch mal als Zip hoch laden