PHPackages                             lyssal/simple-location-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. lyssal/simple-location-bundle

ActiveSymfony-bundle

lyssal/simple-location-bundle
=============================

The simple location bundle permits create dynamic typed locations (countries, cities, etc).

0.3(1y ago)117MITPHPPHP ~8

Since Mar 8Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Lyssal/simple-location-bundle)[ Packagist](https://packagist.org/packages/lyssal/simple-location-bundle)[ RSS](/packages/lyssal-simple-location-bundle/feed)WikiDiscussions main Synced 5d ago

READMEChangelog (3)Dependencies (4)Versions (7)Used By (0)

The Lyssal simple location bundle
=================================

[](#the-lyssal-simple-location-bundle)

The simple location bundle permits create dynamic typed locations.

Installation
------------

[](#installation)

```
composer require lyssal/simple-location-bundle
```

Usage
-----

[](#usage)

### Create your Location entity

[](#create-your-location-entity)

```
namespace App\Entity\Location;

use Doctrine\ORM\Mapping as ORM;
use Lyssal\SimpleLocationBundle\Doctrine\Repository\LocationRepository;
use Lyssal\SimpleLocationBundle\Entity\Location as LyssalLocation;

#[ORM\Entity(repositoryClass: LocationRepository::class)]
class Location extends LyssalLocation
{
    // If you want to add properties
}
```

### Exemples of use

[](#exemples-of-use)

```
$continent = (new LocationType())->setName('Continent');
$country = (new LocationType())->setName('Country')->addParent($continent);
$city = (new LocationType())->setName('City')->addParent($country);

$europa = (new Location())->setName('Europe')->setType($continent);
$america = (new Location())->setName('America')->setType($continent);
$asia = (new Location())->setName('Asia')->setType($continent);

$france = (new Location())->setName('France')->setType($country)->addParent($europa);
$italy = (new Location())->setName('Italy')->setType($country)->addParent($europa);
$sovietUnion = (new Location())->setName('Soviet Union')->setType($country)->addParent($europa)->addParent($asia);

$paris = (new Location())->setName('Paris')->setType($city)->addParent($france);

$countrySet = (new LocationType())->setName('Country set')->addChild($country);

$northAmerica = (new Location())->setName('North America')->setType($countrySet)->addParent($america);
$usa = (new Location())->setName('United States of America')->setType($country)->addParent($america)->addParent($northAmerica);

$europeanUnion = (new Location())->setName('European Union')->setType($countrySet)->addParent($europa)->addChild($france)->addChild($italy);

$germany = (new Location())->setName('Germany')->setType($country)->addParent($europa)->addParent($europeanUnion);
$westGermany = (new Location())->setName('Federal Republic of Germany')->setType($country)->addParent($germany)->addParent($europa)->addParent($europeanUnion);
$eastGermany = (new Location())->setName('German Democratic Republic')->setType($country)->addParent($sovietUnion)->addParent($germany)->addParent($europa);
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~329 days

Total

5

Last Release

577d ago

PHP version history (2 changes)0.1PHP &gt;=7.0

0.2PHP ~8

### Community

Maintainers

![](https://www.gravatar.com/avatar/04c355bdbe1840d9dcb9755715587ae210f1e52dabba760e9db760e5378757e7?d=identicon)[Lyssal](/maintainers/Lyssal)

---

Top Contributors

[![Lyssal](https://avatars.githubusercontent.com/u/10855303?v=4)](https://github.com/Lyssal "Lyssal (6 commits)")

---

Tags

locationcountrycity

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/lyssal-simple-location-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/lyssal-simple-location-bundle/health.svg)](https://phpackages.com/packages/lyssal-simple-location-bundle)
```

###  Alternatives

[khsing/world

Provide countries, states, and cities relations database.

461146.3k1](/packages/khsing-world)[nevadskiy/laravel-geonames

Populate your database using the GeoNames service.

2715.1k](/packages/nevadskiy-laravel-geonames)[dipeshsukhia/laravel-country-state-city-data

Country State City Data Provider

8230.8k](/packages/dipeshsukhia-laravel-country-state-city-data)[epigra/trgeozones

Türkiye İl İlçe Semt Muhit Mahalle ve Posta Kodları Laravel Paketi. Adds Turkish Geographical Zones Support to your project including Cities, Districts and Countries in Turkish

8820.3k](/packages/epigra-trgeozones)[yurtesen/geonames

Geonames importer and models for Eloquent ORM

311.7k](/packages/yurtesen-geonames)[kartik-v/yii2-ipinfo

An IP address information display widget for Yii 2.0 with country flag and geo position info.

2832.6k1](/packages/kartik-v-yii2-ipinfo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
