Úprava aplikace do nové struktury

Allconius
Člen | 314
+
0
-

Ahoj,
nainstaloval jsem si nejnovější verzi nette s novou strukturou /app/UI/Home , pokud používám i BasePresenter mám ho umístit do /app/UI/Base ? Aby mi to pak fungovalo vypadá HomePresenter takto:

declare(strict_types=1);

namespace App\UI\Home;

use Nette;

class HomePresenter extends \App\UI\Base\BasePresenter
{
}

Dá se to udělat nějak jinak bych nemusel v extends vypisovat tu cestu k BasePresenteru ?

Marek Bartoš
Nette Blogger | 1230
+
0
-

Můžeš ho dát kamkoli chceš uvnitř složky s aplikací. A snad používáš nějaký chytrý editor (phpstorm), který ti ten namespace (ne cestu) sám doplní.

m.brecher
Generous Backer | 814
+
+1
-

@Allconius

Dá se to udělat nějak jinak bych nemusel v extends vypisovat tu cestu k BasePresenteru ?

Dlouhé názvy tříd včetně namespace znepřehledňují kód, já používám vždy když to jde krátký název + plný název v use:

namespace App\UI\Home;

use Nette;
use \App\UI\Base\BasePresenter

class HomePresenter extends BasePresenter
{
	//...
}
Rick Strafy
Nette Blogger | 78
+
0
-

@Allconius muzes to mit kde chces, ale lepsi bude primo App/UI/BasePresenter.php, strukturalne to dava vice smysl, kdyz budes mit treba modul Admin, tak budes mit v UI slozku Admin a v ni primo BaseAdminPresenter. Protoze dalsi slozka Base muze byt matouci, vypada to pak jako modul anebo slozka kde ma byt koncovy presenter/template/formular.

Argument se da udelat ze tam treba muzes mit i nejake spolecne formulare, ale to je obvykle edge-case a spolecne formulare muzes hodit do nejake default presenter slozky, treba Dashboard/Form anebo Homepage/Form.