Re: 複数のブロックで共通のライブラリ

2014年4月30日 at 3:37

返信ありがとうございます。

場所はよくわかりました。

読み込み方法を考えないといけないようですね。

Re: 複数のブロックで共通のライブラリ

2014年4月30日 at 3:46
例えばコアに同梱されているサードパーティライブラリ

concrete/libraries/3rdparty/mobile_detect.php

を読み込むには、

Loader::library('3rdparty/mobile_detect');

と書きます。


ユーザー領域に置いた

libraries/3rdparty/foo.php

を読み込むには、

Loader::library('3rdparty/foo');

パッケージ領域に置いた

packages/bar/libraries/3rdparty/foo.php

を読み込むには、

Loader::library('3rdparty/foo', 'bar');

と書きます。
 

Re: Re: 複数のブロックで共通のライブラリ

2014年4月30日 at 4:23
詳細ありがとうございます。
読み込み方法もよくわかりました!

composerを使うとなると、パッケージを作ってその中に押し込めて、
独自に呼び出したほうがスマートそうですね。

依存ライブラリが2~3あるとメンテが煩雑になりそうな感じです。
 

Re: 複数のブロックで共通のライブラリ

2014年4月30日 at 4:29
Loader::library('vendor/autoload'); とすればできそうかな。個人的に5.6系ではパッケージの管理のみにComposerを使い、読み込みはLoader経由で個別に指定してやっています。
 

Re: Re: 複数のブロックで共通のライブラリ

2014年4月30日 at 5:41
試してみました。

composerから pkg/libraries/3rdparty/ にインストールするよう設定し、
インストール後に
Loader::library('3rdparty/autoload', 'pkg');
としてcomposerのautoload.phpを呼んだところ、
正常に動作しました。

これで行けそうです。