MeEdu---开发插件之【静态资源访问】
为了保证插件的独立性,该插件的静态资源被约定和插件放到一起,在插件目录下的 public 作为静态资源:

然后我们在插件的 AppCommand 文件中为这个静态目录创建一个软链接,这样就可以访问插件里面的静态文件了(Laravel 的 php artisan storage:link 就是这个原理)。
修改 Commands / AppCommand.php 文件
原始:

修改代码:

代码示例:
<?php namespace Addons\School\Commands; use Illuminate\Console\Command; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Facades\Artisan; class AppCommand extends Command { protected $signature = 'School {action}'; protected $description = ''; protected $file; public function __construct(Filesystem $file) { parent::__construct(); $this->file = $file; } public function handle() { $action = $this->argument('action'); $method = 'action' . ucfirst($action); $this->{$method}(); } protected function actionInstall() { // 插件安装执行的业务逻辑 // 静态目录软链接 @unlink(base_path('public/addons/School')); $this->file->link(base_path('addons/School/public'), base_path('public/addons/School')); } protected function actionUninstall() { // 插件卸载执行的业务逻辑 // 删除软链接 @unlink(base_path('public/addons/School')); } protected function actionUpgrade() { // 插件升级执行的业务逻辑 } }
到此代码部分完成了,但是并没有创建软链接,原因是该方法在:插件安装的时候调用。
需要去到后台,找到插件后:关闭 后 重新 安装:关闭后重新打开即可:

然后我们就可以在:public 目录下的 addons 目录看到创建的软连接目录:

如何访问:
/addons/School/Frontend/pc.css
/addons/School/Frontend/wap.css
模板中使用:
<link rel="stylesheet" href="{{asset('/addons/School/Frontend/pc.css')}}">
<link rel="stylesheet" href="{{asset('/addons/School/Frontend/wap.css')}}">
打完手工!

浙公网安备 33010602011771号