{"id":15169823,"url":"https://github.com/coderius/yii2-geo-ip","last_synced_at":"2026-02-06T23:34:15.036Z","repository":{"id":56955639,"uuid":"128633956","full_name":"coderius/yii2-geo-ip","owner":"coderius","description":"Yii2 extention. This extension allows you to get geo data by ip address.","archived":false,"fork":false,"pushed_at":"2023-06-28T10:27:05.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-04T22:30:26.030Z","etag":null,"topics":["geo","ip","maxmind","yii2","yii2-extension"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-08T11:27:36.000Z","updated_at":"2023-08-12T11:16:37.000Z","dependencies_parsed_at":"2024-09-02T17:52:52.433Z","dependency_job_id":"e9c31d70-5fe7-4bed-826f-f134bc0bc539","html_url":"https://github.com/coderius/yii2-geo-ip","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"7aff03e1b84e1e63b75e1c934697a97448413d08"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/coderius/yii2-geo-ip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderius%2Fyii2-geo-ip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderius%2Fyii2-geo-ip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderius%2Fyii2-geo-ip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderius%2Fyii2-geo-ip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderius","download_url":"https://codeload.github.com/coderius/yii2-geo-ip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderius%2Fyii2-geo-ip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29180476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T23:15:33.022Z","status":"ssl_error","status_checked_at":"2026-02-06T23:15:09.128Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geo","ip","maxmind","yii2","yii2-extension"],"created_at":"2024-09-27T07:22:49.869Z","updated_at":"2026-02-06T23:34:15.020Z","avatar_url":"https://github.com/coderius.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Yii 2 GeoIP extension\n=====================\n\n[![Latest Stable Version](https://poser.pugx.org/coderius/yii2-geo-ip/v/stable)](https://packagist.org/packages/coderius/yii2-geo-ip)\n[![Total Downloads](https://poser.pugx.org/coderius/yii2-geo-ip/downloads)](https://packagist.org/packages/coderius/yii2-geo-ip)\n[![Latest Unstable Version](https://poser.pugx.org/coderius/yii2-geo-ip/v/unstable)](https://packagist.org/packages/coderius/yii2-geo-ip)\n[![License](https://poser.pugx.org/coderius/yii2-geo-ip/license)](https://packagist.org/packages/coderius/yii2-geo-ip)\n[![Monthly Downloads](https://poser.pugx.org/coderius/yii2-geo-ip/d/monthly)](https://packagist.org/packages/coderius/yii2-geo-ip)\n\n\nThis extension allows you to get geo data by ip address.\n\nCurrently available:\n\n* All fields of the database Maxmind\n\n\n## Install\n\nRun\n\n```bash\n$ php composer.phar require coderius/yii2-geo-ip \"~1.0\"\n```\nOr equal\n```bash\n$ composer require coderius/yii2-geo-ip \"~1.0\"\n```\n\n#### OR \n\nadd to your `composer.json`\n\n```json\n{\n    \"require\": {\n        \"coderius/yii2-geo-ip\": \"~1.0\"\n    }\n}\n```\n\nand run\n\n```bash\n$ php composer update\n```\n\n\n## Usage\n\n###  Component registration in app config \n\n```php\n\u003c?php\n\n$config = [\n    ...\n    'components' =\u003e [\n        'geoip' =\u003e ['class' =\u003e 'coderius\\geoIp\\GeoIP'],\n    ]\n    ...\n];\n```\n\nsomewhere in code\n\n```php\n\n$ip = Yii::$app-\u003egeoip-\u003eip(); // current user ip\n$ip = Yii::$app-\u003egeoip-\u003eip(null, false);// current user ip without catche\n\n$ip = Yii::$app-\u003egeoip-\u003eip(\"208.113.83.165\");\n```\n\n\n```php\n\n$ip = Yii::$app-\u003egeoip-\u003eip(\"208.113.83.165\")//or Yii::$app-\u003egeoip-\u003eip() for current user\n\n\n$ip-\u003ecity; // \"San Francisco\"\n$ip-\u003ecountry; // \"United States\"\n$ip-\u003elocation-\u003elng; // 37.7898\n$ip-\u003elocation-\u003elat; // -122.3942\n$ip-\u003eisoCode;\n\n//etc.\n```\n\n### Provide a custom database (for example, if you own a licence)\n\n```php\n\u003c?php\n\n$config = [\n    ...\n    'components' =\u003e [\n        'geoip' =\u003e [\n            'class' =\u003e 'coderius\\geoIp\\GeoIP',\n            'dbPath' =\u003e Yii::getAlias('@example/maxmind/database/city.mmdb')\n        ],\n    ]\n    ...\n];\n```\n\n### Advanced usage\n\n\n```\n\nTo see all the available properties, you need to do the following:\n\n```php\nvar_dump($ip-\u003ecity);\nvar_dump($ip-\u003econtinent);\nvar_dump($ip-\u003ecountry);\nvar_dump($ip-\u003elocation);\nvar_dump($ip-\u003epostal);\nvar_dump($ip-\u003eregisteredCountry);\nvar_dump($ip-\u003esubdivisions);\ndie;\n\n```\n\nThe result can be like :\n\n```php\n\n\nobject(coderius\\geoIp\\City)#196 (2) {\n  [\"_geoname_id\":\"coderius\\geoIp\\City\":private]=\u003e\n  int(5099836)\n  [\"_names\":\"coderius\\geoIp\\City\":private]=\u003e\n  array(4) {\n    [\"en\"]=\u003e\n    string(11) \"Jersey City\"\n    [\"ja\"]=\u003e\n    string(24) \"ジャージーシティ\"\n    [\"ru\"]=\u003e\n    string(21) \"Джерси-Сити\"\n    [\"zh-CN\"]=\u003e\n    string(9) \"泽西市\"\n  }\n}\nobject(coderius\\geoIp\\Continent)#197 (3) {\n  [\"_code\":\"coderius\\geoIp\\Continent\":private]=\u003e\n  string(2) \"NA\"\n  [\"_geoname_id\":\"coderius\\geoIp\\Continent\":private]=\u003e\n  int(6255149)\n  [\"_names\":\"coderius\\geoIp\\Continent\":private]=\u003e\n  array(8) {\n    [\"de\"]=\u003e\n    string(11) \"Nordamerika\"\n    [\"en\"]=\u003e\n    string(13) \"North America\"\n    [\"es\"]=\u003e\n    string(13) \"Norteamérica\"\n    [\"fr\"]=\u003e\n    string(17) \"Amérique du Nord\"\n    [\"ja\"]=\u003e\n    string(15) \"北アメリカ\"\n    [\"pt-BR\"]=\u003e\n    string(17) \"América do Norte\"\n    [\"ru\"]=\u003e\n    string(31) \"Северная Америка\"\n    [\"zh-CN\"]=\u003e\n    string(9) \"北美洲\"\n  }\n}\nobject(coderius\\geoIp\\Country)#198 (3) {\n  [\"_iso_code\":\"coderius\\geoIp\\Country\":private]=\u003e\n  string(2) \"US\"\n  [\"_geoname_id\":\"coderius\\geoIp\\Country\":private]=\u003e\n  int(6252001)\n  [\"_names\":\"coderius\\geoIp\\Country\":private]=\u003e\n  array(8) {\n    [\"de\"]=\u003e\n    string(3) \"USA\"\n    [\"en\"]=\u003e\n    string(13) \"United States\"\n    [\"es\"]=\u003e\n    string(14) \"Estados Unidos\"\n    [\"fr\"]=\u003e\n    string(11) \"États-Unis\"\n    [\"ja\"]=\u003e\n    string(21) \"アメリカ合衆国\"\n    [\"pt-BR\"]=\u003e\n    string(14) \"Estados Unidos\"\n    [\"ru\"]=\u003e\n    string(6) \"США\"\n    [\"zh-CN\"]=\u003e\n    string(6) \"美国\"\n  }\n}\nobject(coderius\\geoIp\\Location)#199 (5) {\n  [\"_accuracy_radius\":\"coderius\\geoIp\\Location\":private]=\u003e\n  int(1000)\n  [\"_latitude\":\"coderius\\geoIp\\Location\":private]=\u003e\n  float(40.7209)\n  [\"_longitude\":\"coderius\\geoIp\\Location\":private]=\u003e\n  float(-74.0468)\n  [\"_metro_code\":\"coderius\\geoIp\\Location\":private]=\u003e\n  int(501)\n  [\"_time_zone\":\"coderius\\geoIp\\Location\":private]=\u003e\n  string(16) \"America/New_York\"\n}\nobject(coderius\\geoIp\\Postal)#200 (3) {\n  [\"_code\":\"coderius\\geoIp\\Postal\":private]=\u003e\n  string(5) \"07302\"\n  [\"_geoname_id\":\"coderius\\geoIp\\Postal\":private]=\u003e\n  NULL\n  [\"_names\":\"coderius\\geoIp\\Postal\":private]=\u003e\n  array(0) {\n  }\n}\nobject(coderius\\geoIp\\RegisteredCountry)#201 (3) {\n  [\"_iso_code\":\"coderius\\geoIp\\RegisteredCountry\":private]=\u003e\n  string(2) \"US\"\n  [\"_geoname_id\":\"coderius\\geoIp\\RegisteredCountry\":private]=\u003e\n  int(6252001)\n  [\"_names\":\"coderius\\geoIp\\RegisteredCountry\":private]=\u003e\n  array(8) {\n    [\"de\"]=\u003e\n    string(3) \"USA\"\n    [\"en\"]=\u003e\n    string(13) \"United States\"\n    [\"es\"]=\u003e\n    string(14) \"Estados Unidos\"\n    [\"fr\"]=\u003e\n    string(11) \"États-Unis\"\n    [\"ja\"]=\u003e\n    string(21) \"アメリカ合衆国\"\n    [\"pt-BR\"]=\u003e\n    string(14) \"Estados Unidos\"\n    [\"ru\"]=\u003e\n    string(6) \"США\"\n    [\"zh-CN\"]=\u003e\n    string(6) \"美国\"\n  }\n}\narray(1) {\n  [0]=\u003e\n  object(coderius\\geoIp\\Subdivision)#202 (3) {\n    [\"_iso_code\":\"coderius\\geoIp\\Subdivision\":private]=\u003e\n    string(2) \"NJ\"\n    [\"_geoname_id\":\"coderius\\geoIp\\Subdivision\":private]=\u003e\n    int(5101760)\n    [\"_names\":\"coderius\\geoIp\\Subdivision\":private]=\u003e\n    array(7) {\n      [\"en\"]=\u003e\n      string(10) \"New Jersey\"\n      [\"es\"]=\u003e\n      string(12) \"Nueva Jersey\"\n      [\"fr\"]=\u003e\n      string(10) \"New Jersey\"\n      [\"ja\"]=\u003e\n      string(27) \"ニュージャージー州\"\n      [\"pt-BR\"]=\u003e\n      string(12) \"Nova Jérsia\"\n      [\"ru\"]=\u003e\n      string(19) \"Нью-Джерси\"\n      [\"zh-CN\"]=\u003e\n      string(12) \"新泽西州\"\n    }\n  }\n}\n\n\n```\n\nWhen try to convert object to string like below, returned data from method _toString in equal classes objects:\n\n```php\necho $ip-\u003ecity;\necho \"\\n\";\necho $ip-\u003econtinent;\necho \"\\n\";\necho $ip-\u003ecountry;\necho \"\\n\";\necho $ip-\u003elocation;\necho \"\\n\";\necho $ip-\u003epostal;\necho \"\\n\";\necho $ip-\u003eregisteredCountry;\necho \"\\n\";\necho $ip-\u003esubdivisions[0];\necho \"\\n\";\n\n```\n\nOutput:\n\n```php\nJersey City\nNorth America\nUnited States\n-74.0468 40.7209\n07302\nUnited States\nNew Jersey\n\n\n```\n\nFor example get more info from city object:\n\n```php\n\n$ip-\u003ecity-\u003eGeonameId;\n$lang = Yii::$app-\u003elanguage;\n\necho $ip-\u003ehasCity(\"names\") ? $ip-\u003ecity-\u003enames-\u003e$lang : \"empty result...\";\n//or\necho $ip-\u003ehasCity() ? $ip-\u003ecity : \"empty result...\";//from _toString return $ip-\u003ecity-\u003enames-\u003een\n\n```\n\nThis product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderius%2Fyii2-geo-ip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderius%2Fyii2-geo-ip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderius%2Fyii2-geo-ip/lists"}