from time time keep seeing doubled namespaces like:
namespace/namespace/subnamespace/
for example new prestashop (1.7) uses convention
namespace prestashop\prestashop\core;
could explain me benefits of type of namespacing?
also tutorials namespacing this:
namespace mynamespace/classname classs classname {} what benefits of this? cause see disadvantages as: more complicated namespaces , more typing.
also saw q&a: php namespace questions
can see disadvantage: more prone bugs depends on relative namespacing
ps: keep on using absolute namespaces. it's less prone bugs in feeling, enlighten me if i'm wrong please.
as mentioned auto-loading , follows psr-4 conventions. naming convention namespaces left creator. required piece top level namespace there can many sub-namespaces used if wanted.
for example in prestashop's composer.json have:
"autoload": { "psr-4": { "prestashop\\prestashop\\": "src/", "prestashopbundle\\": "src/prestashopbundle/" } } so namespace prestashop\prestashop\ can thing within src.
in slim framework (a router) have:
"autoload": { "psr-4": { "slim\\": "slim" } } so in 1 use namespace slim\class.
in 1 of first project did like:
"autoload": { "psr-4": { "app\\models\\": "app_name/models", "app\\validators\\": "app_name/validators" //and on } } i not think hurts redundant in end.
Comments
Post a Comment