vendor/assetic/docs/ja/build.md
author cavaliet
Tue, 15 Nov 2011 12:27:02 +0100
changeset 31 f457dd0e7a1e
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
First step to add context search to a page. Works fine but needs to be improved with several list of selectors.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
アセットのビルドとダンプ
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
---------------------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
Asseticを使う一番単純な方法は、次の2ステップからなります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 1. 公開領域内にPHPスクリプトを作成し、Assetic OOP APIを使用してアセットの作成・出力を行う
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 2. テンプレートから上記のファイルを参照する
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
例えば、公開領域内に`assets/javascripts.php`ファイルを作成し、
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
下記のようなコードを記述します。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    use Assetic\Asset\AssetCollection;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    use Assetic\Asset\FileAsset;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    use Assetic\Filter\Yui\JsCompressorFilter as YuiCompressorFilter;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    $js = new AssetCollection(array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        new FileAsset(__DIR__.'/jquery.js'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        new FileAsset(__DIR__.'/application.js'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    ), array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        new YuiCompressorFilter('/path/to/yuicompressor.jar'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    header('Content-Type: application/js');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    echo $js->dump();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
HTMLテンプレート側では、単に`<script>`タグを用いて、生成されたJavascriptをインクルードすることになります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    <script src="/assets/javascripts.php"></script>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
Next: [コンセプト](concepts.md)