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