PHPackages                             pinpie/pinpie - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. pinpie/pinpie

ActiveProject[Caching](/categories/caching)

pinpie/pinpie
=============

PinPIE is a small and fast PHP site engine

1.1.2(8y ago)101351MITPHPPHP &gt;=5.4

Since Sep 17Pushed 8y ago1 watchersCompare

[ Source](https://github.com/pinpie/pinpie)[ Packagist](https://packagist.org/packages/pinpie/pinpie)[ Docs](http://pinpie.rocks)[ RSS](/packages/pinpie-pinpie/feed)WikiDiscussions stable Synced 4w ago

READMEChangelog (4)Dependencies (3)Versions (15)Used By (0)

[![PinPIE](https://camo.githubusercontent.com/b24b7c7c0a6d2008d48c5621e1f0d65858fd5bcda0d6c1f6b4836b19f045508a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d50696e5049452d627269676874677265656e2e737667)](http://pinpie.rocks/)[![Latest Stable Version](https://camo.githubusercontent.com/2efc0948070dcd39ce898294176faa6fbbf75ed6df1ce71ee0b9c7c925eec644/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f70696e7069652f70696e7069652e737667)](https://packagist.org/packages/pinpie/pinpie)[![Build Status](https://camo.githubusercontent.com/a6c72711c6392b45f74c27aae3099a721451461efae898611cb0e07745c055a7/687474703a2f2f696d672e736869656c64732e696f2f7472617669732f70696e7069652f70696e7069652e737667)](https://travis-ci.org/pinpie/pinpie)[![codecov](https://camo.githubusercontent.com/d82c0eab691ea4290ea9d9540731a2d2c6ba25757aed10624ea24067138da4e5/68747470733a2f2f636f6465636f762e696f2f67682f70696e7069652f70696e7069652f6272616e63682f737461626c652f67726170682f62616467652e737667)](https://codecov.io/gh/pinpie/pinpie)[![Code Climate](https://camo.githubusercontent.com/229e70bf6f6bf1f40691ffc62f4f40cca42331b302c14a6165ac7f73152e999c/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f70696e7069652f70696e7069652f6261646765732f6770612e737667)](https://codeclimate.com/github/pinpie/pinpie)[![Total Downloads](https://camo.githubusercontent.com/0ef1ef9f08768a66a4eeefa6a194d8340c6a9cc3a28908c6068946041af40006/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f70696e7069652f70696e7069652e737667)](https://packagist.org/packages/pinpie/pinpie)[![License](https://camo.githubusercontent.com/3c2723913c2538df23c478365e9c7167cf0740655f8771002c8b4fae612de2ed/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f70696e7069652f70696e7069652e737667)](https://packagist.org/packages/pinpie/pinpie)

\#PinPIE - when PHP Is Enough

About
-----

[](#about)

PinPIE is lightweight php-based engine for small sites

Read more about PinPIE engine in [PinPIE docs](http://pinpie.rocks)

Overview
--------

[](#overview)

PinPIE is not a framework, nor it is a CMS. PinPIE is a site engine, designed to be quick and efficient even on cheap hostings.

PinPIE stores all contend in php-files. If opcode cacher is used — it will cache this files. That allows PinPIE to include pages, snippets and chunks in the blink of an eye.

Content stored in files allows you to edit your content using favorite IDE or text editor with all that highlighting, auto-formatting, auto-saving, auto-uploading features and familiar hotkeys. Also that allows to benefit from full debug support including exact line numbers and IDE code execution flow controls. This approach is friendly to version control systems — you can have versions of all your content to be safe and protected against loosing something while editing anything. Deployment friendly. Backup friendly.

PinPIE have tag-based parser. Tag syntax is inspired by [ModX](https://modx.com/) tag system. Basic tags are:

- Chunks — a pieces of plain text
- Snippets — a pieces of php code to execute

Read more in [tags readme](http://pinpie.rocks/en/manual/tags).

PinPIE provide clear and controllable automatic snippet caching. Caching can be enabled or disabled for each snippet tag separately. Caching control is predictable and simple.

This is a snippet tag. Snippet is a piece of PHP code. This snippet is executed for every request. It is not cached.

```
[[$snippet]]

```

And here is the example of cached snippet syntax:

```
[[60$snippet]]

```

Look at this one. It is cached for one minute. If snippet file or one of files of its children is changed, PinPIE will execute and recache this snippet automatically.

To cache snippet forever, just use that syntax:

```
[[!$snippet]]

```

That snippet will be cached for about ten years, which is a lot.

You don't need to purge cache yourself every time you change something important on the site. PinPIE will automatically recache only changed content. But anyway, you can purge the cache if you want. Read more in [cache readme](http://pinpie.rocks/en/manual/cache).

Read more about PinPIE engine in [PinPIE docs](http://pinpie.rocks).

\##Examples

Look at this example of some possible page:

```

[title[=Hello]]

Hi!

The answer is [[$rand]].

[[%img=/images/cat.jpg]]

Now visit another page.

[[lorem/ipsum]]
```

After page is processed, its HTML code will look like that:

```
...

    Hello

Hi!

The answer is 453.

Now visit another page.

Lorem ipsum dolor sit amet...
```

Here the `[title[=Hello]]` is a constant with some text. In this example it goes into the placeholder `[[*title]]`. That placeholder is used in the `` tag, and in the same time let's assume it is used also in the `` tag in the template. In that way, this text will appear on the page as a heading and in the head of the page in title.

The snippet `[[$rand]]` will run PHP code from file `/snippets/rand` and will output a random number.

The static tag `[[%img=/images/someimage.jpg]]` is very convenient way to use images, css and js files on the page. It will automatically output something like:

```

```

You can see a `time` hash to make changed static files updated in browser.
Also PinPIE add the image width and height automatically. This behavior can be changed in config.

Chunk `[[lorem/ipsum]]` is just a piece of text in a `/chunks/lorem/ipsum` folder.

You can find more examples in [other PinPIE repos](https://github.com/pinpie) or at [PinPIE site](http://pinpie.rocks/en/examples).

Start using PinPIE
------------------

[](#start-using-pinpie)

You can install PinPIE with composer:

```
composer require "pinpie/pinpie"
composer install

```

Or download code from GitHub and use standalone autoloader file `/pinpie/src/autoload.php`.

You can find more detailed instructions in [start unsing PinPIE](http://pinpie.rocks/en/manual/start) docs.

Credits
-------

[](#credits)

Author and maintainer of PinPIE is Igor Data ([@igordata](https://github.com/igordata))

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~81 days

Total

13

Last Release

3128d ago

Major Versions

0.9.16 → 1.0.02017-01-17

PHP version history (2 changes)0.9.10PHP &gt;=5.4.0

1.0.1PHP &gt;=5.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1877274?v=4)[igordata](/maintainers/igordata)[@igordata](https://github.com/igordata)

---

Top Contributors

[![igordata](https://avatars.githubusercontent.com/u/1877274?v=4)](https://github.com/igordata "igordata (114 commits)")

---

Tags

cachecatschunkcmsdogsenginegithubideilovetopicsoctocatoctodexphppinpiesnippetstagstoomanytagstoomanytopics

### Embed Badge

![Health badge](/badges/pinpie-pinpie/health.svg)

```
[![Health](https://phpackages.com/badges/pinpie-pinpie/health.svg)](https://phpackages.com/packages/pinpie-pinpie)
```

###  Alternatives

[beryllium/cachebundle

Provides an interface to Memcache for Symfony2 applications

32136.0k](/packages/beryllium-cachebundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
