> Why do you want the folder name to be named assets itself ?

The folder has to have a name - "assets" seemed like the logical choice.

Perhaps what you're really wondering is, why a single folder and not a
map like in the Aura library?

Because it's simpler. A map would require more than a standard - it
would require at least a configuration file format specification,
and/or possible a library or interfaces.

Also, because we learned from doing something similar at work, that
being able to symlink vendored asset folders into the project's public
asset folder is really useful - it enables you to run an installation
script once, and the continue to add more files to the vendor
packages, since every file in the symlinked folder becomes
automatically available.

Another reason is that a map cannot be interpreted or resolved at
design-time, by the browser - things like source-maps of relative
paths fall apart, since the relative public URLs do not map directly
to physical files. This is perhaps the main reason we came up with
this approach - anything else has proven to be highly impractical to
work with. Having to run a build or deploy script between every change
is cumbersome.

Finally, the length or appearance of asset URLs is typically
completely irrelevant - about as irrelevant as the physical
file-system structure is to Composer packages. For the most part, no
person will ever see the URL of your CSS or JS files - wanting shorter
or neater URLs is purely vanity, it has no practical consequence.
Having a simple, predictable URL structure that prevents collissions,
is much more valuable than having pretty URLs.

Good question though, thanks for reviewing this :-)


On Mon, Oct 17, 2016 at 3:00 AM, Hari K T <kthar...@gmail.com> wrote:
> Thank you Rasmus Schultz for the nice write up.
>
> After looking at it I think, it was something similar to what we had for
> Aura  https://github.com/friendsofaura/Aura.Asset_Bundle .
>
> I recently added psr-7 support : https://github.com/harikt/psr7-asset ( Not
> saying it is perfect )
>
> I like some of the good things you mentioned towards the end of "A component
> responsible for the delivery of vendor-supplied assets:"
>
> https://gist.github.com/mindplay-dk/90507eb164e74bac7bbbf9abc97a04ee#12-asset-url-scheme
>
> Also I have question :
>
> Why do you want the folder name to be named assets itself ? ( But I do agree
> it is good to have a folder not to expose other files ;-) )
>
> What Aura.Asset_Bundle was using was mapping the folder with the package
> path. So it don't necessary to be in vendor folder you mentioned. It gives
> flexibility for the users to choose the path for their vendor specific css.
>
> Eg : In our case you can alter the css / js behaviours of the vendor/a/b
> with your own if you are mapping to /web/project-specific-assets .
>
> I do understand it needs some configuration though.
>
> And thanks for bringing this up, and it will be nice feature to have for
> considering psr-7, psr-15 etc.
>
> Thank you
>
> Hari K T
>
> You can ring me : +91 9388 75 8821
>
> http://harikt.com , https://github.com/harikt ,
> http://www.linkedin.com/in/harikt , http://www.xing.com/profile/Hari_KT
>
> Skype  : kthari85
> Twitter : harikt
>
> On Mon, Oct 17, 2016 at 3:10 AM, Rasmus Schultz <ras...@mindplay.dk> wrote:
>>
>> The webroot folder can have any name - a folder needs to be designated, I
>> thought the spec was pretty clear on this point? :-)
>>
>>
>> On Oct 16, 2016 23:00, "Christopher Pitt" <cgp...@gmail.com> wrote:
>>>
>>> Nice write-up. Do you think it would be possible to survey member
>>> projects (including recently departed projects, like Laravel), to determine
>>> things like the most common/preferred name for the webroot folder?
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "PHP Framework Interoperability Group" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/php-fig/f4qtsS54mVY/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> php-fig+unsubscr...@googlegroups.com.
>>> To post to this group, send email to php-fig@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/php-fig/ad00f8f7-74f3-4a00-99aa-8b0909df7fa9%40googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "PHP Framework Interoperability Group" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to php-fig+unsubscr...@googlegroups.com.
>> To post to this group, send email to php-fig@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/php-fig/CADqTB_gt7%2BjPbRKUZ88-m%2Be3N1OanuC%3DOiMj2QNZ%3DfkqjtmDqg%40mail.gmail.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "PHP Framework Interoperability Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/php-fig/f4qtsS54mVY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> php-fig+unsubscr...@googlegroups.com.
> To post to this group, send email to php-fig@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/php-fig/CAESZFtK_vrVRKEVFHBENU2hdFxGEc8P%2Bk4HL2m2F3sB2PHRymg%40mail.gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups "PHP 
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to php-fig+unsubscr...@googlegroups.com.
To post to this group, send email to php-fig@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/php-fig/CADqTB_hqGQUi%3DZ9VdZr8FK2c2E%3DueQhrsEm9-_1_%2BzsG-QpQ1g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to