Class ‚Neco\DirectoryTree‘ not found

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Hankill
Člen | 9
+
0
-

Ahoj mám problém, že mi nette nechce najít třídu DirectoryTree v namespace Neco. Zkousel jsem to uz vsemozne hledal jsem i na foru a jedine co se nejvíce podobalo tomu mému bylo toto LINK avsak ani toto po odzkouseni mi nepomohlo. Verze Php 5.3.5 a Nette Framework 2.0-beta (revision 648b258 released on 2011–06–13)

Pro lepší pochopení situace přikládám soubory. Budu vděčný za každou pomoc a za svou neznalost se omlouvám.

DirectoryTree.php

<?php

namespace Neco;

use Neco\DirectoryTreeNode;

class DirectoryTree extends Nette\Application\UI\Control {
...
}

DirectoryTreeNode.php

<?php

namespace Neco;

class DirectoryTreeNode extends Nette\ComponentModel\Container {
...
}

FilePresenter.php

<?
namespace AdminModule;

use Neco;

class FilePresenter extends BasePresenter
{
...
	protected function createComponentTree($name) {
		$tree = new \Neco\DirectoryTree($this, $name);
		...
	}
}
h4kuna
Backer | 740
+
0
-

Máš zkontrolované jak je nastavený robotLoader a kde máš fyzicky uložený soubor?

Editoval matata (15. 7. 2011 22:11)

Hankill
Člen | 9
+
0
-

Jak jsi napsal to kde mám fyzicky uložený soubor, tak jsem se mrkl a měl jsem ho blbě. Překopíroval jsem ho do adresáře App plus jsem musel upravit některé Namespace a jede to. Díky moc za pomoc.

Editoval Hankill (15. 7. 2011 22:32)

smasty
Člen | 90
+
0
-

Len pár postrehov.

  • Keď máš dve triedy v rovnakom namespace (v tvojom prípade DirectoryTree a DirectoryTreeNode), nemusíš na ne používať klauzulu use, môžeš ich priamo používať, ako keby žiadne namespce neexistovalo, teda napr. v kóde DirectoryTree môžeš použiť priamo new DirectoryTreeNode();
  • Keď importuješ celé namespace Neco (tak ako máš vo FilePresenteri), nemusíš potom pri jeho použití dávať na začiatok ‚\‘, tak ako máš new \Neco\DirectoryTree...
Hankill
Člen | 9
+
0
-

díky za postřehy, nemám ještě právě moc zkušenosti s namespace a každá rada dobrá.