lassehaslev / universal-objects
There is no license information available for the latest version (0.1.0) of this package.
0.1.0
2016-12-12 16:46 UTC
Requires (Dev)
- orchestra/testbench: 3.3.x
- phpunit/phpunit: ^5.6
This package is not auto-updated.
Last update: 2024-11-23 21:09:55 UTC
README
Create global classes with ease!
Install
composer require lassehaslev/universal-objects
Usage
Extend global behavior:
class MyClass extends LasseHaslev\UniversalObjects\Object {}
Create
Create a global instance simple with create or get. First time you call this method you create a new instance. But all the next time you call these methods, you simple return the existsing instance for that particular object.
MyClass::create(); // Create new or gets existing instance of my class // or use alias "get" function MyClass::get(); // alias for create()
Create different global object to use other places. Note that the first instance will still be used, and 'second' will only create a new instance
$firstInstance = MyClass::create(); // Creates new instance $secondInstance = MyClass::create( 'second' ); // Creates new instance $firstInstance = MyClass::get(); // Get first instance $secondInstance = MyClass::get( 'second' ); // Get second instance
To force create a new instance you can call createNew function
$firstInstance = MyClass::create(); // Creates new instance $firstInstance = MyClass::createNew(); // Creates new instance
Destroy
You can also destroy instances you have created. If you run create again, they will create new fresh instances
$firstInstance = MyClass::create(); // Creates new instance $secondInstance = MyClass::createNew( 'second' ); // Creates new instance $firstInstance = MyClass::destroy(); // Deletes instance $firstInstance $secondInstance = MyClass::destroy( 'second' ); // Deletes instance $seondInstance
$firstInstance = MyClass::create(); // Creates new instance $secondInstance = MyClass::createNew( 'second' ); // Creates new instance $firstInstance = MyClass::destroyAll(); // Destroy all instances of class ($firstInstance, $secondInstance)
Development
# Install dependencies
composer install
# Install dependencies for automatic tests
yarn
Runing tests
# Run one time npm run test # Automaticly run test on changes npm run dev