GeoIP2-php/doc/v0.5.0/class-GeoIp2.Database.Reader.html
2013-10-21 11:15:29 -07:00

459 lines
12 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="ApiGen 2.8.0" />
<title>Class GeoIp2\Database\Reader | GeoIP2 PHP API v0.5.0</title>
<script type="text/javascript" src="resources/combined.js?394153670"></script>
<script type="text/javascript" src="elementlist.js?3580680120"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360" />
</head>
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
<div id="groups">
<h3>Namespaces</h3>
<ul>
<li class="active"><a href="namespace-GeoIp2.html">GeoIp2<span></span></a>
<ul>
<li class="active"><a href="namespace-GeoIp2.Database.html">Database</a>
</li>
<li><a href="namespace-GeoIp2.Exception.html">Exception</a>
</li>
<li><a href="namespace-GeoIp2.Model.html">Model</a>
</li>
<li><a href="namespace-GeoIp2.Record.html">Record</a>
</li>
<li><a href="namespace-GeoIp2.WebService.html">WebService</a>
</li>
</ul></li>
<li><a href="namespace-PHP.html">PHP</a>
</li>
</ul>
</div>
<hr />
<div id="elements">
<h3>Classes</h3>
<ul>
<li class="active"><a href="class-GeoIp2.Database.Reader.html">Reader</a></li>
</ul>
</div>
</div>
</div>
<div id="splitter"></div>
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" class="text" />
<input type="submit" value="Search" />
</form>
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="namespace-GeoIp2.Database.html" title="Summary of GeoIp2\Database"><span>Namespace</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
</ul>
<ul>
<li>
<a href="geoip2-php-api-v0-5-0-api-documentation.zip" title="Download documentation as ZIP archive"><span>Download</span></a>
</li>
</ul>
</div>
<div id="content" class="class">
<h1>Class Reader</h1>
<div class="description">
<p>Instances of this class provide a reader for the GeoIP2 database format. IP
addresses can be looked up using the <code>country</code> and <code>city</code>
methods. We also provide <code>cityIspOrg</code> and <code>omni</code> methods
to ease compatibility with the web service client, although we may offer the
ability to specify additional databases to replicate these web services in the
future (e.g., the ISP/Org database).</p>
<p><strong>Usage</strong></p>
<p>The basic API for this class is the same for every database. First, you
create a reader object, specifying a file name. You then call the method
corresponding to the specific database, passing it the IP address you want to
look up.</p>
<p>If the request succeeds, the method call will return a model class for the
method you called. This model in turn contains multiple record classes, each of
which represents part of the data returned by the database. If the database does
not contain the requested information, the attributes on the record class will
have a <code>&lt;span class="php-keyword1"&gt;null&lt;/span&gt;</code>
value.</p>
<p>If the address is not in the database, an <code><a href="class-GeoIp2.Exception.AddressNotFoundException.html">GeoIp2\Exception\AddressNotFoundException</a></code> exception will be thrown. If an
invalid IP address is passed to one of the methods, a SPL \InvalidArgumentException will be thrown. If the database is corrupt or
invalid, a \MaxMind\Db\Reader\InvalidDatabaseException will be
thrown.</p>
</div>
<dl class="tree">
<dd style="padding-left:0px">
<b><span>GeoIp2\Database\Reader</span></b>
implements
<a href="class-GeoIp2.ProviderInterface.html"><span>GeoIp2\ProviderInterface</span></a>
</dd>
</dl>
<div class="info">
<b>Namespace:</b> <a href="namespace-GeoIp2.html">GeoIp2</a>\<a href="namespace-GeoIp2.Database.html">Database</a><br />
<b>Located at</b> <a href="source-class-GeoIp2.Database.Reader.html#9-149" title="Go to source code">GeoIp2/Database/Reader.php</a><br />
</div>
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#43-58" title="Go to source code">__construct</a>( <span>string <var>$filename</var></span>, <span>array <var>$locales</var> = <span class="php-keyword1">array</span>(<span class="php-quote">'en'</span>) </span> )</code>
<div class="description short">
<p>Constructor.</p>
</div>
<div class="description detailed hidden">
<p>Constructor.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$filename</var></dt>
<dd><code>string</code><br>$filename The path to the GeoIP2 database file.</dd>
<dt><var>$locales</var></dt>
<dd><code>array</code><br>$locales List of locale codes to use in name property from most preferred to
least preferred.</dd>
</dl></div>
<h4>Throws</h4>
<div class="list">
<code>MaxMind\Db\Reader\InvalidDatabaseException</code><br>if the database is corrupt or invalid<br />
</div>
</div>
</div></td>
</tr>
<tr data-order="city" id="_city">
<td class="attributes"><code>
public
<code><a href="class-GeoIp2.Model.City.html">GeoIp2\Model\City</a></code>
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_city">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#60-75" title="Go to source code">city</a>( <span>string <var>$ipAddress</var></span> )</code>
<div class="description short">
<p>This method returns a GeoIP2 City model.</p>
</div>
<div class="description detailed hidden">
<p>This method returns a GeoIP2 City model.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$ipAddress</var></dt>
<dd><code>string</code><br>$ipAddress IPv4 or IPv6 address as a string.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Model.City.html">GeoIp2\Model\City</a></code></code><br />
</div>
<h4>Throws</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Exception.AddressNotFoundException.html">GeoIp2\Exception\AddressNotFoundException</a></code></code><br>if the address is not in the database.<br />
<code>MaxMind\Db\Reader\InvalidDatabaseException</code><br>if the database is corrupt or invalid<br />
</div>
<h4>Implementation of</h4>
<div class="list"><code><a href="class-GeoIp2.ProviderInterface.html#_city">GeoIp2\ProviderInterface::city()</a></code></div>
</div>
</div></td>
</tr>
<tr data-order="country" id="_country">
<td class="attributes"><code>
public
<code><a href="class-GeoIp2.Model.Country.html">GeoIp2\Model\Country</a></code>
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_country">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#77-92" title="Go to source code">country</a>( <span>string <var>$ipAddress</var></span> )</code>
<div class="description short">
<p>This method returns a GeoIP2 Country model.</p>
</div>
<div class="description detailed hidden">
<p>This method returns a GeoIP2 Country model.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$ipAddress</var></dt>
<dd><code>string</code><br>$ipAddress IPv4 or IPv6 address as a string.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Model.Country.html">GeoIp2\Model\Country</a></code></code><br />
</div>
<h4>Throws</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Exception.AddressNotFoundException.html">GeoIp2\Exception\AddressNotFoundException</a></code></code><br>if the address is not in the database.<br />
<code>MaxMind\Db\Reader\InvalidDatabaseException</code><br>if the database is corrupt or invalid<br />
</div>
<h4>Implementation of</h4>
<div class="list"><code><a href="class-GeoIp2.ProviderInterface.html#_country">GeoIp2\ProviderInterface::country()</a></code></div>
</div>
</div></td>
</tr>
<tr data-order="cityIspOrg" id="_cityIspOrg">
<td class="attributes"><code>
public
<code><a href="class-GeoIp2.Model.CityIspOrg.html">GeoIp2\Model\CityIspOrg</a></code>
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_cityIspOrg">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#94-109" title="Go to source code">cityIspOrg</a>( <span>string <var>$ipAddress</var></span> )</code>
<div class="description short">
<p>This method returns a GeoIP2 City/ISP/Org model.</p>
</div>
<div class="description detailed hidden">
<p>This method returns a GeoIP2 City/ISP/Org model.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$ipAddress</var></dt>
<dd><code>string</code><br>$ipAddress IPv4 or IPv6 address as a string.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Model.CityIspOrg.html">GeoIp2\Model\CityIspOrg</a></code></code><br />
</div>
<h4>Throws</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Exception.AddressNotFoundException.html">GeoIp2\Exception\AddressNotFoundException</a></code></code><br>if the address is not in the database.<br />
<code>MaxMind\Db\Reader\InvalidDatabaseException</code><br>if the database is corrupt or invalid<br />
</div>
<h4>Implementation of</h4>
<div class="list"><code><a href="class-GeoIp2.ProviderInterface.html#_cityIspOrg">GeoIp2\ProviderInterface::cityIspOrg()</a></code></div>
</div>
</div></td>
</tr>
<tr data-order="omni" id="_omni">
<td class="attributes"><code>
public
<code><a href="class-GeoIp2.Model.Omni.html">GeoIp2\Model\Omni</a></code>
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_omni">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#111-126" title="Go to source code">omni</a>( <span>string <var>$ipAddress</var></span> )</code>
<div class="description short">
<p>This method returns a GeoIP2 Omni model.</p>
</div>
<div class="description detailed hidden">
<p>This method returns a GeoIP2 Omni model.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$ipAddress</var></dt>
<dd><code>string</code><br>$ipAddress IPv4 or IPv6 address as a string.</dd>
</dl></div>
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Model.Omni.html">GeoIp2\Model\Omni</a></code></code><br />
</div>
<h4>Throws</h4>
<div class="list">
<code><code><a href="class-GeoIp2.Exception.AddressNotFoundException.html">GeoIp2\Exception\AddressNotFoundException</a></code></code><br>if the address is not in the database.<br />
<code>MaxMind\Db\Reader\InvalidDatabaseException</code><br>if the database is corrupt or invalid<br />
</div>
<h4>Implementation of</h4>
<div class="list"><code><a href="class-GeoIp2.ProviderInterface.html#_omni">GeoIp2\ProviderInterface::omni()</a></code></div>
</div>
</div></td>
</tr>
<tr data-order="close" id="_close">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_close">#</a>
<code><a href="source-class-GeoIp2.Database.Reader.html#142-148" title="Go to source code">close</a>( )</code>
<div class="description short">
<p>Closes the GeoIP2 database and returns the resources to the system.</p>
</div>
<div class="description detailed hidden">
<p>Closes the GeoIP2 database and returns the resources to the system.</p>
</div>
</div></td>
</tr>
</table>
</div>
<div id="footer">
GeoIP2 PHP API v0.5.0 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>