Recommend this page to a friend! |
Download .zip |
Info | Example | View files (15) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2022-10-21 (23 days ago) | Not enough user ratings | Total: 55 This week: 2 | All time: 10,278 This week: 349 |
Version | License | PHP version | Categories | |||
redbox-hydrate 1.0 | MIT/X Consortium ... | 5 | PHP 5, Data types, Language |
Description | Author | |
This class can popular object variables from array data. |
Hydrating an object is fancy talk for populating properties on PHP objects. This Hydrator helps you to quickly hydrate new class instances and returns the populated result. *Please note* it does not mether if you have private or protected properties in your class it will take care of that for you. Look in the examples folder for basic examples.
I have gone to great length to provide a special (read sexy) and tiny API for you. You can use any kind of API style you see fit in your operation for example.
In this example we will hydrate a new instance of class User and return it as $result1 using with with() function.
use Redbox\Hydrate\Hydrator;
/
* Method 1
*/
$result1 = Hydrator::hydrate(new User())->with(
[
'username' => 'abc',
'password' => 'pass'
]
);
use function Redbox\Hydrate\Helpers\Hydrate;
/
* Method 2
*/
$result2 = Hydrate(new User())->with(
[
'username' => 'abc',
'password' => 'pass'
]
);
Plain old PHP, create your instance of the hydrator then call the with( ) method.
*Please note* There is something off with this method. If your doing this inside a loop it might consume some memory because of all the instances you create. Please don't forget to use the unset function if you are inside any kind of loop.
use Redbox\Hydrate\Hydrator;
/
* Method 3
*/
$hydrator = new Hydrator(new User());
$result3 = $hydrator->with(
[
'username' => 'abcs',
'password' => 'pass'
]
);
unset($hydrator);
Below are the minimum requirements to use this package:
Using composer:
$ composer require redbox/hydrate
If you download the package from a website (for example github.io or phpclasses.org or any other) you will need composer installed on your machine. The reason for this is that Redbox-hydrate comes without the vendor directory which is required to run the package.
First of all if you don't have composer installed you can find it here. Follow the instructions and please don't get intimidated in fact its really really easy to install.
In the this sample i will assume you have composer installed (on any machine). Go to the package root (where composer.json is located) and execute the following command.
$ composer install --no-dev
Now your almost ready to go. In your project require the redbox-hydrate.php (located in the package root). Assuming that Redbox-hydrate was installed in ./lib/redbox-hydrate/ your php file would look like this.
<?php
require 'lib/redbox-hydrate/redbox-hydrate.php';
// more of your nice code below
And you are ready use Redbox-hydrate in your application.
Redbox-hydrate is created and maintained by Johnny Mast. For feature requests or suggestions you could consider sending me an e-mail.
Redbox-hydrate is released under the MIT public license.
<https://github.com/johnnymast/redbox-hydrator/blob/master/LICENSE.md>
Oh and if you've come down this far, you might as well follow me on twitter.
Files |
File | Role | Description | ||
---|---|---|---|---|
examples (2 files) | ||||
src (1 file, 1 directory) | ||||
tests (3 files) | ||||
.scrutinizer.yml | Data | Auxiliary data | ||
.travis.yml | Data | Auxiliary data | ||
CHANGELOG.md | Data | Auxiliary data | ||
composer.json | Data | Auxiliary data | ||
LICENSE.md | Lic. | License text | ||
phpunit.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation | ||
redbox-hydrate.php | Aux. | Auxiliary script |
Files | / | tests |
File | Role | Description |
---|---|---|
HydratorBasicTests.php | Class | Class source |
HydratorExceptionTests.php | Class | Class source |
SampleUserClass.php | Class | Class source |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.
Related pages |
Github Page Browse the package source |