HNG ToolSet

By the Power of PHPNG
Funcdown PHP Extension
Locator PHP Extension
Shadowdoc PHP Extension
CRWD PHP Extension

Rapid project development with HardcoderNG

  • When all is in tune with the rest within .. is what HNG refers to.
  • HardcoderNG is PHPNG based toolset/stack of slowly and carefuly written code for developing various kind of applications and to ease one programmer/coder's life a bit - if possible.
  • At this time of writing, HardcoderNG is in early (baby) stage of development, and God only knows when first production ready version will come out. Nonetheless, some of the functionalities are already quite ready for playing, testing, production, and as time passes on, there will be more and more of that kind.

Application scripts utilization

  • Like each and every other similar PHP software aroung the web, this one is broken to smaller pieces. There are three types of groups in which those smaller pieces reside and are called extensions, modules or libraries. For both backend and frontend utilization.

  • PHP utilization

    • Funcdown - Templating system, language/text separator/extractor, markup generator. A multipurpose metaprogramming extension.
    • CRWD - CREATE READ WRITE DESTROY. That is, some sort of CRUD (create, read, update, delete) operations. The essence of the HNG Databases and HNG Persistance library.
    • Locator - Very powerful file/dir search/locate/display mechanism. Can be used for various purposes. Suitable for browser-based file-manager backend.
    • Shadowdoc - Descriptor type extension for generating documentation and a few things more out of PHP source code.
  • Javascript utilization

    • Hardcoder related

      • DOC.js (or literal documentDotJs) is Javascript object/module (small and effective tool), with no pollyfills or backward compatibility. It is very powerful DOM manipulator, with basic user interface control support. In other words, DOC.js is set of Vanilla JS instructions focused on everyhing crucial trough Object.prototype which is carrying Your unique ideal name.
      • Right now, @ this time, DOC.js is still in it's final development stage, thus doesn't have it's documentation yet. It is fully production ready (this segment You are reading is made possible because of DOC.js), but, only developer it self knows how to use it properly. Soon or never, it will be available for the whole world to try it out.
    • Foreign ™

      • highlight.js - Syntax highlighting for the Web
      • ace.js - The high performance code editor for the web. Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate. It can be easily embedded in any web page and JavaScript application. Ace is maintained as the primary editor for Cloud9 IDE and is the successor of the Mozilla Skywriter (Bespin) project.

Before You dive into Funcdown, You'll find quick examples below for three possible funcdown input types, and how to parse/transform funcdown syntax to html markup.


INSTANCING

  • Somewhere in Your script, preferably at the top of it ..
     require_once '/path/to/funcdown/extension.php';
    $funcdown = new \H\Ext\Funcdown\ObjectInstance(5); 

BASIC USAGE

  • Funcdown code (input value for $funcdown->parse() method) can come in a form of value of PHP $variable - or directly:
  • - as an string
  • - as an valid filepath
  • - as an compliant array

STRING AS INPUT

  • You write this ..
     $funcdown->parse('D[p{This is my paragraph text}]', false);
    echo $funcdown->release(); 

ARRAY AS INPUT

  • You write it like this ..
      $funcdown->parse ([
      'D' => [
        'p' => 'This is my paragraph text'
      ]
    ], false);
    echo $funcdown->release(); 

FILEPATH AS INPUT

  • Note the extension
     ## my_funcdown_file.fncd
    
    D [
      p{This is my paragraph text}
    ] 
     echo $funcdown->parse('/path/to/my_funcdown_file.fncd')->release(); 

OUTPUT

  • You get the sample below, no matter which input type You choose.
     <div>
    <p>This is my paragraph text</p>
    </div>  

File Locator PHP Extension

No content yet ..

Shadowdoc - source code descriptor

