Bir theme manager olarak paket geliştiriyorum. Amacım aynı anda birden fazla temayı isteğe bağlı olarak gösterebilmek. Proje klasöründe themes adında bir klasörün altında vendor/theme tarzında tema dosyalarını tutuyorum. Aynı zamanda bu tema klasörlerinde içinde public adında bir klasör daha var Bir türlü temanın public klasörünü asıl public klasörü altında gösteremedim.
Laravelde bu iş için File::link kullanılıyor anladığım kadarıyla. Bende aşağıdaki gibi bağlamaya çalışıyorum
\Illuminate\Support\Facades\File\File::link(
base_path('themes/vendor/any-theme/public')
public_path('themes/vendor/any-theme')
);
ama Cannot create a file when that file already exists. şeklinde bir hata alıyorum. Belli ki link oluşturulmuş, örneğin css dosyası için http requesti gelince server otomatik olarak linkli klasörler yoksa bile uygulayıp themes/vendor/any-theme klasörlerini oluşturuyor ancak assetlere erişemiyorum.
Aşağıdaki görselde sayfaya istek gelince otomatik oluşturulan klasörleri görüyorsunuz ama assetler yok. .htaccess dosyasında FollowSymLinks dememe rağmen yine aynı sonucu alıyorum.


Doğrudan symlink'i kullanırsam permission denied hatası veriyor. Bu muhtemelen Windows ile alakalı bir durum ama önce Laravel native çözümlere bakıyorum.