ローカル環境ではちゃんと動いていたのに、公開サーバーにアップすると時刻がずれる・・・毎回のように発生しませんか?
ちょうど9時間くらいずれてるから、タイムゾーンの設定なんだろうな~というのはわかるんですけどね。。
一回設定してしまえばOKなので久々にずれると、どこを修正するんだったかどうやって確認するんだったかすぐ忘れてしまうのでメモしておきます。
カテゴリー: CakePHP (1ページ目 (2ページ中))
CakePHPでGoogleカレンダーに予定を連携させるミッションがあり、やってみました。
API連携の経験はあまりないのできっと色々詰まるんだろうなーとやる前から逃避モードだったのですが、案の定寝ても覚めてもGoogleAPIに頭を占領されることに・・・
何かと分かりづらいポイントは多々あったのですが、自分が一番混乱したところは、開発環境で使っていたネームベースのバーチャルホスト(example.localといった形式で利用していて、localhost:8080のようにポート指定で使っていなかった)がGoogle API認証設定のリダイレクト先に登録できなかったところでしょうか。
本記事ではGoogle API 認証情報の取得、Googleクライアントライブラリのインストールのあたりまでをまとめたいと思います。
久しぶりにまっさらな状態からWEBアプリ(PHP7、CakePHP3.4、MySQL5.5)を作っていくので過程をメモ。
かなり個人的な備忘録になりそうだけど紙に書くとすぐ紛失するので・・・
ソースのバージョン管理・リポジトリの作成、CakePHPのインストール&データベース設定など最初の一回しかやらないからよく忘れるポイントメモ。
Twitter APIの人気PHPライブラリーTwitterOAuthを、CakePHP3に入れてみました。
CakePHP3もTwitterOAuthもComposerに対応しているので、Composerを利用してインストールしてみました。
Composerの使い方がそもそもそんなにわかっていないので、Composerの使い方みたいな内容になってます。
CakePHP3が登場しましたが、CakePHP3ではCakePHP2系からインストール方法やフォルダ構造などが大きく変更されました。
ギタドラ検索 beatpoolはCakePHP2系で作っているので、CakePHP3を触る口実にCakePHP3へのアップデートを検討中です。
アップデートによる恩恵があるかわかりませんが、とりあえず開発環境に入れて触ってみよっかな〜ということでCakePHP3のインストールメモです。
開発環境にはMAMPを使っているので、本記事はMAMP + CakePHP3の情報になります。
CakePHPを使ったウェブアプリケーション一つ目として、(ギタドラ検索 beatpool)をとりあえず完成させました。
とりあえず動かせるレベルの内容がわかるようになったところで、改めて見直しているんですがひとつ大きな勘違いをしていたのでメモ。CakePHPにかぎらず、MVCモデルの理解がまちがってたという感じですが…
久しぶりにcakePHPの記事。
cakePHPではアソシエーションという、テーブルとテーブルの関連付け機能を核にもっていて、なかなか便利です。
- 「ユーザー(User)」は「プロフィール(Profile)」を一つだけ持つ
- 「ユーザー(User)」はお気に入りの「曲(Music)」をたくさん持つ
- 「ユーザー(User)」はお気に入りの「アーティスト(Artist)」をたくさん持つ
- 「ユーザー(User)」はお気に入りの「映画(Movie)」をたくさん持つ
- 「曲(Music)」は提供する「アーティスト(Artist)」を一つだけ持つ
このような構造を設定できるので、「ユーザー(User)」情報を取得した時に、関連する「プロフィール(Profile)」、「曲(Music)」、「アーティスト(Artist)」、「映画(Movie)」さらには曲に関連する「アーティスト(Artist)」のデータまでまとめて取ってくるということが簡単にできます。これがアソシエーションです。
しかし、このアソシエーション。
簡単に設定できるのですが、設定してしまうとユーザー情報と曲のデータだけ欲しいというときにも、アーティストや映画の情報まで引っ付いてきてしまいます。おまけに、不要なアーティストや映画の全フィールドがくっついてきます。
「今回はアーティストと、映画のデータはいらないから」と、関連を一個一個削除することもできますが、ContainableBehaviorを使うと、「曲のデータだけいるよ」と設定すればその他の余計なものが勝手に除外されるので直観的だし楽です。
さらに、フィールドのフィルタリング(曲データの中でも、「曲名」だけ取ってくるなど)も簡単に扱えます。
※ContainableBehaviorはあくまでアソシエーションに対してフィルタリングをするので、アソシエーションの設定と置き換わるものではありません。
前回、【CakePHP】初心者向け・基本の使い方に引き続きCakePHPの基本的な使い方について。
コントローラ(Controller)とビュー(View)を使って、URLをぽちぽちと指定すると自分が作ったViewのctpファイルの内容が画面に出てくる…ところまでやったので、「次はModelの使い方…データベースかな?」と思いきや今回は見た目、ヘッダーやフッターのレイアウトの話です。とりあえず見た目から入ってみましょう。
前回【CakePHP】初心者向けの基本ルールでは、CakePHPの概要と基本的な規約をご紹介しました。今回は、その続きで「なんかよくわからんけど、とりあえず使ってみるか」というレベルの基本の使い方をご紹介します。
CakePHPってなんか便利らしいぞ…という無知のところからはじまり手探りで使いはじめて2年弱。
未だに「なんとなくこうやったらこうなるようだ」というレベルですが、備忘も兼ねて使い方のポイントをまとめてみたいと思います。
インストールについては【MAMP】cakePHPのインストール方法をご覧ください。