MotoJapan's Tech-Memo

技術めも

【 位置情報まわりWebサービス 基礎知識3 】 位置情報を活用したプライベートサービス作り③ - CakePHP -

始まりましたね、なんでしたっけ、GW。
そう、ゴールデンワーキングなるもの!

この一週間でリファクタリングできるかが勝負です。


さて、短いスパンで書くということなので続きです。
今日はの足場を作ります。

「作りたいもの」

Service1.美味しいものを投稿できるサービス
Service2.投稿した情報をあとで見返せるサービス
Service3.見返すときはスマホかなにかで現在地測位して近いお店を調べたい。

僕がやってしまったハマりポイントと共に覚書。




前回の投稿でXammpでローカルサーバー化したマシーンに、
「美味しいものを投稿できるサービス」を実装すべく、CakePHPを入れてみます。

これで、とりあえずは図1のように家の中でスマホ、PCから美味しい情報を見ることができます。

図1:イメージ図
f:id:motojapan:20150501213927p:plain


1. CakePHPとは


概要:
CakePHPPHP用の高速開発フレームワークです。アプリケーションの開発、メンテナンス、インストールのための拡張性の高い仕組みを提供します。 MVC や ORM といった、よく知られているデザインパターンを、「設定より規約優先」の考え方で利用して、CakePHPは開発コストや開発者が書く必要のあるコードを減らします。(本家抜粋)

[本家URL]http://cakephp.jp/

簡単に言うと、学習コストと引き換えに、開発コストを抑えて、簡単にWebサービスが作れるフレームワークです。
自力でHTML,CSS,PHPガリガリでもいいのですが、特にやりたいことに色がない場合はこれで十分ですね。
逆にカスタマイズは学習コストが付きまといます。


2.CakePHPをインストール&設定


2.1 本家からインストーラをダウンロードして、インストールど~ん

インストール先は僕の場合Xammpのディレクトリ内でここにしました
C:\xampp\htdocs\blog

2.2 インストールしたままでは使えないので、設定します。

database.phpを作成

C:\xampp\htdocs\blog\app\Configにある

database.php.defaultを同じディレクトリにコピーして、
database.phpにrename ( <- これが実際に使われます )

database.phpを設定

このCakePHPは、Postgres, MySQL, etc 各種DBが使える優れもので、その設定をここでします。
自分用にこんな感じで★を書き換えます。


class DATABASE_CONFIG {

public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'dbuser',
'password' => 'password_meal', ★ ご自由に
'database' => 'database_meal', ★ ご自由に
'prefix' => '',
'encoding' => 'utf8',
);

public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'test_database_name',
'prefix' => '',
'encoding' => 'utf8',
);
}


さて、ここまでで大事な下準備は終わりです。

次回はMySQLでデータベースを作ってきます。


PS. 昨日チャリの後輪、パクられました。
よきGWをノシ