Úprava aplikace do nové struktury
- Allconius
- Člen | 314
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
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
@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
@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.