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: 5bbc01bcfabbdeeeb79aeffc448be06e
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.*)' 'pear(Services/JSON.php)'
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', you can
43 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 broken every
46 time you edit with Dreamweaver(tm) or Mozilla editor
47 - Uses namespaced attributes to add looping/conditionals
49 - runtime is at least 4 time smaller than most other template engines
51 - uses compiled templates, as a result it is many times faster on
52 blocks and loops than than Regex templates (eg. IT/phplib)
53 - Safer (for cross-site scripting attacks)
54 - All variables default to be output as HTML escaped (overridden with
56 - Multilanguage support
57 - Parses strings out of template, so you can build translation tools
58 - Compiles language specific templates (so translation is only done
59 once, not on every request)
60 - Full dynamic element support (like ASP.NET), so you can pick
61 elements to replace at runtime
63 The long term plan for Flexy is to be integrated as a backend for the
64 Future Template Package (A BC wrapper will be made available - as the
65 author needs to use it too).
67 In PEAR status of this package is: %{_status}.
69 %description -l pl.UTF-8
70 HTML_Template_Flexy początkowo był uproszczeniem HTML_Template_Xipe,
71 jednak od wersji 0.2 stał się jednym z pierwszych silników szablonów
72 używających prawdziwego analizatora leksykalnego zamiast wyrażeń
73 regularnych, co umożliwia robienie rzeczy w stylu ASP.net czy
74 znaczników Cold Fusion. Jednak nadal ma bardzo prosty zbiór
75 zastosowań. Cechy silnika:
76 - bardzo proste API - łatwe do nauczenia, zapobiega umieszczaniu zbyt
77 dużej ilości logiki w szablonach
78 - łatwe pisanie dokumentowalnego kodu - poprzez użycie zmiennych
79 obiektowych dla szablonu zamiast przypisywania można używać komentarzy
80 phpDoc do wypisywania używanych zmiennych
81 - edytowalny w edytorach WYSIWYG - można tworzyć w pełni funkcjonalne
82 szablony, które nie psują się po każdym użyciu Dreamweavera(tm) czy
83 edytora Mozilli; przy dodawaniu pętli i warunków używane są atrybuty z
85 - ekstremalnie szybki - kod uruchomieniowy jest przynajmniej 4 razy
86 mniejszy niż większość innych silników szablonów (np. Smarty); używa
87 skompilowanych szablonów, dzięki czemu jest wiele razy szybszy na
88 blokach i pętlach niż szablony oparte na wyrażeniach regularnych (np.
90 - bezpieczniejszy (pod kątem ataków cross-site scripting) - wszystkie
91 zmienne domyślnie są wypisywane z użyciem sekwencji kontrolnych HTML
92 (można to zmienić modyfikatorem :h)
93 - wspiera wielojęzyczność - przetwarza łańcuchy z szablonu, co pozwala
94 na zbudowanie narzędzi do tłumaczenia; kompiluje specyficzne dla
95 języka szablony, dzięki czemu tłumaczenie jest robione tylko raz, a
96 nie przy każdym żądaniu
97 - w pełni obsługuje dynamiczne elementy (jak ASP.NET), dzięki czemu
98 można pobierać elementy do zastąpienia w czasie działania.
100 Długoterminowym planem rozwoju Flexy jest zintegrowanie jako backend
101 dla Future Template Package (dostępny będzie wrapper BC, jako że autor
102 też musi tego używać).
104 Ta klasa ma w PEAR status: %{_status}.
107 Summary: Tests for PEAR::%{_pearname}
108 Summary(pl.UTF-8): Testy dla PEAR::%{_pearname}
109 Group: Development/Languages/PHP
110 Requires: %{name} = %{epoch}:%{version}-%{release}
115 Tests for PEAR::%{_pearname}.
117 %description tests -l pl.UTF-8
118 Testy dla PEAR::%{_pearname}.
122 cd ./%{php_pear_dir}/%{_class}/%{_subclass}
128 mv .%{php_pear_dir}/data/HTML_Template_Flexy/TODO .
129 mv .%{php_pear_dir}/data/HTML_Template_Flexy/ChangeLog .
132 rm -rf $RPM_BUILD_ROOT
133 install -d $RPM_BUILD_ROOT%{php_pear_dir}
134 %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
149 %{php_pear_dir}/.registry/*.reg
150 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy
151 %{php_pear_dir}/%{_class}/%{_subclass}/Flexy.php
153 %{php_pear_dir}/data/%{_pearname}
156 %defattr(644,root,root,755)
157 %{php_pear_dir}/tests/*