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.UTF-8): %{_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: 12ee960a189cd0de2f7af3d9a4eb6af4
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}.
72 %description -l pl.UTF-8
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.UTF-8): 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.UTF-8
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/*