2017 © Pedro Peláez
 

joomla-package utilities

Joomla Utilities Package

image

joomla/utilities

Joomla Utilities Package

  • Saturday, July 14, 2018
  • by mbabker
  • Repository
  • 9 Watchers
  • 2 Stars
  • 71,292 Installations
  • PHP
  • 15 Dependents
  • 1 Suggesters
  • 5 Forks
  • 1 Open issues
  • 17 Versions
  • 4 % Grown

The README.md

The Utilities Package Build Status

Latest Stable Version Total Downloads Latest Unstable Version License, (*1)

Using ArrayHelper

toInteger

use Joomla\Utilities\ArrayHelper;

$input = array(
    "width" => "100",
    "height" => "200xxx",
    "length" => "10.3"
);
$result = ArrayHelper::toInteger($input);
var_dump($result);

Result:, (*2)

array(3) {
  'width' =>
  int(100)
  'height' =>
  int(200)
  'length' =>
  int(10)
}

toObject

use Joomla\Utilities\ArrayHelper;

class Book {
    public $name;
    public $author;
    public $genre;
    public $rating;
}
class Author {
    public $name;
    public $born;
}
$input = array(
    "name" => "The Hitchhiker's Guide to the Galaxy",
    "author" => array(
        "name" => "Douglas Adams",
        "born" => 1952,
        "died" => 2001),
    "genre" => "comic science fiction",
    "rating" => 10
);
$book = ArrayHelper::toObject($input, 'Book');
var_dump($book);

Result:, (*3)

class Book#1 (4) {
  public $name =>
  string(36) "The Hitchhiker's Guide to the Galaxy"
  public $author =>
  class Book#2 (6) {
    public $name =>
    string(13) "Douglas Adams"
    public $author =>
    NULL
    public $genre =>
    NULL
    public $rating =>
    NULL
    public $born =>
    int(1952)
    public $died =>
    int(2001)
  }
  public $genre =>
  string(21) "comic science fiction"
  public $rating =>
  int(10)
}

toString

use Joomla\Utilities\ArrayHelper;

$input = array(
    "fruit" => "apple",
    "pi" => 3.14
);
echo ArrayHelper::toString($input);

Result:, (*4)

fruit="apple" pi="3.14"

fromObject

use Joomla\Utilities\ArrayHelper;

class Book {
    public $name;
    public $author;
    public $genre;
    public $rating;
}
class Author {
    public $name;
    public $born;
}

$book = new Book();
$book->name = "Harry Potter and the Philosopher's Stone";
$book->author = new Author();
$book->author->name = "J.K. Rowling";
$book->author->born = 1965;
$book->genre = "fantasy";
$book->rating = 10;

$array = ArrayHelper::fromObject($book);
var_dump($array);

Result:, (*5)

array(4) {
  'name' =>
  string(40) "Harry Potter and the Philosopher's Stone"
  'author' =>
  array(2) {
    'name' =>
    string(12) "J.K. Rowling"
    'born' =>
    int(1965)
  }
  'genre' =>
  string(7) "fantasy"
  'rating' =>
  int(10)
}

getColumn

use Joomla\Utilities\ArrayHelper;

$rows = array(
    array("name" => "John", "age" => 20),
    array("name" => "Alex", "age" => 35),
    array("name" => "Sarah", "age" => 27)
);
$names = ArrayHelper::getColumn($rows, 'name');
var_dump($names);

Result:, (*6)

array(3) {
  [0] =>
  string(4) "John"
  [1] =>
  string(4) "Alex"
  [2] =>
  string(5) "Sarah"
}

getValue

use Joomla\Utilities\ArrayHelper;

$city = array(
    "name" => "Oslo",
    "country" => "Norway"
);

// Prints 'Oslo'
echo ArrayHelper::getValue($city, 'name');

// Prints 'unknown mayor' (no 'mayor' key is found in the array)
echo ArrayHelper::getValue($city, 'mayor', 'unknown mayor');

invert

use Joomla\Utilities\ArrayHelper;

$input = array(
    'New' => array('1000', '1500', '1750'),
    'Used' => array('3000', '4000', '5000', '6000')
);
$output = ArrayHelper::invert($input);
var_dump($output);

Result:, (*7)

array(7) {
  [1000] =>
  string(3) "New"
  [1500] =>
  string(3) "New"
  [1750] =>
  string(3) "New"
  [3000] =>
  string(4) "Used"
  [4000] =>
  string(4) "Used"
  [5000] =>
  string(4) "Used"
  [6000] =>
  string(4) "Used"
}

isAssociative

use Joomla\Utilities\ArrayHelper;

$user = array("id" => 46, "name" => "John");
echo ArrayHelper::isAssociative($user) ? 'true' : 'false'; // true

$letters = array("a", "b", "c");
echo ArrayHelper::isAssociative($letters) ? 'true' : 'false'; // false

pivot

use Joomla\Utilities\ArrayHelper;

