Download the PHP package human018/laravel-earth without Composer
On this page you can find all versions of the php package human018/laravel-earth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download human018/laravel-earth
More information about human018/laravel-earth
Files in human018/laravel-earth
Package laravel-earth
Short Description A multilingual Laravel package to populate continents, countries, regions and cities for planet Earth
License MIT
Informations about the package laravel-earth
Table of Contents
-
About The Project
- Built With
-
Getting Started
- Prerequisites
- Installation
- Usage
- Contributing
- License
- Contact
- Acknowledgements
About The Project
A multilingual Laravel package to populate continents, countries, regions, cities, languages and currencies for planet earth.
Built With
- PHP
- Laravel
Getting Started
This project is built using Laravel 8 and is not currently backwards compatible with older versions.
Prerequisites
- PHP 7.4
- Laravel 8, 9, 10 or 11
- Guzzle
- ZipArchive
- Countrylayer API
Because this library uses an NPM package as one of it's data sources, you will need to allow composer to download an NPM package. To do so add the following property (or append to the already existing property) to the repositories
array/object in your composer.json file.
API Access
You will require an API key with countrylayer in order to use its services. A free key is available and all that will be required for the seed. Once you have your API key add it to your .env file.
Installation
-
Using composer install the package to your project.
-
Run database migration.
-
This package seeds the database with various sources (listed below) so an initialisation script need to be run in order to access these third-party sources and seed your database.
-
(Optional) If you want to seed all the cities in a certain country pass in the country code. Note that this may take a long time depending on the country you're seeding.
- (Optional) You can also seed all major cities (over 15,000 in pop.).
Usage
All models are located in the same namespace and can be imported into your local project.
A couple of helpful methods for finding the correct resource are included. This means the resource name or code can be used to quickly locate a resource. Additionally, relationships between models are connected in a standard way and can be chained like usual.
Retrieving timezones are slightly more complicated. Currently timezones are connected to Countries rather than Regions or Cities. Because a country can have multiple UTC zones, and in turn those zones can belong to the same Timezone, retrieving the relationship just requires us to use the unique query modifier.
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Simon Woodard - @human018
Project Link: https://github.com/Human018/laravel-earth
Acknowledgements
All versions of laravel-earth with dependencies
laravel/framework Version ^8.0|^9.0|^10.0|^11.0
npm-asset/country-region-data Version ^1.7.0
staudenmeir/eloquent-has-many-deep Version ^1.7