3 %bcond_with tests # build with tests
5 Summary: Zend Framework 2
6 Name: php-ZendFramework
10 Group: Development/Libraries
11 Source0: https://packages.zendframework.com/releases/ZendFramework-%{version}/ZendFramework-%{version}.tgz
12 # Source0-md5: 145d2e23b9f745a1e11adbecc98761e9
13 # git clone https://github.com/zendframework/zf2.git
14 # cd zf2; git checkout release-2.3.9
15 # tar czf ../ZendFramework-tests-2.3.9.tgz tests
16 #Source1: ZendFramework-tests-%{version}.tgz
18 URL: http://framework.zend.com/
19 Requires: php(core) >= 5.3.23
21 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24 Zend Framework 2 is an open source framework for developing web
25 applications and services using PHP 5.3+. Zend Framework 2 uses 100%
26 object-oriented code and utilizes most of the new features of PHP 5.3,
27 namely namespaces, late static binding, lambda functions and closures.
29 Zend Framework 2 evolved from Zend Framework 1, a successful PHP
30 framework with over 15 million downloads.
32 %package Authentication
33 Summary: Zend Framework 2: Authentication Component
34 URL: http://framework.zend.com/manual/2.4/en/modules/zend.authentication.intro.html
35 Requires: %{name} = %{version}-%{release}
37 %description Authentication
38 The Zend\Authentication component provides an API for authentication
39 and includes concrete authentication adapters for common use case
42 Zend\Authentication is concerned only with authentication and not with
43 authorization. Authentication is loosely defined as determining
44 whether an entity actually is what it purports to be (i.e.,
45 identification), based on some set of credentials. Authorization, the
46 process of deciding whether to allow an entity access to, or to
47 perform operations upon, other entities is outside the scope of
48 Zend\Authentication. For more information about authorization and
49 access control with Zend Framework, please see the
50 Zend\Permissions\Acl or Zend\Permissions\Rbac component.
53 Summary: Zend Framework 2: Barcode Component
54 URL: http://framework.zend.com/manual/2.4/en/modules/zend.barcode.intro.html
55 Requires: %{name} = %{version}-%{release}
58 Zend\Barcode\Barcode provides a generic way to generate barcodes. The
59 Zend\Barcode component is divided into two subcomponents: barcode
60 objects and renderers. Objects allow you to create barcodes
61 independently of the renderer. Renderer allow you to draw barcodes
62 based on the support required.
65 Summary: Zend Framework 2: Cache Component
66 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-cache
67 Requires: %{name} = %{version}-%{release}
75 - Memcache (php-pecl-memcache)
76 - Memcached (php-pecl-memcached)
77 - Mongo (php-pecl-mongo)
78 - Redis (php-pecl-redis)
82 Summary: Zend Framework 2: CAPTCHA Component
83 URL: http://framework.zend.com/manual/2.4/en/modules/zend.captcha.intro.html
84 Requires: %{name} = %{version}-%{release}
87 CAPTCHA stands for "Completely Automated Public Turing test to tell
88 Computers and Humans Apart'; it is used as a challenge-response to
89 ensure that the individual submitting information is a human and not
90 an automated process. Typically, a CAPTCHA is used with form
91 submissions where authenticated users are not necessary, but you want
92 to prevent spam submissions.
94 CAPTCHAs can take a variety of forms, including asking logic
95 questions, presenting skewed fonts, and presenting multiple images and
96 asking how they relate. The Zend\Captcha component aims to provide a
97 variety of back ends that may be utilized either standalone or in
98 conjunction with the Zend\Form component.
101 Summary: Zend Framework 2: Code Component
102 URL: http://framework.zend.com/manual/2.4/en/index.html
103 Requires: %{name} = %{version}-%{release}
106 Provides facilities to generate arbitrary code using an object
110 Summary: Zend Framework 2: Config Component
111 URL: http://framework.zend.com/manual/2.4/en/modules/zend.config.introduction.html
112 Requires: %{name} = %{version}-%{release}
115 Zend\Config is designed to simplify access to configuration data
116 within applications. It provides a nested object property-based user
117 interface for accessing this configuration data within application
118 code. The configuration data may come from a variety of media
119 supporting hierarchical data storage. Currently, Zend\Config provides
120 adapters that read and write configuration data stored in .ini, JSON,
124 Summary: Zend Framework 2: Console Component
125 URL: http://framework.zend.com/manual/2.4/en/modules/zend.console.introduction.html
126 Requires: %{name} = %{version}-%{release}
129 Zend Framework 2 features built-in console support.
131 When a Zend\Application is run from a console window (a shell window),
132 it will recognize this fact and prepare Zend\Mvc components to handle
133 the request. Console support is enabled by default, but to function
134 properly it requires at least one console route and one action
135 controller to handle the request.
137 - Console routing allows you to invoke controllers and action
138 depending on command line parameters provided by the user.
139 - Module Manager integration allows ZF2 applications and modules to
140 display help and usage information, in case the command line has not
141 been understood (no route matched).
142 - Console-aware action controllers will receive a console request
143 containing all named parameters and flags. They are able to send
144 output back to the console window.
145 - Console adapters provide a level of abstraction for interacting with
146 console on different operating systems.
147 - Console prompts can be used to interact with the user by asking him
148 questions and retrieving input.
151 Summary: Zend Framework 2: Crypt Component
152 URL: http://framework.zend.com/manual/2.4/en/modules/zend.crypt.introduction.html
153 Requires: %{name} = %{version}-%{release}
156 Zend\Crypt provides support of some cryptographic tools. The available
159 - encrypt-then-authenticate using symmetric ciphers (the
160 authentication step is provided using HMAC)
161 - encrypt/decrypt using symmetric and public key algorithm (e.g. RSA
163 - generate digital sign using public key algorithm (e.g. RSA
165 - key exchange using the Diffie-Hellman method
166 - Key derivation function (e.g. using PBKDF2 algorithm)
167 - Secure password hash (e.g. using Bcrypt algorithm)
168 - generate Hash values
169 - generate HMAC values
171 The main scope of this component is to offer an easy and secure way to
172 protect and authenticate sensitive data in PHP. Because the use of
173 cryptography is not so easy we recommend to use the Zend\Crypt
174 component only if you have a minimum background on this topic.
177 Summary: Zend Framework 2: DB Component
178 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-db
179 Requires: %{name} = %{version}-%{release}
185 - ibm_db2 (http://pecl.php.net/package/ibm_db2)
187 - oci8 (http://pecl.php.net/package/oci8)
189 - sqlsrv (http://pecl.php.net/package/sqlsrv)
192 Summary: Zend Framework 2: Debug Component
193 URL: http://framework.zend.com/manual/2.4/en/index.html
194 Requires: %{name} = %{version}-%{release}
199 Optional: XDebug (php-pecl-xdebug)
202 Summary: Zend Framework 2: DI Component
203 URL: http://framework.zend.com/manual/2.4/en/modules/zend.di.introduction.html
204 Requires: %{name} = %{version}-%{release}
207 Dependency Injection (here-in called DI) is a concept that has been
208 talked about in numerous places over the web. Simply put, we'll
209 explain the act of injecting dependencies simply with this below code:
211 $b = new MovieLister(new MovieFinder());
213 Above, MovieFinder is a dependency of MovieLister, and MovieFinder was
214 injected into MovieLister.
217 Summary: Zend Framework 2: DOM Component
218 URL: http://framework.zend.com/manual/2.4/en/modules/zend.dom.intro.html
219 Requires: %{name} = %{version}-%{release}
222 The Zend\Dom component provides tools for working with DOM documents
223 and structures. Currently, we offer Zend\Dom\Query, which provides a
224 unified interface for querying DOM documents utilizing both XPath and
228 Summary: Zend Framework 2: Escaper Component
229 URL: http://framework.zend.com/manual/2.4/en/modules/zend.escaper.introduction.html
230 Requires: %{name} = %{version}-%{release}
233 The OWASP Top 10 web security risks study lists Cross-Site Scripting
234 (XSS) in second place. PHP's sole functionality against XSS is limited
235 to two functions of which one is commonly misapplied. Thus, the
236 Zend\Escaper component was written. It offers developers a way to
237 escape output and defend from XSS and related vulnerabilities by
238 introducing contextual escaping based on peer-reviewed rules.
240 %package EventManager
241 Summary: Zend Framework 2: EventManager Component
242 URL: http://framework.zend.com/manual/2.4/en/modules/zend.event-manager.event-manager.html
243 Requires: %{name} = %{version}-%{release}
245 %description EventManager
246 The EventManager is a component designed for the following use cases:
248 - Implementing simple subject/observer patterns.
249 - Implementing Aspect-Oriented designs.
250 - Implementing event-driven architectures.
252 The basic architecture allows you to attach and detach listeners to
253 named events, both on a per-instance basis as well as via shared
254 collections; trigger events; and interrupt execution of listeners.
257 Summary: Zend Framework 2: Feed Component
258 URL: http://framework.zend.com/manual/2.4/en/modules/zend.feed.introduction.html
259 Requires: %{name} = %{version}-%{release}
262 Zend\Feed provides functionality for consuming RSS and Atom feeds. It
263 provides a natural syntax for accessing elements of feeds, feed
264 attributes, and entry attributes. Zend\Feed also has extensive support
265 for modifying feed and entry structure with the same natural syntax,
266 and turning the result back into XML. In the future, this modification
267 support could provide support for the Atom Publishing Protocol.
269 Zend\Feed consists of Zend\Feed\Reader for reading RSS and Atom feeds,
270 Zend\Feed\Writer for writing RSS and Atom feeds, and
271 Zend\Feed\PubSubHubbub for working with Hub servers. Furthermore, both
272 Zend\Feed\Reader and Zend\Feed\Writer support extensions which allows
273 for working with additional data in feeds, not covered in the core API
274 but used in conjunction with RSS and Atom feeds.
277 Summary: Zend Framework 2: File Component
278 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-file
279 Requires: %{name} = %{version}-%{release}
285 Summary: Zend Framework 2: Filter Component
286 URL: http://framework.zend.com/manual/2.4/en/modules/zend.filter.html
287 Requires: %{name} = %{version}-%{release}
290 The Zend\Filter component provides a set of commonly needed data
291 filters. It also provides a simple filter chaining mechanism by which
292 multiple filters may be applied to a single datum in a user-defined
296 Summary: Zend Framework 2: Form Component
297 URL: http://framework.zend.com/manual/2.4/en/modules/zend.form.intro.html
298 Requires: %{name} = %{version}-%{release}
301 Zend\Form is intended primarily as a bridge between your domain models
302 and the View Layer. It composes a thin layer of objects representing
303 form elements, an InputFilter, and a small number of methods for
304 binding data to and from the form and attached objects.
306 The Zend\Form component consists of the following objects:
308 - Elements, which simply consist of a name and attributes.
309 - Fieldsets, which extend from Elements, but allow composing other
310 fieldsets and elements.
311 - Forms, which extend from Fieldsets (and thus Elements). They provide
312 data and object binding, and compose InputFilters. Data binding is
313 done via ZendStdlibHydrator.
316 Summary: Zend Framework 2: HTTP Component
317 URL: http://framework.zend.com/manual/2.4/en/modules/zend.http.html
318 Requires: %{name} = %{version}-%{release}
321 Zend\Http is a primary foundational component of Zend Framework. Since
322 much of what PHP does is web-based, specifically HTTP, it makes sense
323 to have a performant, extensible, concise and consistent API to do all
324 things HTTP. In nutshell, there are several parts of Zend\Http:
326 - Context-less Request and Response classes that expose a fluent API
327 for introspecting several aspects of HTTP messages:
328 - ** Request line information and response status information
329 - ** Parameters, such as those found in POST and GET
332 - A Client implementation with various adapters that allow for sending
333 requests and introspecting responses.
336 Summary: Zend Framework 2: i18n Component
337 URL: http://framework.zend.com/manual/2.4/en/modules/zend.i18n.translating.html
338 Requires: %{name} = %{version}-%{release}
341 ZendI18n comes with a complete translation suite which supports all
342 major formats and includes popular features like plural translations
343 and text domains. The Translator component is mostly dependency free,
344 except for the fallback to a default locale, where it relies on the
347 The translator itself is initialized without any parameters, as any
348 configuration to it is optional. A translator without any translations
349 will actually do nothing but just return the given message IDs.
352 Summary: Zend Framework 2: InputFilter Component
353 URL: http://framework.zend.com/manual/2.4/en/modules/zend.input-filter.intro.html
354 Requires: %{name} = %{version}-%{release}
356 %description InputFilter
357 The Zend\InputFilter component can be used to filter and validate
358 generic sets of input data. For instance, you could use it to filter
359 $_GET or $_POST values, CLI arguments, etc.
362 Summary: Zend Framework 2: JSON Component
363 URL: http://framework.zend.com/manual/2.4/en/modules/zend.json.introduction.html
364 Requires: %{name} = %{version}-%{release}
367 Zend\Json provides convenience methods for serializing native PHP to
368 JSON and decoding JSON to native PHP.
370 JSON, JavaScript Object Notation, can be used for data interchange
371 between JavaScript and other languages. Since JSON can be directly
372 evaluated by JavaScript, it is a more efficient and lightweight format
373 than XML for exchanging data with JavaScript clients.
375 In addition, Zend\Json provides a useful way to convert any arbitrary
376 XML formatted string into a JSON formatted string. This built-in
377 feature will enable PHP developers to transform the enterprise data
378 encoded in XML format into JSON format before sending it to
379 browser-based Ajax client applications. It provides an easy way to do
380 dynamic data conversion on the server-side code thereby avoiding
381 unnecessary XML parsing in the browser-side applications. It offers a
382 nice utility function that results in easier application-specific data
383 processing techniques.
386 Summary: Zend Framework 2: LDAP Component
387 URL: http://framework.zend.com/manual/2.4/en/modules/zend.ldap.introduction.html
388 Requires: %{name} = %{version}-%{release}
391 Zend\Ldap\Ldap is a class for performing LDAP operations including but
392 not limited to binding, searching and modifying entries in an LDAP
396 Summary: Zend Framework 2: Loader Component
397 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-loader
398 Requires: %{name} = %{version}-%{release}
404 Summary: Zend Framework 2: Log Component
405 URL: http://framework.zend.com/manual/2.4/en/modules/zend.log.overview.html
406 Requires: %{name} = %{version}-%{release}
409 Zend\Log\Logger is a component for general purpose logging. It
410 supports multiple log backends, formatting messages sent to the log,
411 and filtering messages from being logged. These functions are divided
412 into the following objects:
414 - A Logger (instance of Zend\Log\Logger) is the object that your
415 application uses the most. You can have as many Logger objects as you
416 like; they do not interact. A Logger object must contain at least one
417 Writer, and can optionally contain one or more Filters.
418 - A Writer (inherits from Zend\Log\Writer\AbstractWriter) is
419 responsible for saving data to storage.
420 - A Filter (implements Zend\Log\Filter\FilterInterface) blocks log
421 data from being saved. A filter is applied to an individual writer.
422 Filters can be chained.
423 - A Formatter (implements Zend\Log\Formatter\FormatterInterface) can
424 format the log data before it is written by a Writer. Each Writer has
425 exactly one Formatter.
427 Optional: MongoDB (php-pecl-mongo)
430 Summary: Zend Framework 2: Mail Component
431 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mail.introduction.html
432 Requires: %{name} = %{version}-%{release}
435 Zend\Mail provides generalized functionality to compose and send both
436 text and MIME-compliant multipart email messages. Mail can be sent
437 with Zend\Mail via the Mail\Transport\Sendmail, Mail\Transport\Smtp or
438 the Mail\Transport\File transport. Of course, you can also implement
439 your own transport by implementing the
440 Mail\Transport\TransportInterface.
443 Summary: Zend Framework 2: Math Component
444 URL: http://framework.zend.com/manual/2.4/en/modules/zend.math.introduction.html
445 Requires: %{name} = %{version}-%{release}
448 Zend\Math namespace provides general mathematical functions. So far
449 the supported functionalities are:
451 - Zend\Math\Rand: A random number generator
452 - Zend\Math\BigInteger: A library to manage big integers
457 Summary: Zend Framework 2: Memory Component
458 URL: http://framework.zend.com/manual/2.4/en/index.html
459 Requires: %{name} = %{version}-%{release}
465 Summary: Zend Framework 2: MIME Component
466 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mime.html
467 Requires: %{name} = %{version}-%{release}
470 Zend\Mime\Mime is a support class for handling multipart MIME
471 messages. It is used by Zend\Mail and Zend\Mime\Message and may be
472 used by applications requiring MIME support.
474 Optional: %{name}-Mail
476 %package ModuleManager
477 Summary: Zend Framework 2: ModuleManager Component
478 URL: http://framework.zend.com/manual/2.4/en/modules/zend.module-manager.intro.html
479 Requires: %{name} = %{version}-%{release}
481 %description ModuleManager
482 Zend Framework 2.0 introduces a new and powerful approach to modules.
483 This new module system is designed with flexibility, simplicity, and
484 re-usability in mind. A module may contain just about anything: PHP
485 code, including MVC functionality; library code; view scripts; and/or
486 public assets such as images, CSS, and JavaScript.
489 Summary: Zend Framework 2: MVC Component
490 URL: http://framework.zend.com/manual/2.4/en/modules/zend.mvc.intro.html
491 Requires: %{name} = %{version}-%{release}
494 Zend\Mvc is a brand new MVC implementation designed from the ground up
495 for Zend Framework 2, focusing on performance and flexibility.
497 The MVC layer is built on top of the following components:
499 - Zend\ServiceManager - Zend Framework provides a set of default
500 service definitions set up at Zend\Mvc\Service. The ServiceManager
501 creates and configures your application instance and workflow.
502 - Zend\EventManager - The MVC is event driven. This component is used
503 everywhere from initial bootstrapping of the application, through
504 returning response and request calls, to setting and retrieving routes
505 and matched routes, as well as render views.
506 - Zend\Http - specifically the request and response objects.
507 - Zend\Stdlib\DispatchableInterface. All "controllers' are simply
508 dispatchable objects.
511 Summary: Zend Framework 2: Navigation Component
512 URL: http://framework.zend.com/manual/2.4/en/modules/zend.navigation.intro.html
513 Requires: %{name} = %{version}-%{release}
515 %description Navigation
516 Zend\Navigation is a component for managing trees of pointers to web
517 pages. Simply put: It can be used for creating menus, breadcrumbs,
518 links, and sitemaps, or serve as a model for other navigation related
522 Summary: Zend Framework 2: Paginator Component
523 URL: http://framework.zend.com/manual/2.4/en/modules/zend.paginator.introduction.html
524 Requires: %{name} = %{version}-%{release}
526 %description Paginator
527 Zend\Paginator is a flexible component for paginating collections of
528 data and presenting that data to users.
530 The primary design goals of Zend\Paginator are as follows:
532 - Paginate arbitrary data, not just relational databases
533 - Fetch only the results that need to be displayed
534 - Do not force users to adhere to only one way of displaying data or
535 rendering pagination controls
536 - Loosely couple Zend\Paginator to other Zend Framework components so
537 that users who wish to use it independently of Zend\View, Zend\Db,
540 %package Permissions-Acl
541 Summary: Zend Framework 2: Permissions ACL Component
542 URL: http://framework.zend.com/manual/2.4/en/modules/zend.permissions.acl.intro.html
543 Requires: %{name} = %{version}-%{release}
545 %description Permissions-Acl
546 The Zend\Permissions\Acl component provides a lightweight and flexible
547 access control list (ACL) implementation for privileges management. In
548 general, an application may utilize such ACL's to control access to
549 certain protected objects by other requesting objects.
551 For the purposes of this documentation:
553 - a resource is an object to which access is controlled.
554 - a role is an object that may request access to a Resource.
556 Put simply, roles request access to resources. For example, if a
557 parking attendant requests access to a car, then the parking attendant
558 is the requesting role, and the car is the resource, since access to
559 the car may not be granted to everyone.
561 Through the specification and use of an ACL, an application may
562 control how roles are granted access to resources.
564 %package Permissions-Rbac
565 Summary: Zend Framework 2: Permissions RBAC Component
566 URL: http://framework.zend.com/manual/2.4/en/modules/zend.permissions.rbac.intro.html
567 Requires: %{name} = %{version}-%{release}
569 %description Permissions-Rbac
570 The Zend\Permissions\Rbac component provides a lightweight role-based
571 access control implementation based around PHP 5.3's SPL
572 RecursiveIterator and RecursiveIteratorIterator. RBAC differs from
573 access control lists (ACL) by putting the emphasis on roles and their
574 permissions rather than objects (resources).
577 Summary: Zend Framework 2: ProgressBar Component
578 URL: http://framework.zend.com/manual/2.4/en/modules/zend.progress-bar.html
579 Requires: %{name} = %{version}-%{release}
581 %description ProgressBar
582 Zend\ProgressBar is a component to create and update progress bars in
583 different environments. It consists of a single backend, which outputs
584 the progress through one of the multiple adapters. On every update, it
585 takes an absolute value and optionally a status message, and then
586 calls the adapter with some precalculated values like percentage and
590 Summary: Zend Framework 2: Serializer Component
591 URL: http://framework.zend.com/manual/2.4/en/modules/zend.serializer.html
592 Requires: %{name} = %{version}-%{release}
594 %description Serializer
595 The Zend\Serializer component provides an adapter based interface to
596 simply generate storable representation of PHP types by different
597 facilities, and recover.
599 Optional: msgpack (php-pecl-msgpack)
602 Summary: Zend Framework 2: Server Component
603 URL: http://framework.zend.com/manual/2.4/en/modules/zend.server.html
604 Requires: %{name} = %{version}-%{release}
607 The Zend\Server family of classes provides functionality for the
608 various server classes, including Zend\XmlRpc\Server and
609 Zend\Json\Server. Zend\Server\Server provides an interface that mimics
610 PHP 5's SoapServer class; all server classes should implement this
611 interface in order to provide a standard server API.
613 The Zend\Server\Reflection tree provides a standard mechanism for
614 performing function and class introspection for use as callbacks with
615 the server classes, and provides data suitable for use with
616 Zend\Server\Server's getFunctions() and loadFunctions() methods.
618 %package ServiceManager
619 Summary: Zend Framework 2: ServiceManager Component
620 URL: http://framework.zend.com/manual/2.4/en/modules/zend.service-manager.intro.html
621 Requires: %{name} = %{version}-%{release}
623 %description ServiceManager
624 The Service Locator design pattern is implemented by the
625 Zend\ServiceManager component. The Service Locator is a service/object
626 locator, tasked with retrieving other objects.
629 Summary: Zend Framework 2: Session Component
630 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-session
631 Requires: %{name} = %{version}-%{release}
634 Manage and preserve session data, a logical complement of cookie data,
635 across multiple page requests by the same client.
637 Optional: MongoDB (php-pecl-mongo)
640 Summary: Zend Framework 2: SOAP Component
641 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-soap
642 Requires: %{name} = %{version}-%{release}
648 Summary: Zend Framework 2: Stdlib Component
649 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-stdlib
650 Requires: %{name} = %{version}-%{release}
656 Summary: Zend Framework 2: Tag Component
657 URL: http://framework.zend.com/manual/2.4/en/modules/zend.tag.introduction.html
658 Requires: %{name} = %{version}-%{release}
661 Zend\Tag is a component suite which provides a facility to work with
662 taggable Items. As its base, it provides two classes to work with
663 Tags, Zend\Tag\Item and Zend\Tag\ItemList. Additionally, it comes with
664 the interface Zend\Tag\TaggableInterface, which allows you to use any
665 of your models as a taggable item in conjunction with Zend\Tag.
667 Zend\Tag\Item is a basic taggable item implementation which comes with
668 the essential functionality required to work with the Zend\Tag suite.
669 A taggable item always consists of a title and a relative weight (e.g.
670 number of occurrences). It also stores parameters which are used by
671 the different sub-components of Zend\Tag.
673 To group multiple items together, Zend\Tag\ItemList exists as an array
674 iterator and provides additional functionality to calculate absolute
675 weight values based on the given relative weights of each item in it.
678 Summary: Zend Framework 2: Test Component
679 URL: http://framework.zend.com/manual/2.4/en/modules/zend.test.introduction.html
680 Requires: %{name} = %{version}-%{release}
683 The Zend\Test component provides tools to facilitate unit testing of
684 your Zend Framework applications. At this time, we offer facilities to
685 enable testing of your Zend Framework MVC applications.
687 PHPUnit is the only library supported currently.
690 Summary: Zend Framework 2: Text Component
691 URL: http://framework.zend.com/manual/2.4/en/index.html#zend-text
692 Requires: %{name} = %{version}-%{release}
694 ### TODO: Is Zend/Text/Figlet/zend-framework.flf allowed?
700 Summary: Zend Framework 2: URI Component
701 URL: http://framework.zend.com/manual/2.4/en/modules/zend.uri.html
702 Requires: %{name} = %{version}-%{release}
705 Zend\Uri is a component that aids in manipulating and validating
706 Uniform Resource Identifiers (URIs) [1]. Zend\Uri exists primarily to
707 service other components, such as Zend\Http\, but is also useful as a
710 URIs always begin with a scheme, followed by a colon. The construction
711 of the many different schemes varies significantly. The Zend\Uri
712 component provides the Zend\Uri\UriFactory that returns a class
713 implementing the Zend\Uri\UriInterface which specializes in the scheme
714 if such a class is registered with the Factory.
716 [1] http://www.ietf.org/rfc/rfc3986.txt
719 Summary: Zend Framework 2: Validator Component
720 URL: http://framework.zend.com/manual/2.4/en/modules/zend.validator.html
721 Requires: %{name} = %{version}-%{release}
723 %description Validator
724 The Zend\Validator component provides a set of commonly needed
725 validators. It also provides a simple validator chaining mechanism by
726 which multiple validators may be applied to a single datum in a
730 Summary: Zend Framework 2: Version Component
731 URL: http://framework.zend.com/manual/2.4/en/modules/zend.version.html
732 Requires: %{name} = %{version}-%{release}
735 Zend\Version provides a class constant Zend\Version\Version::VERSION
736 that contains a string identifying the version number of your Zend
737 Framework installation. Zend\Version\Version::VERSION might contain
738 "1.7.4', for example.
740 The static method Zend\Version\Version::compareVersion($version) is
741 based on the PHP function version_compare(). This method returns -1 if
742 the specified version is older than the installed Zend Framework
743 version, 0 if they are the same and +1 if the specified version is
744 newer than the version of the Zend Framework installation.
747 Summary: Zend Framework 2: View Component
748 URL: http://framework.zend.com/manual/2.4/en/modules/zend.view.quick-start.html
749 Requires: %{name} = %{version}-%{release}
752 Zend\View provides the "View' layer of Zend Framework 2's MVC system.
753 It is a multi-tiered system allowing a variety of mechanisms for
754 extension, substitution, and more.
757 Summary: Zend Framework 2: XML-RPC Component
758 URL: http://framework.zend.com/manual/2.4/en/modules/zend.xmlrpc.intro.html
759 Requires: %{name} = %{version}-%{release}
762 From its home page, XML-RPC is described as a '...remote procedure
763 calling using HTTP as the transport and XML as the encoding. XML-RPC
764 is designed to be as simple as possible, while allowing complex data
765 structures to be transmitted, processed and returned.'
767 Zend Framework provides support for both consuming remote XML-RPC
768 services and building new XML-RPC servers.
770 [1] http://www.xmlrpc.com/
773 Summary: Zend Framework 2: XML usage, best practices, and security in PHP
774 URL: https://github.com/zendframework/ZendXml
775 Requires: %{name} = %{version}-%{release}
778 This is a security component to prevent XML eXternal Entity (XXE) and
779 XML Entity Expansion (XEE) attacks on XML documents.
781 The XXE attack is prevented disabling the load of external entities in
782 the libxml library used by PHP, using the function
783 libxml_disable_entity_loader.
785 The XEE attack is prevented looking inside the XML document for ENTITY
786 usage. If the XML document uses ENTITY the library throw an Exception.
789 %setup -q -n ZendFramework-%{version} %{?with_tests:-a 1}
794 : Create autoloader for test suite
795 cat <<'AUTOLOADER' | tee _autoload.php
797 require_once '$RPM_BUILD_ROOT%{php_data_dir}/Zend/autoload.php';
799 Zend\Loader\AutoloaderFactory::factory(array(
800 'Zend\\Loader\\StandardAutoloader' => array(
801 'namespaces' => array(
802 'ZendTest' => __DIR__ . '/ZendTest',
806 : ignore these for now
807 rm ZendTest/Mvc/Controller/Plugin/FilePostRedirectGetTest.php
808 : PHP 5.4 segfaults https://bugzilla.redhat.com/1131979
809 rm ZendTest/Serializer/Adapter/WddxTest.php
812 for dir in ZendTest/[A-Z]*; do
813 phpunit $dir || RET=1
819 rm -rf $RPM_BUILD_ROOT
822 rm -rf $RPM_BUILD_ROOT
823 install -d $RPM_BUILD_ROOT%{php_data_dir}
824 cp -a library/* $RPM_BUILD_ROOT%{php_data_dir}
826 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{php_data_dir}/Zend/autoload.php
829 %defattr(644,root,root,755)
831 %doc *.md composer.json
832 %dir %{php_data_dir}/Zend
834 %files Authentication
835 %defattr(644,root,root,755)
836 %doc library/Zend/Authentication/*.md
837 %doc library/Zend/Authentication/composer.json
838 %{php_data_dir}/Zend/Authentication
839 %exclude %{php_data_dir}/Zend/Authentication/*.md
840 %exclude %{php_data_dir}/Zend/Authentication/composer.json
843 %defattr(644,root,root,755)
844 %doc library/Zend/Barcode/*.md
845 %doc library/Zend/Barcode/composer.json
846 %{php_data_dir}/Zend/Barcode
847 %exclude %{php_data_dir}/Zend/Barcode/*.md
848 %exclude %{php_data_dir}/Zend/Barcode/composer.json
851 %defattr(644,root,root,755)
852 %doc library/Zend/Cache/*.md
853 %doc library/Zend/Cache/composer.json
854 %{php_data_dir}/Zend/Cache
855 %exclude %{php_data_dir}/Zend/Cache/*.md
856 %exclude %{php_data_dir}/Zend/Cache/composer.json
859 %defattr(644,root,root,755)
860 %doc library/Zend/Captcha/*.md
861 %doc library/Zend/Captcha/composer.json
862 %{php_data_dir}/Zend/Captcha
863 %exclude %{php_data_dir}/Zend/Captcha/*.md
864 %exclude %{php_data_dir}/Zend/Captcha/composer.json
867 %defattr(644,root,root,755)
868 %doc library/Zend/Code/*.md
869 %doc library/Zend/Code/composer.json
870 %{php_data_dir}/Zend/Code
871 %exclude %{php_data_dir}/Zend/Code/*.md
872 %exclude %{php_data_dir}/Zend/Code/composer.json
875 %defattr(644,root,root,755)
876 %doc library/Zend/Config/*.md
877 %doc library/Zend/Config/composer.json
878 %{php_data_dir}/Zend/Config
879 %exclude %{php_data_dir}/Zend/Config/*.md
880 %exclude %{php_data_dir}/Zend/Config/composer.json
883 %defattr(644,root,root,755)
884 %doc library/Zend/Console/*.md
885 %doc library/Zend/Console/composer.json
886 %{php_data_dir}/Zend/Console
887 %exclude %{php_data_dir}/Zend/Console/*.md
888 %exclude %{php_data_dir}/Zend/Console/composer.json
891 %defattr(644,root,root,755)
892 %doc library/Zend/Crypt/*.md
893 %doc library/Zend/Crypt/composer.json
894 %{php_data_dir}/Zend/Crypt
895 %exclude %{php_data_dir}/Zend/Crypt/*.md
896 %exclude %{php_data_dir}/Zend/Crypt/composer.json
899 %defattr(644,root,root,755)
900 %doc library/Zend/Db/*.md
901 %doc library/Zend/Db/composer.json
902 %{php_data_dir}/Zend/Db
903 %exclude %{php_data_dir}/Zend/Db/*.md
904 %exclude %{php_data_dir}/Zend/Db/composer.json
907 %defattr(644,root,root,755)
908 %doc library/Zend/Debug/*.md
909 %doc library/Zend/Debug/composer.json
910 %{php_data_dir}/Zend/Debug
911 %exclude %{php_data_dir}/Zend/Debug/*.md
912 %exclude %{php_data_dir}/Zend/Debug/composer.json
915 %defattr(644,root,root,755)
916 %doc library/Zend/Di/*.md
917 %doc library/Zend/Di/composer.json
918 %{php_data_dir}/Zend/Di
919 %exclude %{php_data_dir}/Zend/Di/*.md
920 %exclude %{php_data_dir}/Zend/Di/composer.json
923 %defattr(644,root,root,755)
924 %doc library/Zend/Dom/*.md
925 %doc library/Zend/Dom/composer.json
926 %{php_data_dir}/Zend/Dom
927 %exclude %{php_data_dir}/Zend/Dom/*.md
928 %exclude %{php_data_dir}/Zend/Dom/composer.json
931 %defattr(644,root,root,755)
932 %doc library/Zend/Escaper/*.md
933 %doc library/Zend/Escaper/composer.json
934 %{php_data_dir}/Zend/Escaper
935 %exclude %{php_data_dir}/Zend/Escaper/*.md
936 %exclude %{php_data_dir}/Zend/Escaper/composer.json
939 %defattr(644,root,root,755)
940 %doc library/Zend/EventManager/*.md
941 %doc library/Zend/EventManager/composer.json
942 %{php_data_dir}/Zend/EventManager
943 %exclude %{php_data_dir}/Zend/EventManager/*.md
944 %exclude %{php_data_dir}/Zend/EventManager/composer.json
947 %defattr(644,root,root,755)
948 %doc library/Zend/Feed/*.md
949 %doc library/Zend/Feed/composer.json
950 %{php_data_dir}/Zend/Feed
951 %exclude %{php_data_dir}/Zend/Feed/*.md
952 %exclude %{php_data_dir}/Zend/Feed/composer.json
955 %defattr(644,root,root,755)
956 %doc library/Zend/File/*.md
957 %doc library/Zend/File/composer.json
958 %{php_data_dir}/Zend/File
959 %exclude %{php_data_dir}/Zend/File/*.md
960 %exclude %{php_data_dir}/Zend/File/composer.json
963 %defattr(644,root,root,755)
964 %doc library/Zend/Filter/*.md
965 %doc library/Zend/Filter/composer.json
966 %{php_data_dir}/Zend/Filter
967 %exclude %{php_data_dir}/Zend/Filter/*.md
968 %exclude %{php_data_dir}/Zend/Filter/composer.json
971 %defattr(644,root,root,755)
972 %doc library/Zend/Form/*.md
973 %doc library/Zend/Form/composer.json
974 %{php_data_dir}/Zend/Form
975 %exclude %{php_data_dir}/Zend/Form/*.md
976 %exclude %{php_data_dir}/Zend/Form/composer.json
979 %defattr(644,root,root,755)
980 %doc library/Zend/Http/*.md
981 %doc library/Zend/Http/composer.json
982 %{php_data_dir}/Zend/Http
983 %exclude %{php_data_dir}/Zend/Http/*.md
984 %exclude %{php_data_dir}/Zend/Http/composer.json
987 %defattr(644,root,root,755)
988 %doc library/Zend/I18n/*.md
989 %doc library/Zend/I18n/composer.json
990 %{php_data_dir}/Zend/I18n
991 %exclude %{php_data_dir}/Zend/I18n/*.md
992 %exclude %{php_data_dir}/Zend/I18n/composer.json
995 %defattr(644,root,root,755)
996 %doc library/Zend/InputFilter/*.md
997 %doc library/Zend/InputFilter/composer.json
998 %{php_data_dir}/Zend/InputFilter
999 %exclude %{php_data_dir}/Zend/InputFilter/*.md
1000 %exclude %{php_data_dir}/Zend/InputFilter/composer.json
1003 %defattr(644,root,root,755)
1004 %doc library/Zend/Json/*.md
1005 %doc library/Zend/Json/composer.json
1006 %{php_data_dir}/Zend/Json
1007 %exclude %{php_data_dir}/Zend/Json/*.md
1008 %exclude %{php_data_dir}/Zend/Json/composer.json
1011 %defattr(644,root,root,755)
1012 %doc library/Zend/Ldap/*.md
1013 %doc library/Zend/Ldap/composer.json
1014 %{php_data_dir}/Zend/Ldap
1015 %exclude %{php_data_dir}/Zend/Ldap/*.md
1016 %exclude %{php_data_dir}/Zend/Ldap/composer.json
1019 %defattr(644,root,root,755)
1020 %doc library/Zend/Loader/*.md
1021 %doc library/Zend/Loader/composer.json
1022 %{php_data_dir}/Zend/autoload.php
1023 %{php_data_dir}/Zend/Loader
1024 %exclude %{php_data_dir}/Zend/Loader/*.md
1025 %exclude %{php_data_dir}/Zend/Loader/composer.json
1028 %defattr(644,root,root,755)
1029 %doc library/Zend/Log/*.md
1030 %doc library/Zend/Log/composer.json
1031 %{php_data_dir}/Zend/Log
1032 %exclude %{php_data_dir}/Zend/Log/*.md
1033 %exclude %{php_data_dir}/Zend/Log/composer.json
1036 %defattr(644,root,root,755)
1037 %doc library/Zend/Mail/*.md
1038 %doc library/Zend/Mail/composer.json
1039 %{php_data_dir}/Zend/Mail
1040 %exclude %{php_data_dir}/Zend/Mail/*.md
1041 %exclude %{php_data_dir}/Zend/Mail/composer.json
1044 %defattr(644,root,root,755)
1045 %doc library/Zend/Math/*.md
1046 %doc library/Zend/Math/composer.json
1047 %{php_data_dir}/Zend/Math
1048 %exclude %{php_data_dir}/Zend/Math/*.md
1049 %exclude %{php_data_dir}/Zend/Math/composer.json
1052 %defattr(644,root,root,755)
1053 %doc library/Zend/Memory/*.md
1054 %doc library/Zend/Memory/composer.json
1055 %{php_data_dir}/Zend/Memory
1056 %exclude %{php_data_dir}/Zend/Memory/*.md
1057 %exclude %{php_data_dir}/Zend/Memory/composer.json
1060 %defattr(644,root,root,755)
1061 %doc library/Zend/Mime/*.md
1062 %doc library/Zend/Mime/composer.json
1063 %{php_data_dir}/Zend/Mime
1064 %exclude %{php_data_dir}/Zend/Mime/*.md
1065 %exclude %{php_data_dir}/Zend/Mime/composer.json
1067 %files ModuleManager
1068 %defattr(644,root,root,755)
1069 %doc library/Zend/ModuleManager/*.md
1070 %doc library/Zend/ModuleManager/composer.json
1071 %{php_data_dir}/Zend/ModuleManager
1072 %exclude %{php_data_dir}/Zend/ModuleManager/*.md
1073 %exclude %{php_data_dir}/Zend/ModuleManager/composer.json
1076 %defattr(644,root,root,755)
1077 %doc library/Zend/Mvc/*.md
1078 %doc library/Zend/Mvc/composer.json
1079 %{php_data_dir}/Zend/Mvc
1080 %exclude %{php_data_dir}/Zend/Mvc/*.md
1081 %exclude %{php_data_dir}/Zend/Mvc/composer.json
1084 %defattr(644,root,root,755)
1085 %doc library/Zend/Navigation/*.md
1086 %doc library/Zend/Navigation/composer.json
1087 %{php_data_dir}/Zend/Navigation
1088 %exclude %{php_data_dir}/Zend/Navigation/*.md
1089 %exclude %{php_data_dir}/Zend/Navigation/composer.json
1092 %defattr(644,root,root,755)
1093 %doc library/Zend/Paginator/*.md
1094 %doc library/Zend/Paginator/composer.json
1095 %{php_data_dir}/Zend/Paginator
1096 %exclude %{php_data_dir}/Zend/Paginator/*.md
1097 %exclude %{php_data_dir}/Zend/Paginator/composer.json
1099 %files Permissions-Acl
1100 %defattr(644,root,root,755)
1101 %doc library/Zend/Permissions/Acl/*.md
1102 %doc library/Zend/Permissions/Acl/composer.json
1103 %dir %{php_data_dir}/Zend/Permissions
1104 %{php_data_dir}/Zend/Permissions/Acl
1105 %exclude %{php_data_dir}/Zend/Permissions/Acl/*.md
1106 %exclude %{php_data_dir}/Zend/Permissions/Acl/composer.json
1108 %files Permissions-Rbac
1109 %defattr(644,root,root,755)
1110 %doc library/Zend/Permissions/Rbac/*.md
1111 %doc library/Zend/Permissions/Rbac/composer.json
1112 %dir %{php_data_dir}/Zend/Permissions
1113 %{php_data_dir}/Zend/Permissions/Rbac
1114 %exclude %{php_data_dir}/Zend/Permissions/Rbac/*.md
1115 %exclude %{php_data_dir}/Zend/Permissions/Rbac/composer.json
1118 %defattr(644,root,root,755)
1119 %doc library/Zend/ProgressBar/*.md
1120 %doc library/Zend/ProgressBar/composer.json
1121 %{php_data_dir}/Zend/ProgressBar
1122 %exclude %{php_data_dir}/Zend/ProgressBar/*.md
1123 %exclude %{php_data_dir}/Zend/ProgressBar/composer.json
1126 %defattr(644,root,root,755)
1127 %doc library/Zend/Serializer/*.md
1128 %doc library/Zend/Serializer/composer.json
1129 %{php_data_dir}/Zend/Serializer
1130 %exclude %{php_data_dir}/Zend/Serializer/*.md
1131 %exclude %{php_data_dir}/Zend/Serializer/composer.json
1134 %defattr(644,root,root,755)
1135 %doc library/Zend/Server/*.md
1136 %doc library/Zend/Server/composer.json
1137 %exclude %{php_data_dir}/Zend/Server/*.md
1138 %exclude %{php_data_dir}/Zend/Server/composer.json
1140 %files ServiceManager
1141 %defattr(644,root,root,755)
1142 %doc library/Zend/ServiceManager/*.md
1143 %doc library/Zend/ServiceManager/composer.json
1144 %{php_data_dir}/Zend/ServiceManager
1145 %exclude %{php_data_dir}/Zend/ServiceManager/*.md
1146 %exclude %{php_data_dir}/Zend/ServiceManager/composer.json
1149 %defattr(644,root,root,755)
1150 %doc library/Zend/Session/*.md
1151 %doc library/Zend/Session/composer.json
1152 %{php_data_dir}/Zend/Session
1153 %exclude %{php_data_dir}/Zend/Session/*.md
1154 %exclude %{php_data_dir}/Zend/Session/composer.json
1157 %defattr(644,root,root,755)
1158 %doc library/Zend/Soap/*.md
1159 %doc library/Zend/Soap/composer.json
1160 %{php_data_dir}/Zend/Soap
1161 %exclude %{php_data_dir}/Zend/Soap/*.md
1162 %exclude %{php_data_dir}/Zend/Soap/composer.json
1165 %defattr(644,root,root,755)
1166 %doc library/Zend/Stdlib/*.md
1167 %doc library/Zend/Stdlib/composer.json
1168 %{php_data_dir}/Zend/Stdlib
1169 %exclude %{php_data_dir}/Zend/Stdlib/*.md
1170 %exclude %{php_data_dir}/Zend/Stdlib/composer.json
1173 %defattr(644,root,root,755)
1174 %doc library/Zend/Tag/*.md
1175 %doc library/Zend/Tag/composer.json
1176 %{php_data_dir}/Zend/Tag
1177 %exclude %{php_data_dir}/Zend/Tag/*.md
1178 %exclude %{php_data_dir}/Zend/Tag/composer.json
1181 %defattr(644,root,root,755)
1182 %doc library/Zend/Test/*.md
1183 %doc library/Zend/Test/composer.json
1184 %{php_data_dir}/Zend/Test
1185 %exclude %{php_data_dir}/Zend/Test/*.md
1186 %exclude %{php_data_dir}/Zend/Test/composer.json
1189 %defattr(644,root,root,755)
1190 %doc library/Zend/Text/*.md
1191 %doc library/Zend/Text/composer.json
1192 %{php_data_dir}/Zend/Text
1193 %exclude %{php_data_dir}/Zend/Text/*.md
1194 %exclude %{php_data_dir}/Zend/Text/composer.json
1197 %defattr(644,root,root,755)
1198 %doc library/Zend/Uri/*.md
1199 %doc library/Zend/Uri/composer.json
1200 %{php_data_dir}/Zend/Uri
1201 %exclude %{php_data_dir}/Zend/Uri/*.md
1202 %exclude %{php_data_dir}/Zend/Uri/composer.json
1205 %defattr(644,root,root,755)
1206 %doc library/Zend/Validator/*.md
1207 %doc library/Zend/Validator/composer.json
1208 %{php_data_dir}/Zend/Validator
1209 %exclude %{php_data_dir}/Zend/Validator/*.md
1210 %exclude %{php_data_dir}/Zend/Validator/composer.json
1213 %defattr(644,root,root,755)
1214 %doc library/Zend/Version/*.md
1215 %doc library/Zend/Version/composer.json
1216 %{php_data_dir}/Zend/Version
1217 %exclude %{php_data_dir}/Zend/Version/*.md
1218 %exclude %{php_data_dir}/Zend/Version/composer.json
1221 %defattr(644,root,root,755)
1222 %doc library/Zend/View/*.md
1223 %doc library/Zend/View/composer.json
1224 %{php_data_dir}/Zend/View
1225 %exclude %{php_data_dir}/Zend/View/*.md
1226 %exclude %{php_data_dir}/Zend/View/composer.json
1229 %defattr(644,root,root,755)
1230 %doc library/Zend/XmlRpc/*.md
1231 %doc library/Zend/XmlRpc/composer.json
1232 %{php_data_dir}/Zend/XmlRpc
1233 %exclude %{php_data_dir}/Zend/XmlRpc/*.md
1234 %exclude %{php_data_dir}/Zend/XmlRpc/composer.json
1237 %defattr(644,root,root,755)
1238 %{php_data_dir}/ZendXml