vendor/assetic/docs/en/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
Building and Dumping Assets
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
The is the simplest approach to using Assetic. It involves two steps:
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. Create a PHP script in your web directory that uses the Assetic OOP API to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    create and output an asset.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 2. Reference that file from your template.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
For example, you could create a file in your web directory at
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
`assets/javascripts.php` with the following code:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    use Assetic\Asset\AssetCollection;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    use Assetic\Asset\FileAsset;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    use Assetic\Filter\Yui\JsCompressorFilter as YuiCompressorFilter;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    $js = new AssetCollection(array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        new FileAsset(__DIR__.'/jquery.js'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        new FileAsset(__DIR__.'/application.js'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    ), array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        new YuiCompressorFilter('/path/to/yuicompressor.jar'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    header('Content-Type: application/js');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    echo $js->dump();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
In your HTML template you would include this generated Javascript using a
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
simple `<script>` tag:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    <script src="/assets/javascripts.php"></script>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
Next: [Basic Concepts](concepts.md)