$movies = array(
    array('year' => 1972, 'title' => 'The Godfather'),
    array('year' => 2000, 'title' => 'Gladiator'),
    array('year' => 2000, 'title' => 'Memento'),
    array('year' => 1964, 'title' => 'Dr. Strangelove')
);
$pivoted = ArrayHelper::pivot($movies, 'year');
var_dump($pivoted);

Result:, (*8)

array(3) {
  [1972] =>
  array(2) {
    'year' =>
    int(1972)
    'title' =>
    string(13) "The Godfather"
  }
  [2000] =>
  array(2) {
    [0] =>
    array(2) {
      'year' =>
      int(2000)
      'title' =>
      string(9) "Gladiator"
    }
    [1] =>
    array(2) {
      'year' =>
      int(2000)
      'title' =>
      string(7) "Memento"
    }
  }
  [1964] =>
  array(2) {
    'year' =>
    int(1964)
    'title' =>
    string(15) "Dr. Strangelove"
  }
}

sortObjects

use Joomla\Utilities\ArrayHelper;

$members = array(
    (object) array('first_name' => 'Carl', 'last_name' => 'Hopkins'),
    (object) array('first_name' => 'Lisa', 'last_name' => 'Smith'),
    (object) array('first_name' => 'Julia', 'last_name' => 'Adams')
);
$sorted = ArrayHelper::sortObjects($members, 'last_name', 1);
var_dump($sorted);

Result:, (*9)

array(3) {
  [0] =>
  class stdClass#3 (2) {
    public $first_name =>
    string(5) "Julia"
    public $last_name =>
    string(5) "Adams"
  }
  [1] =>
  class stdClass#1 (2) {
    public $first_name =>
    string(4) "Carl"
    public $last_name =>
    string(7) "Hopkins"
  }
  [2] =>
  class stdClass#2 (2) {
    public $first_name =>
    string(4) "Lisa"
    public $last_name =>
    string(5) "Smith"
  }
}

arrayUnique

use Joomla\Utilities\ArrayHelper;

$names = array(
    array("first_name" => "John", "last_name" => "Adams"),
    array("first_name" => "John", "last_name" => "Adams"),
    array("first_name" => "John", "last_name" => "Smith"),
    array("first_name" => "Sam", "last_name" => "Smith")
);
$unique = ArrayHelper::arrayUnique($names);
var_dump($unique);

Result:, (*10)

array(3) {
  [0] =>
  array(2) {
    'first_name' =>
    string(4) "John"
    'last_name' =>
    string(5) "Adams"
  }
  [2] =>
  array(2) {
    'first_name' =>
    string(4) "John"
    'last_name' =>
    string(5) "Smith"
  }
  [3] =>
  array(2) {
    'first_name' =>
    string(3) "Sam"
    'last_name' =>
    string(5) "Smith"
  }
}

flatten

``` php use Joomla\Utilities\ArrayHelper;, (*11)

$array = array( 'flower' => array( 'sakura' => 'samurai', 'olive' => 'peace' ) );, (*12)

// Flatten the nested array and separate the keys by a dot (".") $flattenend1 = ArrayHelper::flatten($array);, (*13)

echo $flattenend1['flower.sakura']; // 'samuari', (*14)

// Custom separator $flattenend2 = ArrayHelper::flatten($array, '/');, (*15)

echo $flattenend2['flower/olive']; // 'peace', (*16)


## Installation via Composer Add `"joomla/utilities": "~1.0"` to the require block in your composer.json and then run `composer install`. ```json { "require": { "joomla/utilities": "~1.0" } }

Alternatively, you can simply run the following from the command line:, (*17)

composer require joomla/utilities "~1.0"

The Versions

14/07 2018

dev-2.0-dev

dev-2.0-dev https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+ GPL-2.0-or-later

The Requires

 

The Development Requires

framework utilities joomla

30/06 2018

dev-master

9999999-dev https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+ GPL-2.0-or-later

The Requires

 

The Development Requires

framework utilities joomla

15/03 2018

1.5.0

1.5.0.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0-or-later

The Requires

 

The Development Requires

framework utilities joomla

10/12 2016

1.4.1

1.4.1.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

05/09 2015

1.4.0

1.4.0.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

28/03 2015

1.3.3

1.3.3.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

16/03 2015

1.3.2

1.3.2.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

05/03 2015

1.3.1

1.3.1.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

24/02 2015

1.3.0

1.3.0.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

03/09 2014

1.2.0

1.2.0.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

framework utilities joomla

09/02 2014

1.1.1

1.1.1.0 https://github.com/joomla-framework/utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

22/11 2013

1.1.0

1.1.0.0 https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

23/10 2013

1.0

1.0.0.0 https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

22/10 2013

1.0-beta3

1.0.0.0-beta3 https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

16/08 2013

1.0-beta2

1.0.0.0-beta2 https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

16/08 2013

1.0-beta

1.0.0.0-beta https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla

04/06 2013

1.0-alpha

1.0.0.0-alpha https://github.com/joomla/joomla-framework-utilities

Joomla Utilities Package

  Sources   Download

GPL-2.0+

The Requires

 

framework utilities joomla