About RedBeanPHP

Light-weight loader for the RedBeanPHP ORM

Category Development Tools
Modules that have more to do with assisting development of a site rather than managing its content.
Release StateStable
Should be safe for use in production environments. *
Authorteppo
Module Version2.0.0
Class NameRedBeanPHP
Compatibility2.6, 2.7, 3.0
Date AddedOctober 20, 2015
Last UpdatedFebruary 3, 2019
Recommended ByNew recommendations may take up to 1 day to appear.

Instructions

This module's files should be placed in /site/modules/RedBeanPHP/
How to install or uninstall modules

README

RedBeanPHP ProcessWire Module

This module loads and initializes RedBeanPHP – an easy to use ORM for PHP. RedBeanPHP is particularlyeasy to get started with for two reasons: first of all there are no config files, and second of all it has the ability to create the database schema for you on the fly.

The main task of this module is loading the RedBeanPHP library and initializing it with the databasecreentials found from ProcessWire's $config settings. Module config contains some settings, and the module exposes some often used RedBeanPHP methods, but that's it.

Requirements

The master branch of this module requires ProcessWire 3.0+. If you're running an earlier version ofProcessWire, you probably should consider updating it – but if that's not an option, check out the legacy branch instead:

https://github.com/teppokoivula/RedBeanPHP/tree/legacy

RedBeanPHP ORM

RedBeanPHP is an easy to use ORM for PHP. It's a Zero Config ORM lib that 'automagically' buildsyour database schema. — https://redbeanphp.com/index.php

RedBeanPHP has two operating modes, "fluid" and "frozen". When in fluid mode, RedBeanPHP can createthe database schema for you. While this may not be desirable in production, it can be quite useful during the development phase.

One interesting aspect with RedBeanPHP is that it contains no Query Builder, instead relying on rawSQL with parameter binding. While some may see this as a shortcoming, the reason for this particular design decision is keeping things simple.

Learning the basics of RedBeanPHP takes minutes, but grasping how to define relations between beans(objects), how to define models, etc. can take a while longer. The docs at redbeanphp.com are quite detailed, so definitely check them out if you're interested in hearing more.

RedBeanPHP is copyright (c) 2018 Gabor de Mooij and the RedBeanPHP community, dual licensed underNew BSD and GPLv2. You may choose the license that fits best for your project.

ORM and ProcessWire

ProcessWire has a very effective way of modeling and managing data built-in, so most of the timeyou'll find a separate ORM nothing but a distraction. For cases in which you may prefer to drop out of the typical workflow, though, an ORM such as RedBeanPHP is an easy and light-weight solution.

Some examples of situations in which RedBeanPHP may come in handy:

  • Working with (possibly large) sets of existing data
  • Working with SQLite or PostgreSQL databases
  • Working with multiple databases all at once
  • Rapid prototyping (using code only)

.. and so on. The main point here is that situations can vary, and if you feel that a separate ORMis the best option for your particular use case, then by all means go for it.

Comments

No comments yet. Be the first to post!

Post a Comment

Your e-mail is kept confidential and not included with your comment. Website is optional.