Written 09:46 am 10/1/2013 Modifed 10:30 am 10/1/2013

With the creation of the Bureau of Facts and Statistics, I am also announcing my new microframework off of which it is based: Roto. Roto is a simple PHP framework that lets you build web applications quickly, by using scoped views and components (Widgets).

It is used as a composer package, and all class files are under the namespace "Roto". It's still in development, but will be updated over time as I use it for my upcoming community text-adventure site: (under development).


Roto is primarily a routing library. It uses the Router to route requests, using the following flow:

  1. Evaluate any folder files,
  2. Evaluate the controller file
  3. Render the view file using buffering
  4. Render the template if there is one, otherwise echo the main output of the view.

Folder files are files that operate on any requests in or not under that directory. By default, they are named "_folder.php", but that can be changed by the user.

A controller file is any .php file that matches the request (index.html => index.php). The designated controller can be modified by any folder files. All logic should be performed here.

A view file is any ..php file that matches the request (index.html => index.html.php). The view file may be changed by the folder files or the controller file. Inside the view file, $this refers to the View object. The output of the file gets stored as the main region in the View object, unless otherwise specified. You can route output to other regions by using the *startRegion, or endRegion commands, or store data into regions using the region command. Regions are how the view is loaded into the template. If there is no template, the main region is outputted.

A template is a reusable file in which to route the output of the view. You can see an example here.


There is only one singleton- the Service class. This is used to be a general purpose key / object store. For example, you can store a database connection, a config object, router, or view as services. This should be done in a single "services" file, but there are no hard rules about this.


Service::register('CFG', function() use ($root) {
    return new Config(

$cfg = Service::CFG();

Config Files

Roto uses ini files to store configuration. You pass in the config file locations as variable parameter lists to the Config object. The earlier the file appears in the list indicates its precedence.


Roto allows for a verbose BREAD api calls using the BREAD class. For convention, this should be added in the folder file, IE:


The BREAD class allows for chainable callback additions, using ->onBrowse, ->onRead, ->onEdit, ->onAdd, and ->onDelete, with execution being triggered by the dispatch() function. This will automatically map requests /api/animals/ and /api/animals/$id to their proper functions, using the proper HTTP verbs: PUT, POST, DELETE, and GET.


To get set up with a new Roto App instantly, run the command:

composer create-project oranj/roto-app --stability="dev"
Posted by MarioTautt on August 17th, 2019, 4:38 am Reply


We present

Sending your business proposition through the Contact us form which can be found on the sites in the contact partition. Contact form are filled in by our software and the captcha is solved. The profit of this method is that messages sent through feedback forms are whitelisted. This technique improve the odds that your message will be read.

Our database contains more than 25 million sites around the world to which we can send your message.

The cost of one million messages 49 USD

FREE TEST mailing of 50,000 messages to any country of your choice.

This message is automatically generated to use our contacts for communication.

Contact us. Telegram - @FeedbackFormEU Skype FeedbackForm2019 Email -

Posted by on July 8th, 2019, 11:35 am Reply

Alles für Umreifung. Umreifungsband, Verpackungsband. Klemmen, Hülsen, Spanner……. Umreifungszange, Umreifungsschweisser.

Hochwertige Waren vom Produzent. Fabrikverkauf. Versand am gleichen Tag aus Frankfurt. Bis 95 % günstiger als auf dem Markt.

Arbeitshandschuhe. Müllsäcke und Vieles mehr.

Info auf: Mit freundlichen Grüßen

Posted by on July 2nd, 2019, 3:50 pm Reply

Müllsäcke, Abfallsäcke alle Sorten. Gewebesäcke. Kartoffelsäcke. Laubsäcke. Raschelsäcke. Zwiebelsäcke. Spänesäcke.

Hochwertige Waren vom Produzent. Fabrikverkauf. Versand am gleichen Tag aus Frankfurt. Bis 95 % günstiger als auf dem Markt.

Arbeitshandschuhe und Vieles mehr.

Info auf:

Mit freundlichen Grüßen