Giter Club home page Giter Club logo

phphaml's Introduction

[PhpHaml]

PhpHaml is a PHP library for working with HAML (and eventually SASS).

	<?php
	
	require 'library.php';
	
	phphaml\Library::autoload();
	
	$parser = new phphaml\haml\Parser("%hello world");
	echo $parser->render(); // <hello>world</hello>
	
	?>

[Library Structure]

The library was designed to be highly modular, there are 3 types of
component involved in parsing a document:

  - Parsers:
    Parsers are the most general component.  All they do, really, is traverse
    the source line-by-line, handle context switching (indentation) and then
    delegate the line to the appropriate Handler.
  
  - Handlers:
    Handlers perform the majority of the parsing.  They extract information from
    the source line and generate and manipulate the AST.  As much processing as
    possible should be done in the handlers to minimise the processing that
    needs done by the AST.
  
  - Nodes:
    Unsurprisingly, Nodes are used as nodes in the abstract syntax tree.  They
    contain all the information parsed by the Handlers, perform any context-
    sensitive validation and generate cacheable PHP code.

REQUIRES PHP >= 5.3

WTFPL (http://sam.zoy.org/wtfpl/)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.