Skip to content

An experimental library that lets you create PHP arrays in a more aesthetic manner

Notifications You must be signed in to change notification settings

juliend2/Aesthete.php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Aesthete.php

“One whose pursuit and admiration of beauty is regarded as excessive or affected.”
thefreedictionary.com

Aesthete.php is an experimental library that lets you create arrays in a more “aesthetic” manner.
Returned arrays descend from the ArrayObject SPL class. Which is nice because it lets you add some methods, such as each().

Usage

First, require it:

require_once('aesthete.php');

Now, lets say i want to create an array of string. Simple. In Ruby i would do it like this:

%w( my array of words )

But PHP’s array() syntax is kinda verbose for such a simple array:

array('my', 'array', 'of', 'words')

With Aesthete.php, you can create an array of words like this instead:

w(' my array of words ')

Then you can loop into it like this. For FREE! :

w(' this is an array of words ')->each(function($w){
  echo "{$w}<br/>";
});

Or you can create an array of any types and loop into it:

a('one', 'two', 3, 4)->each(function($thing){
  echo "{$thing}<br/>";
});

Or a hash of strings and loop into it:

h("
 key            = value
 another        = string
 number         = 23
 a_long_string  = this is a long string
")->each(function($k, $v){
  echo "{$k} => {$v}<br/>";
});

See test/tests.php and examples/* for more usage examples.

Minimum requirements

You’ll need to have PHP >5.3 because of the AestheteHash and AestheteArray’s each methods that takes an anonymous function.

Special Thanks

Thanks to Alexandre Gomes Gaigalas for suggesting the use of parse_ini_string() for parsing the h() function’s argument. Awesome stuff are possible now.

About

An experimental library that lets you create PHP arrays in a more aesthetic manner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages