1. Go to this page and download the library: Download zjkiza/default-access library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zjkiza / default-access example snippets
use Zjk\Accessor\DefaultAccessor;
$accessor = DefaultAccessor::create();
$object = new SomeClass();
$accessor->setValue($object, 'propertyName', 'value');
$value = $accessor->getValue($object, 'propertyName');
public function someAction(Zjk\Accessor\Contract\DefaultAccessInterface $accessor)
{
$accessor->callSetter($object, 'setProperty', 'value');
}
use Zjk\Accessor\Contract\DefaultAccessInterface;
use Zjk\Accessor\DefaultAccessor;
public function register()
{
$this->app->bind(DefaultAccessInterface::class, function () {
return DefaultAccessor::create();
});
}
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Zjk\Accessor\Contract\DefaultAccessInterface;
class ExampleController extends Controller
{
protected DefaultAccessInterface $accessor;
public function __construct(DefaultAccessInterface $accessor)
{
$this->accessor = $accessor;
}
public function modifyObject()
{
$object = new SomeClass();
// Set a private property
$this->accessor->setValue($object, 'privateProperty', 'newValue');
// Get the private property's value
$value = $this->accessor->getValue($object, 'privateProperty');
return response()->json(['value' => $value]);
}
}