Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0bc46cd

Browse files
committed
added assetic DIC tags
1 parente5814e6 commit0bc46cd

File tree

1 file changed

+171
-0
lines changed

1 file changed

+171
-0
lines changed

‎reference/dic_tags.rst

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ the AsseticBundle has several tags that aren't listed here.
1616
+-----------------------------------+---------------------------------------------------------------------------+
1717
| Tag Name| Usage|
1818
+-----------------------------------+---------------------------------------------------------------------------+
19+
| `assetic.asset`_| Register an asset to the current asset manager|
20+
+-----------------------------------+---------------------------------------------------------------------------+
21+
| `assetic.factory_worker`_| Add a factory worker|
22+
+-----------------------------------+---------------------------------------------------------------------------+
23+
| `assetic.filter`_| Register a filter|
24+
+-----------------------------------+---------------------------------------------------------------------------+
25+
| `assetic.formula_loader`_| Add a formula loader to the current asset manager|
26+
+-----------------------------------+---------------------------------------------------------------------------+
27+
| `assetic.formula_resource`_| Adds a resource to the current asset manager|
28+
+-----------------------------------+---------------------------------------------------------------------------+
29+
| `assetic.templating.php`_| Remove this service if php templating is disabled|
30+
+-----------------------------------+---------------------------------------------------------------------------+
31+
| `assetic.templating.twig`_| Remove this service if twig templating is disabled|
32+
+-----------------------------------+---------------------------------------------------------------------------+
1933
| `data_collector`_| Create a class that collects custom data for the profiler|
2034
+-----------------------------------+---------------------------------------------------------------------------+
2135
| `form.type`_| Create a custom form field type|
@@ -53,6 +67,163 @@ the AsseticBundle has several tags that aren't listed here.
5367
| `validator.initializer`_| Register a service that initializes objects before validation|
5468
+-----------------------------------+---------------------------------------------------------------------------+
5569

70+
assetic.asset
71+
-------------
72+
73+
**Purpose**: Register an asset to the current asset manager
74+
75+
assetic.factory_worker
76+
----------------------
77+
78+
**Purpose**: Add a factory worker
79+
80+
Factory worker is a class implementing
81+
``Assetic\\Factory\\Worker\\WorkerInterface``. Its ``process($asset)``
82+
method is called for each asset after asset creation. You can modify an asset or
83+
even return a new one.
84+
85+
In order to add a new worker, first create a class::
86+
87+
use Assetic\Asset\AssetInterface;
88+
use Assetic\Factory\Worker\WorkerInterface;
89+
90+
class MyWorker implements WorkerInterface
91+
{
92+
public function process(AssetInterface $asset)
93+
{
94+
// ... change $asset or return a new one
95+
}
96+
97+
}
98+
99+
And then add register it as a tagged service:
100+
101+
..configuration-block::
102+
103+
..code-block::yaml
104+
105+
services:
106+
acme.my_worker:
107+
class:MyWorker
108+
tags:
109+
-{ name: assetic.factory_worker }
110+
111+
..code-block::xml
112+
113+
<serviceid="acme.my_worker"class="MyWorker>
114+
<tag name="assetic.factory_worker" />
115+
</service>
116+
117+
.. code-block:: php
118+
119+
$container
120+
->register('acme.my_worker', 'MyWorker')
121+
->addTag('assetic.factory_worker')
122+
;
123+
124+
assetic.filter
125+
--------------
126+
127+
**Purpose**: Register a filter
128+
129+
AsseticBundle uses this filter to register common filters. You can also use this
130+
tag to register your own filters.
131+
132+
First, you need to create a filter::
133+
134+
use Assetic\Asset\AssetInterface;
135+
use Assetic\Filter\FilterInterface;
136+
137+
class MyFilter implements FilterInterface
138+
{
139+
public function filterLoad(AssetInterface $asset)
140+
{
141+
$asset->setContent('alert("yo");' . $asset->getContent());
142+
}
143+
144+
public function filterDump(AssetInterface $asset)
145+
{
146+
// ...
147+
}
148+
}
149+
150+
Second, define a service:
151+
152+
.. configuration-block::
153+
154+
.. code-block:: yaml
155+
156+
services:
157+
acme.my_filter:
158+
class: MyFilter
159+
tags:
160+
- { name: assetic.filter, alias: my_filter }
161+
162+
.. code-block:: xml
163+
164+
<service id="acme.my_filter" class="MyFilter">
165+
<tag name="assetic.filter" alias="my_filter" />
166+
</service>
167+
168+
.. code-block:: php
169+
170+
$container
171+
->register('acme.my_filter', 'MyFilter')
172+
->addTag('assetic.filter', array('alias' => 'my_filter'))
173+
;
174+
175+
Finally, apply the filter:
176+
177+
.. code-block:: jinja
178+
179+
{% javascripts
180+
'@AcmeBaseBundle/Resources/public/js/global.js'
181+
filter='my_filter'
182+
%}
183+
<script src="{{ asset_url }}"></script>
184+
{% endjavascripts %}
185+
186+
You can also apply your filter via ``assetic.filters.my_filter.apply_to`` config
187+
option as it's described here: :doc:`/cookbook/assetic/apply_to_option`. In
188+
order to do that, you must define your filter service in separate xml config
189+
file and put this file's path to ``assetic.filters.my_filter.resource``.
190+
191+
assetic.formula_loader
192+
----------------------
193+
194+
**Purpose**: Add a formula loader to the current asset manager
195+
196+
Formula loader is a class implementing
197+
``Assetic\\Factory\Loader\\FormulaLoaderInterface`` interface. This class
198+
is responsible in loading assets from a particular kind of resources (for
199+
instance, twig template). Assetic ships loaders for php and twig templates.
200+
201+
An ``alias`` attribute defines a name of the loader.
202+
203+
assetic.formula_resource
204+
------------------------
205+
206+
**Purpose**: Adds a resource to the current asset manager
207+
208+
A resource is something formulae can be loaded from. For instance, twig
209+
templates are resources.
210+
211+
assetic.templating.php
212+
----------------------
213+
214+
**Purpose**: Remove this service if php templating is disabled
215+
216+
The tagged service will be removed from the container if
217+
``framework.templating.engines`` config section does not contain php.
218+
219+
assetic.templating.twig
220+
----------------------
221+
222+
**Purpose**: Remove this service if twig templating is disabled
223+
224+
The tagged service will be removed from the container if
225+
``framework.templating.engines`` config section does not contain twig.
226+
56227
data_collector
57228
--------------
58229

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp