How to change Default Presenter
- Bill Lions
- Member | 47
Previously, I could set my default presenter with
public static function createRouter(): RouteList
{
$router = new RouteList;
$router->addRoute('/', 'Default:default');
return $router;
}
The directory structure is different in my application and is:
app/DefaultModule/presenters/DefaultPresenter.php
Now, there is an entry in vendor/composer/autoload_classmap.php which reads:
‘App\\Presenters\\HomepagePresenter’ ⇒ $baseDir . ‘/app/Presenters/HomepagePresenter.php’,
This entry causes the application to seek out the HomepagePresenter, which no longer exists, and produces the error:
Warning
include(/var/www/html/vendor/composer/../../app/Presenters/HomepagePresenter.php): failed to open stream: No such file or directory
Removing the HomepagePresenter from vender/composer/autoload_classmap.php fixes the problem, but I am sure this is not the intended usage.
Is there some new nette 3.* way of overriding this?
- Bill Lions
- Member | 47
CZechBoY wrote:
After you add/remove some php file, you should run
composer dump-autoload
if you use Composer autoloader.
I am not using composer.
- Bill Lions
- Member | 47
CZechBoY wrote:
Then its impossible to have this in composer’s autoloader :)
Not impossible, just has to be manually edited.
Unsure why these need to be in composer, and not in the router.
Same applies to Error4xxPresenter and ErrorPresenter.
Composer is not used in many of our government applications due to security issues.
Anywho, I just add it to my patch script, which modifies nette into
supporting stand-alone modules, and it's done.
$ php nette –patch
Patch successful
Last edited by Bill Lions (2020-07-15 10:24)
- CZechBoY
- Member | 3608
Why is Composer not used in government applications? If you know about security issues, you should report them to Composer maintainers.
Please read something about autoloading here in php documentation: https://www.php.net/…autoload.php
- Bill Lions
- Member | 47
CZechBoY wrote:
Why is Composer not used in government applications? If you know about security issues, you should report them to Composer maintainers.
Please read something about autoloading here in php documentation: https://www.php.net/…autoload.php
Not my call, just that many IT departments do not like to hand over control
of source to third parties.
Not really an imminent threat, simply increased risk, which CTO's do not wish
to mitigate.