nicolaskion/sde
SDE (Simple Data Encryption) is a lightweight Laravel/PHP package that provides simple helpers to encrypt and decrypt sensitive data, making it easy to secure application values with minimal configuration and a clean, developer-friendly API.
composer require nicolaskion/sde, then publish the package assets: config (config/sde.php), migrations, and any console commands the service provider registers. Run php artisan migrate before anything else — the models assume the shipped schema, including the newly added 2D position columns on solarsystems.config/sde.php (source URL, storage path, connection/chunk settings) and then the DTO classes under the package's Data/Dto namespace. As of v0.6.1 there is a DTO for essentially every core entity (types, dogma effects, effect modifiers, solar systems), so the DTOs are the fastest way to learn the shape of the data without opening the raw YAML/JSON.php artisan sde:..., check php artisan list for the exact signature), then SolarSystem::where('name', 'Jita')->first(). From there you can immediately read both the legacy 3D position vector and the new 2D position fields.EffectDto and EffectModifierDto now carry nullable fields, so a "normalise to your own value object" step is worth the twenty lines.distance2d(SolarSystem $a, SolarSystem $b), so switching representations later is one edit.sde database connection is the cleanest way to keep a ~million-row import from competing with app tables.composer.json, snapshot the seeded DB, and rebuild rather than incrementally patching rows.EffectDto/EffectModifierDto fields nullable. If you wrote non-null assumptions against 0.6.0, those will now fail more quietly (or loudly) — audit any ->modifier->value style chains and use null-safe access.jove_observatories.php now declares strict_types=1. If you extend or override that data file, integer strings (e.g. "30000142") will throw under strict comparison instead of coercing. Same applies to any DTO constructor you call by hand.correct jove systems, remove false systems from jove list) mean any cached copy of the Jove region is suspect. If you already seeded, re-run the import or at least re-seed that dataset — do not trust a pre-0.6.1 snapshot.--no-interaction, disable query logging, and consider chunk-size tuning via config if you hit memory ceilings.How can I help you explore Laravel packages today?