There’s lots in Perch for developers. Whether you need a drop-in CMS solution for a custom web app, or want to use Perch as a framework to build your functionality on, the options are there.
We aim to provide a clean and simple admin interface but if you would like to customize it, for example to provide a branded interface for your clients, we have a simple way of doing so.
In addition you can create plug-ins for most WYSIWYG style editors.
Perch is namespaced and so can be integrated with most PHP frameworks without too much trouble. We have seen people using many of the common framweorks such as CodeIgniter and Zend Framework.
Perch works on file paths. When using Perch with a Front Controller pattern (as utilized by most MVC frameworks), we’ve provided a mechanism for telling Perch which page it is on. Read more in the documentation.
Perch has a fully documented developer API.
The API is what we use to develop our Perch official apps and exposes much of the Perch functionality to make developing custom apps that fit inside Perch quick and easy.
If you have a reasonable knowledge of OO PHP then you should have little trouble getting started with the API.
Perch has been built from the ground-up to support structured data. That means instead of giving the user a single large textarea for their content, the system instead breaks the content down into component parts with a specific form field for each.
Why is that useful? It means that the data can be intelligently reused around your site and also presented in a consistent way as defined by the designer.
Take the example of a page listing a number of products. Each product might have a title, an image, a description and a price. Instead of having a WYSIWYG editor and some guidelines on how to format a product to make it consistent with the design, Perch gives you a field for the title, an image, the description and the price. That data is then merged into a template and presented exactly how the designer intended it to be.
This makes content editing easier for clients, and helps keep the site looking box-fresh the way the designer intended and not degrading over time.
With Perch, the templates determine the fields you get in the edit form. Every item of content your template describes has a corresponding form field to collect the data.