Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not yet rated by the users | Total: 159 | All time: 8,989 This week: 660![]() |
Version | License | PHP version | Categories | |||
hackpack 0.1 | GNU General Publi... | 5 | PHP 5, Language |
Description | Author | |||
This class can generate functions to call given class objects. Innovation Award
|
|
To install via composer (http://getcomposer.org/), place the following in your composer.json file:
{
"require": {
"barbosa/hackpack": "dev-master"
}
}
or download package from github.com:
http://github.com/barbosa89/hackpack
Consider the following folder structure:
/project
/src
MainClass.php
Router.php
TextProcessing.php
Request.php
services.php
/test
The services.php file, returns an array with an alias and the corresponding namespace and the following sintax:
<?php
/
* file: services.php
*/
return [
'router' => Some\Namespace\Router::class,
'text' => Some\Namespace\TextProcessing::class,
'request' => Some\Namespace\Request::class
];
In the MainClass.php file, invoke to ServiceLoader::load() method:
<?php
namespace Some\Namespace;
use Barbosa\HackPack\ServiceLoader;
class MainClass
{
public function __construct
{
$services = require 'services.php';
ServiceLoader::load($services);
}
}
The ServiceLoader::load() method loads the objects in function style, wich are available in the application.
Now you can invoke services in functions style from anywhere in the application. Example:
<?php
namespace Some\Namespace;
use Barbosa\HackPack\ServiceLoader;
class MainClass
{
public function __construct
{
$aliases = require 'services.php';
ServiceLoader::load($services);
}
public function resolveUri($uri)
{
return request()->parseUri($uri);
}
}
The object name in function style, depends on the name assigned in the array. This is an alternative to Packager Library.
# Pass parameters to the constructor
request($uri)->parseUri();
# Pass parameters to methods
request()->parseUri($uri);
# Chaining of methods
request()->parseUri($uri)->getResult();
Thanks...
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
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.