Download the PHP package jascha030/wp-post-iterator without Composer
On this page you can find all versions of the php package jascha030/wp-post-iterator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jascha030/wp-post-iterator
More information about jascha030/wp-post-iterator
Files in jascha030/wp-post-iterator
Package wp-post-iterator
Short Description Simple adapter for the WP_Query class, built mainly for, but not limited to usage with twig/twig.
License GPL-2.0+
Informations about the package wp-post-iterator
WordPress Post Iterator
A simple adapter, extending WordPress' \WP_Query class while implementing PHP's core Iterator interface.
Built mainly for, but not limited to usage with the twig templating language for PHP.
Getting started
Prerequisites
- Php
^8.0 - Composer
^2.2(Not required, but preferred)
Installation
Installation instructions, with examples like the one below.
Usage
Require the vendor/autoload.php file either in your main plugin file, or functions.php, depending on what you are
building.
The most effective way to use it
The simplest and most effective way to use this package is by using the PostCollection class. It's based around Php's
IteratorAggregate interface and inspired by (e.g.) Laravel's Collection class and Symfony's Finder and LazyIterator
classes.
It provides three static methods to create instances from various types of arguments.
Examples using PostCollection
The point of this class is you are able to loop through it, like you would with an array, only it is more memory friendly than an actual array.
The main implementation
Adapter
If you want to create an iterator for an existing WP_Query instance use the PostIteratorAdapter class. It uses
the PostIteratorTrait.
Alternative
If you want to use another class that implements this functionality without sacrificing an existing inheritance chain,
you can use the PostIteratorTrait instead.
It provides all the Iterator methods as shown below, it only requires you to implement two methods as shown below:
Development
Below is some info on development, (so feel free to fork this repo).
Code style & Formatting
A code style configuration for friendsofphp/php-cs-fixer is included, defined in .php-cs-fixer.dist.php. By default,
it includes the PSR-1 and PSR-12 presets. You can customize or add rules in .php-cs-fixer.dist.php.
To use php-cs-fixer without having it necessarily installed globally, a composer script command is also included to format php code using the provided config file and the vendor binary of php-cs-fixer.
Run php-cs-fixer
The above command is an alias, alternatively you can use
License
GPL-2.0+
jascha030/wp-post-iterator - Adapter for WordPress' WP_Query, implementing Iterator interface.
Copyright (C) 2022 Jascha van Aalst.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.