shadowdoc is a PHP extension that gives a developer insight and description of OOPHP code. It is in it's early stage of development and will be available for download and personal usage very soon.


   array (
  'crowd' => 
  array (
    'funcdown~man~0-syntax' => 
    array (
      'holder_level' => 2,
      'visible_entry' => 'true',
      'link_category' => 'child',
      'parent_holder' => 'funcdown~man',
      'keyword_holder' => 'funcdown~man~0-syntax',
      'entry_text' => 'Syntax',
      'entry_title' => 'Control Philosophy',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown~man~1-tags' => 
    array (
      'holder_level' => 2,
      'visible_entry' => 'false',
      'link_category' => 'child',
      'parent_holder' => 'funcdown~man',
      'keyword_holder' => 'funcdown~man~1-tags',
      'entry_text' => 'Tags',
      'entry_title' => 'Suspect names',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown~man~3-attributes' => 
    array (
      'holder_level' => 2,
      'visible_entry' => 'false',
      'link_category' => 'child',
      'parent_holder' => 'funcdown~man',
      'keyword_holder' => 'funcdown~man~3-attributes',
      'entry_text' => 'Attributes',
      'entry_title' => 'Target Parameters',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown~man~2-strings' => 
    array (
      'holder_level' => 2,
      'visible_entry' => 'false',
      'link_category' => 'child',
      'parent_holder' => 'funcdown~man',
      'keyword_holder' => 'funcdown~man~2-strings',
      'entry_text' => 'Strings',
      'entry_title' => 'Inner Content',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown~man' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'true',
      'link_category' => 'child',
      'parent_holder' => 'funcdown',
      'keyword_holder' => 'funcdown~man',
      'entry_text' => 'Manual',
      'entry_title' => 'Funcdown Documentation',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown~licence' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'true',
      'link_category' => 'child',
      'parent_holder' => 'funcdown',
      'keyword_holder' => 'funcdown~licence',
      'entry_text' => 'Licence',
      'entry_title' => 'Funcdown Licence Information',
      'last_mod' => '1551902790.7422',
    ),
    'funcdown' => 
    array (
      'holder_level' => 0,
      'visible_entry' => 'true',
      'link_category' => 'parent',
      'parent_holder' => '~',
      'keyword_holder' => 'funcdown',
      'entry_text' => 'PHP Funcdown',
      'entry_title' => 'Funcdown - Markup language generator',
      'last_mod' => '1551902790.7422',
    ),
    'shadowdoc' => 
    array (
      'holder_level' => 0,
      'visible_entry' => 'false',
      'link_category' => 'parent',
      'parent_holder' => '~',
      'keyword_holder' => 'shadowdoc',
      'entry_text' => 'PHP Shadowdoc',
      'entry_title' => 'Shadowdoc - PHP source code viewer and descriptor',
      'last_mod' => '1551902790.7422',
    ),
    'crwd' => 
    array (
      'holder_level' => 0,
      'visible_entry' => 'false',
      'link_category' => 'parent',
      'parent_holder' => '~',
      'keyword_holder' => 'crwd',
      'entry_text' => 'PHP CRWD',
      'entry_title' => ' \'Create Read Write Destroy\' - simple file packer/reader/destroyer',
      'last_mod' => '1551902790.7422',
    ),
    'locator' => 
    array (
      'holder_level' => 0,
      'visible_entry' => 'false',
      'link_category' => 'parent',
      'parent_holder' => '~',
      'keyword_holder' => 'locator',
      'entry_text' => 'PHP Locator',
      'entry_title' => 'Locator - simple file search tool',
      'last_mod' => '1551902790.7422',
    ),
  ),
  'system' => 
  array (
    'index' => 
    array (
      'holder_level' => 0,
      'visible_entry' => 'true',
      'link_category' => 'root',
      'parent_holder' => '/',
      'keyword_holder' => '/',
      'entry_text' => 'HNG Toolset',
      'entry_title' => 'Home Page',
      'last_mod' => '1551902790.7422',
    ),
    'index~account' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'false',
      'link_category' => 'anchor',
      'parent_holder' => 'index',
      'keyword_holder' => 'index~account',
      'entry_text' => 'Account',
      'entry_title' => 'Your Account',
      'last_mod' => '1551902790.7422',
    ),
    'index~contact' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'false',
      'link_category' => 'anchor',
      'parent_holder' => 'index',
      'keyword_holder' => 'index~contact',
      'entry_text' => 'Contact',
      'entry_title' => 'Word exchange',
      'last_mod' => '1551902790.7422',
    ),
    'index~copyleft' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'true',
      'link_category' => 'anchor',
      'parent_holder' => 'index',
      'keyword_holder' => 'index~copyleft',
      'entry_text' => 'Copyleft',
      'entry_title' => 'Useless piles of text',
      'last_mod' => '1551902790.7422',
    ),
    'index~sitemap' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'true',
      'link_category' => 'anchor',
      'parent_holder' => 'index',
      'keyword_holder' => 'index~sitemap',
      'entry_text' => 'Sitemap',
      'entry_title' => 'All links at one place',
      'last_mod' => '1551902790.7422',
    ),
    'index~help' => 
    array (
      'holder_level' => 1,
      'visible_entry' => 'true',
      'link_category' => 'anchor',
      'parent_holder' => 'index',
      'keyword_holder' => 'index~help',
      'entry_text' => 'Sitehelp',
      'entry_title' => '@ Your service',
      'last_mod' => '1551902790.7422',
    ),
  ),
)

 

Create Read Write Destroy

CRWD is a small and effective PHP extension (mechanism) that falls into some sort of a CRUD operations category. It creates, read, write/edit and eventually destroys any kind of scalar and non-scalar data into a .php file in a form of hard-sealed and compressed string within a C-style single line comment. It's documentation is not written yet, therefore it is still not yet available for wide usage. Stay tuned.

©
2019-12-08T08:23:53+01:00