imo-tikuwa/cakephp-zipcode-jp

ZipcodeJp plugin for CakePHP

Installs: 123

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:cakephp-plugin

v2.2.0 2022-12-17 07:25 UTC

README

Installation

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

# for CakePHP4
composer require imo-tikuwa/cakephp-zipcode-jp "2.*"

# for CakePHP3
composer require imo-tikuwa/cakephp-zipcode-jp "1.*"

Load the plugin in Application.php.

class Application extends BaseApplication
{
    public function bootstrap()
    {
        $this->addPlugin('ZipcodeJp', ['routes' => true]);
    }
}

Initialization

Execute migration to create zipcode_jps table.
When you execute the initialize_zipcode_jp command, the latest postal code data of Japan Post will be acquired and stored in the database.

bin\cake.bat migrations migrate --plugin ZipcodeJp
bin\cake.bat initialize_zipcode_jp

Usage(server side)

$zipcode = '1010032';

$this->ZipcodeJps = $this->fetchTable('ZipcodeJp.ZipcodeJps');
$result = $this->ZipcodeJps->findByZipcode($zipcode);

Usage(client side)

<input type="text" id="zipcode" maxlength="7" placeholder="ここに郵便番号を入力" />
$("#zipcode").on("keyup", function(){
    $("#pref").text('');
    $("#city").text('');
    $("#address").text('');
    if ($(this).val().length == 7) {
        let requesturl = '/zipcode-jp/' + $(this).val() + '.json';
        $.ajax({
            type: 'get',
            url: requesturl,
            dataType: 'json'
        }).done(function(result) {
            if (result != null) {
                $("#pref").text(result['pref']);
                $("#city").text(result['city']);
                $("#address").text(result['address']);
            }
        });
    }
});