Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zend.stdlib.hydrator.namingstrategy.underscorenamingstrategy.html

Size:9833
Storage flags:no_autoload,compress/gzip (30%)

UnderscoreNamingStrategy — Zend Framework 2 2.4.2 documentation

UnderscoreNamingStrategy

Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy Converts snake case strings (e.g. foo_bar_baz) to studly case strings (e.g. fooBarBaz) and vice versa.

Example Usage

<?php
$namingStrategy = new \Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy();
echo $namingStrategy->extract('foo_bar'); // outputs: foo_bar
echo $namingStrategy->extract('Foo_Bar'); // outputs: foo_bar
echo $namingStrategy->extract('FooBar'); // outputs: foo_bar

echo $namingStrategy->hydrate('fooBar'); // outputs: fooBar
echo $namingStrategy->hydrate('FooBar'); // outputs: fooBar
echo $namingStrategy->hydrate('Foo_Bar'); // outputs: fooBar
?>

This strategy can be used in hydrators to dictate how keys should be mapped.

<?php
class Foo {
    public $fooBar;
}

$hydrator = new \Zend\Stdlib\Hydrator\ObjectProperty();
$hydrator->setNamingStrategy(new \Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy());

$foo = new Foo();
$hydrator->hydrate(['foo_bar' => 123],$foo);

print_r($foo); // Foo Object ( [fooBar] => 123 )
print_r($hydrator->extract($foo)); // Array ( [foo_bar] => 123 )
?>

Table Of Contents

Previous topic

MapNamingStrategy

Next topic

Introduction to Zend\Tag

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to UnderscoreNamingStrategy on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net