人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel で アスペクト志向 Laravel-Aspect

● Laravel-Aspect

https://github.com/ytake/Laravel-Aspect

https://www.slideshare.net/KenjiroKubota/laravel-aspect

● 登場する用語

引用 : https://camp.trainocate.co.jp/magazine/whats-aop-programming/

①アドバイス(Advice) 処理内容を記述したものを「アドバイス」と呼びます。
②ジョインポイント(JoinPoint) アドバイスを注入する場所を「ジョインポイント」と呼びます。
アドバイスを結合(ジョイン)する場所(ポイント)と覚えましょう。
③ポイントカット(PointCut) アドバイスをジョインするポイントにおいて、処理を実行する条件などを指定したい場合もあるでしょう。
その指定方法を「ポイントカット」と呼びます。
アドバイスとジョンポイント、ポイントカットの覚え方
アドバイスとジョインポイント、ポイントカットはセットで覚える必要があるので注意しましょう。
覚え方のコツとしては、【ポイントカット】の場合、【アドバイス】を【ジョインポイント】へ注入するというように、ひとつの文章として覚えておくとよいでしょう。
④アドバイザ(Advisor) 実際にAOPを実装する際には、アドバイスとポイントカットはセットで記述することになります。
アドバイスとポイントカットの両方をもつモジュールクラスを作成する場合、そのクラスを「アドバイザ」と呼びます。
⑤インターセプタ(Interceptor) Interceptは「割り込み」の意味をもちます。
インターセプタは、本来はAOPの用語ではないため注意しましょう。
ただし、インターセプタの目的は「特定の処理に対して共通処理を注入する」であり、AOPにおけるアドバイザと同じような意味合いで利用されます。
ちなみに、AOPに非対応でもインターセプタをサポートしているフレームワークも多く存在します。
それらにあわせて、アドバイザのクラス名を「~Interceptor」とする場合もありますので、インターセプタの存在自体は覚えておいて損はないでしょう。
⑥プロキシとターゲット(Proxy , Target) プロキシは「アドバイスをもつオブジェクト」、ターゲットは「プロキシされる(アドバイスが注入される)オブジェクト」を指します。 プロキシとターゲットは対になる単語ですので、こちらもセットで覚えておきましょう。
No.2304
03/27 10:18

edit