Open ulk200 opened 8 years ago
Hello :-),
Is there a way to detect whether files/resources have been installed with Composer? I guess no 😢.
Maybe you could test if the containing directory is named "Hoa" vs "hoa" ? I'm no composer expert but maybe you can tell composer (in the install phase) to generate an additionnal file ? Or to trigger a hook in the sources it just downloded ?
The issue is when you are working with a FS that is can insensitive, like the default one on Mac OS X. is_dir('Hoa') === is_dir('hoa')
if one of them exists.
This is related to https://github.com/hoaproject/Ruler/issues/86 I'm using the Hoa/Ruler library that i downloded with composer, but i'm using a third party autoloader. When
hoa://Library/Ruler/Grammar.pp
gets loaded the\Hoa\Protocol\Node\Library
object calls its parent in thereach
function because theWITH_COMPOSER
contant isfalse
. effectivly looking into directories in a camelcase name format. But since i used composer to download the files,Grammar.pp
is not found (my directories are not camelcase) I solved this by forcingWITH_COMPOSER
totrue
, this constant is based on wether theComposer\Autoload\ClassLoader
class exists or not. It may be preferable to make a distinction between "downloaded with composer" (which sets a specific directory structure) from the "autoloaded_with_composer" (which imply the class present at runtime). Thenhoa://Library/Ruler/Grammar.pp
should rely on the "downloaded with composer" constant to call its parent or not. Thank you.