Giter Site home page Giter Site logo

madapaja.twigmodule's People

Contributors

kalibora avatar koriym avatar kumamidori avatar madapaja avatar suzumaze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

madapaja.twigmodule's Issues

Version number 2.0

Why release v2.0.0 ? I think it should be 1.x. (=1.2.0).
But wait, we need some other discussion for stable release.

拡張子

.twigの方が.html.twigより一般的ではないかと思ったのですがどうでしょうか?

$ro->templatePath ? テンプレートの指定方法

    /**
     * return template file full path
     */
    private function getTemplatePath(ResourceObject $ro) : string
    {
        if (isset($ro->templatePath) && ! empty($ro->templatePath)) {
            return $ro->templatePath;
        }

何かのプロパティ('templatePath')が特定のコンポーネント(Twig)にとって特別な意味がある設計というのはどうでしょうか? 特定プロパティに特別な意味を持たせて、外部がそれを目印に振る舞いを変えるのはCakePHPやLaravelなどでもありますがそれはどうでしょうか?

ProdModule

今のTwigModuleはデフォルトでdebugオプションがオンになってますが、これをオフにしたprodコンテキスト用のモジュールが必要だと思いますがどうでしょうか。

Madapaja.TwigModule下のpageリソースで Link アトリビュートが機能しない

再現方法

BEAR.Sundayのスケルトンから始めて再現するまでのコミットを、次のリポジトリへ積みました。
Kimita/twigmodule-issue@7546748

状況

BEAR.Sunday のチュートリアル2:ticketsリソース で例示されているような Linkアトリビュート は、Madapaja.TwigModule の導入によってpageリソースのレンダラがHTML出力に変わると、pageリソース側では効かなくなるもよう。

考察

  • どうやら、BEAR\Resource\HalRenderer::renderHal() 内で行われているような処理がMadapaja\TwigModule\TwigRenderer では行われていないことによるもののようだ。
  • ひとまず、このリンク先にて積んだコミットで問題を回避してみている。
  • 上述の回避策では現状、自作の AnnotationResolver で _embedded への埋め込みまでやってしまっている。しかし、BEAR.Sundayのチュートリアルで示されている内容からすると、Embedアトリビュートには触れずに「Linkアトリビュートを _links へ埋め込む」だけを処理対象とすべきなのかも?

上記で示した回避策がもし妥当ならば、今回自作した AnnotationResolver は次のように配置&使用されるのが理想か?

  • BEAR.Resource パッケージで AnnotationResolver (に相当するクラス)を提供する
  • Madapaja.TwigModule のようなプレゼンテーション層向けのパッケージ側で、レンダリング処理を行うクラスにて適宜 AnnotationResolver (に相当するクラス)を任意使用する

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.