Xerl is an open source website template engine (TE) with some features of a Content Management System (CMS) programmed in object oriented Perl (boosted by FastCGI) and using XML.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Xerl
COPYING
Makefile
README
TODO
Xerl.pm
index.fpl
index.pl
xerl.conf

README

STYLEGUIDE:

Always do:

Pragmatic modules ALWAYS to use in ALL packages: 

use strict;
use warnings;
use v5.14;

Only for packages for including package UNIVERSAL definitions

use Xerl::Page::Base;

Object oriented coding style

Always use method prototypes if possible

sub foo($;$) { .... }

Explicit object typing if possible

my Class::Name::Here $foo = Class::Name::Here->new();

If no real ret val, set undef; explicitly

sub foo() {
  # Do some stuff
...
  # Set explicit undef ret value
  return undef;
}

Private subs use _ as its prefix and are called only from the current package.

package Xerl::Foo::Bla;
.
.

sub _iamprivate($) {
  my Xerl::Foo:Bla $self = $_[0];
  .
  .
}

sub iampublic($) {
  my Xerl::Foo:Bla $self = $_[0];
  $self->_iamprivate();
  return undef;
}

Static subs (not OOP) are in CAPITAL letters. 

sub IAMSTATIC($) {
  print shift;
  return 'Hello World';
}

sub iamdynamic($) {
  my Xerl::Foo:Bla $self = $_[0];
  return Xerl::Foo::Bla::IAMSTATIC( $self->get_somevalue() );
}

Static private subs start with _ and are written in CAPITAL letters

sub _IAMSTATICPRIVATE() { 
  .
  .
}

Use Pidy to automaically restyle the code! (make perltidy)

Mark things which are still to do with TODO: at any place in the source
tree. (Can be searched for using 'make todo').