chevere/var-support

A chevere var-support package

Installs: 17 859

Dependents: 3

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 2

pkg:composer/chevere/var-support

1.0.1 2024-01-08 13:57 UTC

This package is auto-updated.

Last update: 2026-02-01 15:19:18 UTC


README

Chevere

Build Code size Apache-2.0 PHPStan Mutation testing badge

Quality Gate Status Maintainability Rating Reliability Rating Security Rating Coverage Technical Debt CodeFactor Codacy Badge

Summary

Extra tools for handling variables.

Installing

VarSupport is available through Packagist and the repository source is at chevere/var-support.

composer require chevere/var-support

ObjectVariable

The ObjectVariable component is in charge of handling an object variable.

Creating ObjectVariable

use Chevere\VarSupport\ObjectVariable;

$object = new ObjectVariable($var);
$var = $object->variable();

Assert clonable

Use assertClonable to assert if the object variable can be cloned.

$boolean = $object->assertClonable();

StorableVariable

The StorableVariable component is in charge of handling a variable that can be stored (state).

A storable variable for Chevere is any PHP variable that can be stored as a string representation. All variable types can be stored with the exception of type resource.

Creating StorableVariable

use Chevere\VarSupport\StorableVariable;

$storable = new StorableVariable($var);
$var = $storable->variable();

Export

The toExport method exports the variable, this return value should be used when creating a file return.

$export = $storable->toExport();
file_put_contents(
    'file-return.php',
    '<?php return '.$export.';'
);

Serialize

The toSerialize method provides a shortcut for serialize($var).

$string = $storable->toSerialize();

Documentation

Documentation is available at chevere.org.

License

Copyright 2023 Rodolfo Berrios A.

Chevere is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.