Skip to content

Přidání resolveru na relativní cesty#8

Merged
1 commit merged into
masterfrom
path_resolver
Oct 20, 2020
Merged

Přidání resolveru na relativní cesty#8
1 commit merged into
masterfrom
path_resolver

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Oct 19, 2020

Dekompozice třídy \Pd\Version\Filter:

  • vytvořen AbsoluteUrlResolver a PathResolver
  • vytvořen RelativePathGetter, který lze projektově přetížit a upravit mapování cest

Každý z Resolverů řeší vlastní cesotu zpracování cesty a cache. Tudíž balíček vyhovuje multiwebovému použití.


Výpočet verze nefungoval multiwebově, což je záležitost projektu. Do balíčku byla přidána možnost getteru na cestu, která lze překrýt na projektu. Getter vrací originální cestu, problém je v cache, takže musela být provedena dekompozice.

  • přídán Getter s Interface, který získá reálnou cestou souboru (překývá se na proejktu)
  • dekompozice získání URL absolutní a relativní

Na projektu vyzkoušeno: https://github.com/peckadesign/Gant2017/pull/3250

@ghost ghost requested review from Jakub-Fajkus, MilanPala and jakubenglicky October 19, 2020 08:57
Copy link
Copy Markdown

@jakubenglicky jakubenglicky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Za mě ok, jen ten jeden komentář, tam si popravdě nejsem jistý 😄 Ale asi bych ocenil, kdyby se na to podíval ještě například @MilanPala, který do toho vidí asi nejvíc.

Comment thread src/Resolvers/AbsolutePathResolver.php Outdated

private function isAbsoluteUrl(\Nette\Http\Url $url): bool
{
return $url->getHost() && ( ! $this->request || $url->getHost() !== $this->request->getUrl()->getHost());
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Není tady možnost, že dojde na volání nad NULL ? Je tady nebo, takže zkusí obě strany a když bude request NULL nic mu nezabrání, aby zkusil to getUrl nebo se pletu?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toto je utržek z původního kódu ... chtěl jsem to nějak refaktorovat, ale trošku mi z toho explodovala hlava ... ale asi v překladu to má být ... existuje host A (exituje request nebo host není stejný jaho host requestu) ... 🤔 asi:

if ( ! $url->getHost()) {
    return FALSE;
}
if ($this->request && $url->getHost() === $this->request->getUrl()->getHost()) {
    return TRUE;
}

return FALSE;

to je asi lepší co?

@MilanPala
Copy link
Copy Markdown

Vím o tom, projdu si to během dneška

@ghost ghost force-pushed the path_resolver branch from e11e476 to fe8be62 Compare October 19, 2020 12:00
Copy link
Copy Markdown

@MilanPala MilanPala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refaktoring v pořádku. Jemně bych upravil názvosloví, v tom jsem se dlouho ztrácel, myslel jsem nejdřív, že se to chová jinak.

Comment thread src/Resolvers/AbsolutePathResolver.php Outdated

namespace Pd\Version\Resolvers;

class AbsolutePathResolver extends \Pd\Version\Resolvers\AbstractPathResolver
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Přejmenoval bych na AbsoluteUrl, ať je konzistentní s pojmenováním v $url->getAbsoluteUrl(). Nejdříve jsem myslel, že jde o absolutní cestu na disku.

Comment thread src/Resolvers/RelativePathResolver.php Outdated

namespace Pd\Version\Resolvers;

class RelativePathResolver extends \Pd\Version\Resolvers\AbstractPathResolver
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Protože relativní cesta je od adresáře a absolutní je začínající lomítkem, toto bych přejmenoval na PathResolver, protože je jedno, jakou cestu hledáme. Z domény se bere pouze path a jde o to, jaký bude slepenec předaného adresáře a cesty z domény. Ve výsledku cesta z domény může být absolutní vzhledem k umístění na disku, adresář nemusí být žádný.

@MilanPala MilanPala assigned ghost Oct 19, 2020
@MilanPala
Copy link
Copy Markdown

@petrgala Prosím tedy o úpravu pojmenování, pokud v tom nevidíš nějaký rozpor. Potom můžeš merge do masteru. Akorát master je pro Nette 3, existuje i větev nette-2-4. Nejsem si jistý, jestli bude úprava nad masterem funkční i na všech projektech.

@ghost ghost force-pushed the path_resolver branch from fe8be62 to d472d50 Compare October 20, 2020 06:47
@ghost ghost force-pushed the path_resolver branch from d472d50 to 5139c96 Compare October 20, 2020 06:51
@ghost ghost merged commit f0858eb into master Oct 20, 2020
@jakubenglicky jakubenglicky deleted the path_resolver branch March 25, 2021 14:09
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants