1 %include /usr/lib/rpm/macros.php
3 %define _subclass Template
5 %define _pearname %{_class}_%{_subclass}_Flexy
7 Summary: %{_pearname} - a flexible caching template engine based on SimpleTemplate
8 Summary(pl): %{_pearname} - elastyczny buforuj±cy silnik szablonów oparty na SimpleTemplate
9 Name: php-pear-%{_pearname}
14 Group: Development/Languages/PHP
15 Source0: http://pear.php.net/get/%{_pearname}-%{version}.tgz
16 # Source0-md5: 093e8a45095db78a9fc36f4ff1ed64d7
17 Patch0: %{name}-case_fix.patch
18 Patch1: %{name}-path_fix.patch
19 Patch2: %{name}-no_gtk.patch
20 URL: http://pear.php.net/package/HTML_Template_Flexy/
21 BuildRequires: php-pear-PEAR
22 BuildRequires: rpm-php-pearprov >= 4.4.2-11
23 BuildRequires: rpmbuild(macros) >= 1.300
24 Requires: php-common >= 3:4.3
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29 # exclude optional dependencies
30 %define _noautoreq 'pear(HTML/Javascript.*)' 'pear(File/Gettext.*)' 'pear(Translation2.*)'
33 HTML_Template_Flexy started its life as a simplification of
34 HTML_Template_Xipe, however in version 0.2, it became one of the first
35 template engine to use a real Lexer, rather than regexes, making it
36 possible to do things like ASP.net or Cold Fusion tags. However, it
37 still has a very simple set of goals.
40 - prevents to much logic going in templates
41 - Easy to write documentable code
42 - By using object vars for a template rather than 'assign',
43 you can use PHPDoc comments to list what variable you use.
44 - Editable in WYSIWYG editors
45 - you can create full featured templates, that don't get
46 broken every time you edit with Dreamweaver(tm) or Mozilla
48 - Uses namespaced attributes to add looping/conditionals
50 - runtime is at least 4 time smaller than most other template
52 - uses compiled templates, as a result it is many times faster
53 on blocks and loops than than Regex templates (eg.
55 - Safer (for cross-site scripting attacks)
56 - All variables default to be output as HTML escaped
57 (overridden with the :h modifier)
58 - Multilanguage support
59 - Parses strings out of template, so you can build translation
61 - Compiles language specific templates (so translation is only
62 done once, not on every request)
63 - Full dynamic element support (like ASP.NET), so you can pick
64 elements to replace at runtime
66 The long term plan for Flexy is to be integrated as a backend for the
67 Future Template Package (A BC wrapper will be made available - as the
68 author needs to use it too).
70 In PEAR status of this package is: %{_status}.
73 HTML_Template_Flexy pocz±tkowo by³ uproszczeniem HTML_Template_Xipe,
74 jednak od wersji 0.2 sta³ siê jednym z pierwszych silników szablonów
75 u¿ywaj±cych prawdziwego analizatora leksykalnego zamiast wyra¿eñ
76 regularnych, co umo¿liwia robienie rzeczy w stylu ASP.net czy
77 znaczników Cold Fusion. Jednak nadal ma bardzo prosty zbiór
78 zastosowañ. Cechy silnika:
79 - bardzo proste API - ³atwe do nauczenia, zapobiega umieszczaniu zbyt
80 du¿ej ilo¶ci logiki w szablonach
81 - ³atwe pisanie dokumentowalnego kodu - poprzez u¿ycie zmiennych
82 obiektowych dla szablonu zamiast przypisywania mo¿na u¿ywaæ
83 komentarzy phpDoc do wypisywania u¿ywanych zmiennych
84 - edytowalny w edytorach WYSIWYG - mo¿na tworzyæ w pe³ni funkcjonalne
85 szablony, które nie psuj± siê po ka¿dym u¿yciu Dreamweavera(tm) czy
86 edytora Mozilli; przy dodawaniu pêtli i warunków u¿ywane s± atrybuty
88 - ekstremalnie szybki - kod uruchomieniowy jest przynajmniej 4 razy
89 mniejszy ni¿ wiêkszo¶æ innych silników szablonów (np. Smarty); u¿ywa
90 skompilowanych szablonów, dziêki czemu jest wiele razy szybszy na
91 blokach i pêtlach ni¿ szablony oparte na wyra¿eniach regularnych
93 - bezpieczniejszy (pod k±tem ataków cross-site scripting) - wszystkie
94 zmienne domy¶lnie s± wypisywane z u¿yciem sekwencji kontrolnych HTML
95 (mo¿na to zmieniæ modyfikatorem :h)
96 - wspiera wielojêzyczno¶æ - przetwarza ³añcuchy z szablonu, co pozwala
97 na zbudowanie narzêdzi do t³umaczenia; kompiluje specyficzne dla
98 jêzyka szablony, dziêki czemu t³umaczenie jest robione tylko raz, a
99 nie przy ka¿dym ¿±daniu
100 - w pe³ni obs³uguje dynamiczne elementy (jak ASP.NET), dziêki czemu
101 mo¿na pobieraæ elementy do zast±pienia w czasie dzia³ania.
103 D³ugoterminowym planem rozwoju Flexy jest zintegrowanie jako backend
104 dla Future Template Package (dostêpny bêdzie wrapper BC, jako ¿e autor
105 te¿ musi tego u¿ywaæ).
107 Ta klasa ma w PEAR status: %{_status}.
110 Summary: Tests for PEAR::%{_pearname}
111 Summary(pl): Testy dla PEAR::%{_pearname}
112 Group: Development/Languages/PHP
113 Requires: %{name} = %{epoch}:%{version}-%{release}
118 Tests for PEAR::%{_pearname}.
120 %description tests -l pl
121 Testy dla PEAR::%{_pearname}.
125 install -d docs/%{_pearname}
126 mv ./%{php_pear_dir}/%{_class}/%{_subclass}/Flexy/example.ini docs/%{_pearname}
127 cd ./%{php_pear_dir}/%{_class}/%{_subclass}
133 rm -rf $RPM_BUILD_ROOT
134 install -d $RPM_BUILD_ROOT%{php_pear_dir}
135 %pear_package_install
138 rm -rf $RPM_BUILD_ROOT
141 if [ -f %{_docdir}/%{name}-%{version}/optional-packages.txt ]; then
142 cat %{_docdir}/%{name}-%{version}/optional-packages.txt
146 %defattr(644,root,root,755)
147 %doc install.log optional-packages.txt
148 %doc docs/%{_pearname}/example.ini
149 %{php_pear_dir}/.registry/*.reg
150 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy
151 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy.php
154 %defattr(644,root,root,755)
155 %{php_pear_dir}/tests/*