@@ -70,10 +70,10 @@ Configuration
70
70
* `gc_maxlifetime `_
71
71
* `save_path `_
72
72
* `assets `_
73
- * `version `_
74
- * `version_format `_
75
73
* `base_urls `_
76
74
* `packages `_
75
+ * `version `_
76
+ * `version_format `_
77
77
* `templating `_
78
78
* `hinclude_default_template `_
79
79
* :ref: `form <reference-templating-form >`
@@ -852,124 +852,6 @@ setting the value to ``null``:
852
852
assets
853
853
~~~~~~
854
854
855
- .. _reference-framework-assets-version :
856
- .. _ref-framework-assets-version :
857
-
858
- version
859
- .......
860
-
861
- **type **: ``string ``
862
-
863
- This option is used to *bust * the cache on assets by globally adding a query
864
- parameter to all rendered asset paths (e.g. ``/images/logo.png?v2 ``). This
865
- applies only to assets rendered via the Twig ``asset `` function (or PHP
866
- equivalent) as well as assets rendered with Assetic.
867
-
868
- For example, suppose you have the following:
869
-
870
- .. configuration-block ::
871
-
872
- .. code-block :: html+twig
873
-
874
- <img src="{{ asset('images/logo.png') }}" alt="Symfony!" />
875
-
876
- .. code-block :: php
877
-
878
- <img src =" <?php echo $view['assets']->getUrl('images/logo.png') ?>" alt =" Symfony!" />
879
-
880
- By default, this will render a path to your image such as ``/images/logo.png ``.
881
- Now, activate the ``version `` option:
882
-
883
- .. configuration-block ::
884
-
885
- .. code-block :: yaml
886
-
887
- # app/config/config.yml
888
- framework :
889
- # ...
890
- assets :
891
- version : ' v2'
892
-
893
- .. code-block :: xml
894
-
895
- <!-- app/config/config.xml -->
896
- <?xml version =" 1.0" encoding =" UTF-8" ?>
897
- <container xmlns =" http://symfony.com/schema/dic/services"
898
- xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
899
- xmlns : framework =" http://symfony.com/schema/dic/symfony"
900
- xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
901
- http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd" >
902
-
903
- <framework : assets version =" v2" >
904
- </container >
905
-
906
- .. code-block :: php
907
-
908
- // app/config/config.php
909
- $container->loadFromExtension('framework', array(
910
- // ...
911
- 'assets' => array(
912
- 'version' => 'v2',
913
- ),
914
- ));
915
-
916
- Now, the same asset will be rendered as ``/images/logo.png?v2 `` If you use
917
- this feature, you **must ** manually increment the ``version `` value
918
- before each deployment so that the query parameters change.
919
-
920
- It's also possible to set the version value on an asset-by-asset basis (instead
921
- of using the global version - e.g. ``v2 `` - set here). See
922
- :ref: `Versioning by Asset <book-templating-version-by-asset >` for details.
923
-
924
- You can also control how the query string works via the `version_format `_
925
- option.
926
-
927
- .. tip ::
928
-
929
- As with all settings, you can use a parameter as value for the
930
- ``version ``. This makes it easier to increment the cache on each
931
- deployment.
932
-
933
- .. _reference-templating-version-format :
934
- .. _reference-assets-version-format :
935
-
936
- version_format
937
- ..............
938
-
939
- **type **: ``string `` **default **: ``%%s?%%s ``
940
-
941
- This specifies a :phpfunction: `sprintf ` pattern that will be used with the
942
- `version `_ option to construct an asset's path. By default, the pattern
943
- adds the asset's version as a query string. For example, if
944
- ``version_format `` is set to ``%%s?version=%%s `` and ``version ``
945
- is set to ``5 ``, the asset's path would be ``/images/logo.png?version=5 ``.
946
-
947
- .. note ::
948
-
949
- All percentage signs (``% ``) in the format string must be doubled to
950
- escape the character. Without escaping, values might inadvertently be
951
- interpreted as :ref: `book-service-container-parameters `.
952
-
953
- .. tip ::
954
-
955
- Some CDN's do not support cache-busting via query strings, so injecting
956
- the version into the actual file path is necessary. Thankfully,
957
- ``version_format `` is not limited to producing versioned query
958
- strings.
959
-
960
- The pattern receives the asset's original path and version as its first
961
- and second parameters, respectively. Since the asset's path is one
962
- parameter, you cannot modify it in-place (e.g. ``/images/logo-v5.png ``);
963
- however, you can prefix the asset's path using a pattern of
964
- ``version-%%2$s/%%1$s ``, which would result in the path
965
- ``version-5/images/logo.png ``.
966
-
967
- URL rewrite rules could then be used to disregard the version prefix
968
- before serving the asset. Alternatively, you could copy assets to the
969
- appropriate version path as part of your deployment process and forgot
970
- any URL rewriting. The latter option is useful if you would like older
971
- asset versions to remain accessible at their original URL.
972
-
973
855
.. _reference-templating-base-urls :
974
856
.. _reference-assets-base-urls :
975
857
@@ -1089,6 +971,124 @@ Each package can configure the following options:
1089
971
* :ref: `version <reference-framework-assets-version >`
1090
972
* :ref: `version_format <reference-assets-version-format >`
1091
973
974
+ .. _reference-framework-assets-version :
975
+ .. _ref-framework-assets-version :
976
+
977
+ version
978
+ .......
979
+
980
+ **type **: ``string ``
981
+
982
+ This option is used to *bust * the cache on assets by globally adding a query
983
+ parameter to all rendered asset paths (e.g. ``/images/logo.png?v2 ``). This
984
+ applies only to assets rendered via the Twig ``asset `` function (or PHP
985
+ equivalent) as well as assets rendered with Assetic.
986
+
987
+ For example, suppose you have the following:
988
+
989
+ .. configuration-block ::
990
+
991
+ .. code-block :: html+twig
992
+
993
+ <img src="{{ asset('images/logo.png') }}" alt="Symfony!" />
994
+
995
+ .. code-block :: php
996
+
997
+ <img src =" <?php echo $view['assets']->getUrl('images/logo.png') ?>" alt =" Symfony!" />
998
+
999
+ By default, this will render a path to your image such as ``/images/logo.png ``.
1000
+ Now, activate the ``version `` option:
1001
+
1002
+ .. configuration-block ::
1003
+
1004
+ .. code-block :: yaml
1005
+
1006
+ # app/config/config.yml
1007
+ framework :
1008
+ # ...
1009
+ assets :
1010
+ version : ' v2'
1011
+
1012
+ .. code-block :: xml
1013
+
1014
+ <!-- app/config/config.xml -->
1015
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
1016
+ <container xmlns =" http://symfony.com/schema/dic/services"
1017
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
1018
+ xmlns : framework =" http://symfony.com/schema/dic/symfony"
1019
+ xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
1020
+ http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd" >
1021
+
1022
+ <framework : assets version =" v2" >
1023
+ </container >
1024
+
1025
+ .. code-block :: php
1026
+
1027
+ // app/config/config.php
1028
+ $container->loadFromExtension('framework', array(
1029
+ // ...
1030
+ 'assets' => array(
1031
+ 'version' => 'v2',
1032
+ ),
1033
+ ));
1034
+
1035
+ Now, the same asset will be rendered as ``/images/logo.png?v2 `` If you use
1036
+ this feature, you **must ** manually increment the ``version `` value
1037
+ before each deployment so that the query parameters change.
1038
+
1039
+ It's also possible to set the version value on an asset-by-asset basis (instead
1040
+ of using the global version - e.g. ``v2 `` - set here). See
1041
+ :ref: `Versioning by Asset <book-templating-version-by-asset >` for details.
1042
+
1043
+ You can also control how the query string works via the `version_format `_
1044
+ option.
1045
+
1046
+ .. tip ::
1047
+
1048
+ As with all settings, you can use a parameter as value for the
1049
+ ``version ``. This makes it easier to increment the cache on each
1050
+ deployment.
1051
+
1052
+ .. _reference-templating-version-format :
1053
+ .. _reference-assets-version-format :
1054
+
1055
+ version_format
1056
+ ..............
1057
+
1058
+ **type **: ``string `` **default **: ``%%s?%%s ``
1059
+
1060
+ This specifies a :phpfunction: `sprintf ` pattern that will be used with the
1061
+ `version `_ option to construct an asset's path. By default, the pattern
1062
+ adds the asset's version as a query string. For example, if
1063
+ ``version_format `` is set to ``%%s?version=%%s `` and ``version ``
1064
+ is set to ``5 ``, the asset's path would be ``/images/logo.png?version=5 ``.
1065
+
1066
+ .. note ::
1067
+
1068
+ All percentage signs (``% ``) in the format string must be doubled to
1069
+ escape the character. Without escaping, values might inadvertently be
1070
+ interpreted as :ref: `book-service-container-parameters `.
1071
+
1072
+ .. tip ::
1073
+
1074
+ Some CDN's do not support cache-busting via query strings, so injecting
1075
+ the version into the actual file path is necessary. Thankfully,
1076
+ ``version_format `` is not limited to producing versioned query
1077
+ strings.
1078
+
1079
+ The pattern receives the asset's original path and version as its first
1080
+ and second parameters, respectively. Since the asset's path is one
1081
+ parameter, you cannot modify it in-place (e.g. ``/images/logo-v5.png ``);
1082
+ however, you can prefix the asset's path using a pattern of
1083
+ ``version-%%2$s/%%1$s ``, which would result in the path
1084
+ ``version-5/images/logo.png ``.
1085
+
1086
+ URL rewrite rules could then be used to disregard the version prefix
1087
+ before serving the asset. Alternatively, you could copy assets to the
1088
+ appropriate version path as part of your deployment process and forgot
1089
+ any URL rewriting. The latter option is useful if you would like older
1090
+ asset versions to remain accessible at their original URL.
1091
+
1092
1092
templating
1093
1093
~~~~~~~~~~
1094
1094
0 commit comments