-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
プラグインを任意のディレクトリに配置できるように修正 #360
Conversation
- PLUGIN_UPLOAD_REALDIR を引数で渡せられるよう修正
Composer で管理したい場合は本体に手を入れる必要があるということでしょうか? |
@nobuhiko // vendor/nanasess 以下のプラグインを読み込む
spl_autoload_register(
function ($class) {
SC_ClassAutoloader_Ex::autoload($class, __DIR__.'/vendor/nanasess/');
},
true, true
); plugin_info.php とかを自動的に探しにいってもいいですが、 ボトルネックの方が大きいかなと |
@nobuhiko プラグイン側の composer.json に autoload の定義を書いて、その中で プラグインのcomposer.json "autoload": {
"files": [
"bootstrap.php"
]
}, bootstrap.php<?php
spl_autoload_register(
function ($class) {
SC_ClassAutoloader_Ex::autoload($class, __DIR__.'/../');
},
true, true
); |
@nanasess 自動的に探しには重いので論外として、置くだけじゃ結局動かないのがなんとも |
@nobuhiko この修正は、メソッド内で定数を使用するのをやめて、テストしやすくするのが主目的なので、、プラグインを Composer で完全に管理できるようにするには、プラグインインストーラまわりも手を入れる必要がありそうです |
spl_autoload_register(array('SC_ClassAutoloader_Ex', 'autoload'), true, true); | ||
spl_autoload_register( | ||
function ($class) { | ||
SC_ClassAutoloader_Ex::autoload($class, __DIR__.'/downloads/plugin/'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ここは PLUGIN_UPLOAD_REALDIR じゃないんですか?
もしくは引数なしか
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PLUGIN_UPLOAD_REALDIR
が定義される前のタイミングなので、やむなく😥
ありがとうございます。マージしました。 |
従来、プラグインは
data/downloads/plugin
以下に配置する必要があったが、この修正で任意のディレクトリに配置可能となる。以下のようなケースで有用
data/app_initial.php
では、PLUGIN_UPLOAD_REALDIR
がまだ定義されていないため、定数を使用せずにデフォルトのプラグインディレクトリを設定している