CakePHP のメモ

普段あまり使用しないフレームワークの知識は覚えてられないので,個人的なメモを残しておく.

▼ ページ遷移する方法

ブラウザのURL表記が変更される場合とされない場合があるので,適宜検討する.

1
2
3
<a href="">タグを使用する
$this->redirect( 移動先アドレス );
$this->setAction( アクション名 );

▼ ビルダー

ViewBuilder
QueryBuilder

▼ ヘルパー

・ヘルパーとは,ビューの作成で利用するもの.
・ビューの機能を拡張する仕組み.
面倒な HTML テキストを簡単な呼び出しで自動生成してくれる.
Html Helper
Form Helper
(チェックボックス,ラジオボタン,ドロップダウン,テキストボックスなど)

▼ コンポーネント

・コントローラの機能を拡張するプログラム.
Flashコンポーネント
CSRFコンポーネント
Cookieコンポーネント
Securityコンポーネント
RequestHandlerコンポーネント
Authコンポーネント
・メモ:Auth コンポーネントは,DBのpasswordカラムにハッシュ値をセットしておかないと認証できない.

▼ ビヘイビア

・モデルの機能を拡張するプログラム.

▼ プラグイン

・MVCの全てをパッケージにまとめたもの.
・「plugins」フォルダにコピーすることで利用できる.

▼ レイアウト,エレメント

ビューーテンプレートの組み合わせを定義するのがレイアウト.

エレメントはビューの一部分を共通化して再利用可能にしたもの.
Cake/src/Template/Element/ の .ctp ファイル.

▼ コントローラーなどを生成する方法

テーブルを作成しておき,アプリフォルダで,以下のコマンドを実行することで自動生成できる.
以下の例では books テーブルを作成しておく.

$ php bin/cake.php bake all books

BooksTable クラスが用意される.
また,コントローラーからは,$this->Books で参照することが出来る.

・コントローラ クラスのメンバ変数は public にする.
・コントローラ クラスは,namespace App\Controller; に配置する.

▼ コントローラーからビューに値を渡す方法

コントローラー側で以下の処理を行うと,ビュー側に指定した名前(result)の変数が用意され,値をセットできる.
$this->set(‘result’, $result);

▼ クラス名称について

クラス名称は,キャメル記法にする.
HelloController.php
クラス名は大文字から
メソッドは小文字から

データベースのテーブルは「複数形」
モデルは,「単数形」
テーブルクラスは,「複数形+Table」
エンティティクラスは,「単数形」
ビューテンプレートファイル名は,アクションメソッド名をアンダースコアでつなぐ.
(クラスに関連しないファイルは,アンダースコア記法.)

▼ パス指定について

.ctp でのパスの指定は以下のようにする
HelloController クラスに sendForm メソッドがある場合,

1
<form method="get" action="./hello/sendForm">

▼ 設定ファイル

データベース設定は,Config/app.php に保持されている.

▼ 多言語対応

翻訳ファイルを作成する
$php bin/cake.php i18n

▼ その他

・デフォルトページは,webroot フォルダにある.

リクエスト情報の取得は,以下のようにする.
$str = $this->request->query[‘text1’];

・ショートタグ

1
<?=  は,<?php echo のショートタグ

・スタイルシート
スタイルシートは,webroot/css/cake.hello.css などのように配置する.

・OS の違いを吸収する定数
定数:DIRECTORY_SEPARATOR (ファイルパスの区切り文字)

osx では,ファイルパスの区切り文字は,/ を使用.
namespace は,\ を使用.

Y!モバイル SMS/MMSスパム対策を行った件

たまに SMS/MMS スパムが飛んでくるのですが,これがとても気になることがあります.
あまり気にすると精神衛生上良くないので無視していたのですが,少し対策について確認してみました.
Y!モバイルの迷惑メール設定に「URLリンク付きメールの拒否」というのがあったので,設定して少し様子を見ることとしました.

▼ Y!モバイルの迷惑メール設定手順

1. My Y!mobile にログイン
2. メール設定/迷惑メール対策を選択
3. 「URLリンク付きメールの拒否」-「利用中」に設定する

「利用する」に設定すると、URLを含んでいれば災害用伝言板のメッセージ等であっても拒否します。
受信したいメールがある場合は、「受信許可リスト」をあわせてご利用ください。

との説明文があります.

Sass ビルド環境構築のメモ

osx で Sass のビルド環境を作る際のメモ.

1. Node.js のインストール
2. 作業用フォルダの作成 (package.jsonなど)
3. Gulp のインストール
4. Sass 環境に必要なパッケージをインストール
5. gulp でビルドする
$ sudo npm install gulp -g  // gulp インストール
$ sudo npm install          // Sass 環境に必要なパッケージをインストール

補足:
Atom に EditorConfig プラグインを適用するとチームでコードスタイルを統一することができる.

セットアップ時に以下のエラーが出力されてビルド出来なかったので,以下のコマンドで対処した.
permission denied, mkdir /node_modules/node-sass/build’

$ npm config set user 0
$ npm config set unsafe-perm true

参考: Ubuntuにnode-sassを入れようとしたらつまづいた話
参考: 『現場のプロが本気で教える HTML/CSSデザイン講義』のサンプルデータ
参考: 「Web制作者のためのSassの教科書 改訂2版 Webデザインの現場で必須のCSSプリプロセッサ」の公式サポートサイト

PhpStorm の日本語ヘルプを読んでみた件

久しぶりに PhpStorm を使用していて日本語ヘルプの存在を知りました.
英語が得意ではないので,必要最低限の箇所しか読んでいなかったのですが,これを機会にザーと読み流して気になるところをメモしておきます.

▼ 気になる項目

VimエディターとしてPhpStormを使用する
Toolbox Appを使ってPhpStormを管理する

JetBrains ToolboxアプリはJetBrains製品をインストールするための推奨ツールです。
早期アクセス・プログラム(英語)(EAP)リリースを含むさまざまな製品または同じ製品の複数のバージョンをインストールおよび保守し、必要に応じて更新およびロールバックし、ツールを簡単に削除するために使用します。

PhpStormワークショップ資料
コードとパスの自動補完
ソースコードナビゲーション
PhpStormのキーボードショートカットをマスターする

▼ キーボード ショートカット

どこでも検索 PhpStormウィンドウの右上隅にある虫めがねアイコン search_everywhere をクリックするか、Shift を2回押します
基本補完 ⌃Space
宣言に移動 ⌘B
実装に移動 ⌥⌘B
エラーまたは警告間を移動する F2 または ⇧F2
ナビゲーションにフォーカスを移動する ⌘↑
ウィンドウからエディターにフォーカスを切り替える

PhpStorm で JavaScript をデバッグする方法

PhpStorm で JavaScript のデバッグができるとは知っていたが試したことがなかった.
やってみたらとても簡単だったので,設定ポイントをメモしておきます.

▼ 設定ポイント

– Run/Debug Configurations([Run] – [Edit Configurations…] を選択)に JavaScript デバッグ設定ができているか?

JavaScript デバッグ設定ができていれば,エディタの右上のプルダウンリストで選択できる.
ブレークポイントを指定して,デバッグ ボタンを押下すると,ブラウザが起動し,指定行でブレークすることができる.

CakePHPをセットアップするために composer を使用したら遅すぎた件

数年ぶりに composer コマンドを使用したら以下のエラーが出力された.
以前はこのようなエラーが出力されたことがなかったので,手順を再確認したが問題が見つからず困っていたところ,どうやら composer のレスポンスが遅い時があるとのこと.
有志の方がサーバを立てているとのことだったので,そちらを利用させてもらうことでエラーを回避することができた.

▼ エラー内容

The "https://repo.packagist.org/packages.json" file could not be downloaded: failed to open stream: Operation timed out
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info

▼ PHPライブラリ リポジトリ https://packagist.org のミラーサイト

https://packagist.jp

// enableにする場合
$ composer config -g repos.packagist composer https://packagist.jp

// disableにする場合
$ composer config -g --unset repos.packagist

CakePHPをインストールする方法

ひさしぶりにCakePHPをインストールしたので,手順をメモしておきます.

1. osxにMAMPをインストール

XAMPPを使用する方法もあるが,私にはMAMPを使用した方が簡単だった.
mod_rewrite.soなど使用できる状態か?httpd.confファイルの設定を確認しておく.

2. PHP intlが有効化確認する

php -i | grep intl

有効でないなら,php.iniの設定を確認する.

extension=php_intl.so

3. Composerをインストール

curl -sS https://getcomposer.org/installer | php

パスが通った場所に移動しておく

mv composer.phar /usr/local/bin/composer

コマンドとして認識できているかテスト

composer

4. CakePHPをセットアップする

composer create-project --prefer-dist cakephp/app cake3アプリ名

Y!mobileの一括設定でエラーになる場合に確認する項目

ワイモバイルSIMをSIMフリーiPhoneで利用に際して,一括設定するためプロファイルのインストールを行った際にエラーが発生しました.
解決するのに少し苦労したのでメモしておきます.

Y!mobileが提供している資料で【SIMフリースマートフォン 設定ガイド】によると,

Y!mobileメール,ソフトバンクWi-Fiスポット設定などをiPhoneに設定する場合,
一括設定を行うことで,iPhoneに必要な設定をまとめて行うことができます.

とあるので,早速,プロファイルのインストールを行いました.

手順は以下でも紹介されています.
【参照:[iPhone]一括設定の設定方法を教えてください。】

Y!mobileサービスの初期登録完了画面の「一括設定を開始」をタップすることでプロファイルをインストールすることができるのですが,私の場合ここでエラーとなり,プロファイルのインストールが行うことができませんでした.orz

私の場合は,Yahoo! Japanに登録されているメールアドレス情報に現在使用不可メールアドレスが登録されていたためエラーとなっていたようでした.
エラーがでてインストールが完了しない方は,以前にソフトバンク スマートログインなど使用していた方は確認すると良いかもしれません.

ソフトバンクからY!mobile(ワイモバイル)に変更した件

ソフトバンクの料金が高く感じていたので,「SIMフリー端末+ワイモバイルSIM」にMNP乗り換えしました.
その際,手続きで気づいたことをメモしておきます.

私の場合使用したいサービスは以下の通り.

・1ヶ月の通信料は,約10GB程度
・ある程度の通信品質は保証して欲しい
・定額通話プランがある
・iPhone テザリングが無料でできる
・問い合わせサービスは必要ない.

ある程度の品質が担保されるのであれば,適正価格は負担しても良いという考えです.
これの点について,ワイモバイルでサービスが提供されているようであったため,試してみることとしました.

また,ソフトバンクからワイモバイルにMNP乗り換えに際しては,実店舗に出向く必要はありませんでした
全て電話にて手続きすることができました.
ですが,以下の点は注意が必要です.

▼ MNP乗り換え時の注意点

・MNP転出手数料と契約解除料が必要.
・MNP予約番号は発行日を含めて,15日間のみ有効
・2018/10月時点,ワイモバイルからSIMを購入した場合,宅配業者から直接受け取る必要がある.
 (宅配ロッカーでの受取はできない)
・回線切り替え時間が明確でない
・新しい iPhone をアクティベートには通信する必要がある.

▼ ワイモバイルへのMNP乗り換え手続き
手続きの手順は以下の通りです.

1. 新しく使用する端末のSIMロックを解除する.もしくは,新しくSIMフリー端末を購入する
2. MNP予約番号を取得する
3. ワイモバイルでSIMのみを購入する
4. 回線きりかえ,端末のアクティベーション

▼ 1. 新しく使用する端末のSIMロックを解除する

SIMロック解除について調べてみると,

他社へ乗り換え(MNP)または、ワイモバイルへ番号移行(MNP契約)し、ご利用中の携帯電話機器を継続利用される場合は、乗り換え(MNP)や番号移行(MNP契約)の転出手続き前に必ずSIMロック解除を実施してください。
乗り換え(MNP)や番号移行(MNP契約)転出後のSIMロック解除は、ソフトバンクショップのみでのお手続き(有料)となります。

とありますので,事前に使用予定がある端末をSIMロックを解除しておきます.
新しくSIMフリー端末を用意する場合は必要ありませんが,今後も使用する可能性がある iPhone 6S Plus をSIMロック解除しました.
SIMロック解除は実店舗で行うと手数料がかかります.
(SIMロック解除手数料[3,000円])
ですから,無料で手続きできる My SoftBank で手続きした方が良いです.
My SoftBankでのお手続き SIMロック解除手数料[無料]

【参照:ソフトバンクの携帯電話を他社で利用する/SIMロック解除】

【参照:IMEI番号の調べ方】

SIMロック解除の手続き自体はとても簡単です.
ですが,手続き自体が完了しているのか?状態を確認することができないので,その点は少々不安になる点ではあります.
問い合わせにて使用中の端末がロックされているのか?確認することができる場合もあるようですが,あまり気にしなくても良いかもしれません.

【参照:ケータイなんでもサポート窓口】

今回,私は iPhone6S Plus を3年ほど使用していたので,SIMフリー端末を Appleストアにて iPhoneXR を購入しました.
10月末に実店舗で実機を確認してからネットで注文しましたが,5日程度で届きました.

▼ 2. MNP予約番号を取得する

【参照:ソフトバンクからYモバイルへMNPする手続き】

ソフトバンク携帯電話から *5533
受付時間:9:00~20:00

上記の問い合わせ先から MNP予約番号を取得します.

番号に電話してMNP予約番号を発行してもらいます.
ソフトバンクの場合,番号の通知は MMS で届きます.
土曜日の夕方に連絡して,10分程度は待たされました.
最初に目的,MNP予約番号の発行などプッシュ入力します.
担当者からの問いには,基本「YES」と言っておけば,5分程度で番号を発行してもらえます.
メッセージは2通来ますが,タイトルが【MNP予約番号通知】のメッセージのみ参照すればOKです.
重要なことは,予約番号が発行日を含めて15日間のみ有効と言うことです.

当然と言えば当然ですが転出の事業者に 3240 円 が必要です.
あと,転入に際しては事務手数料?が必要な場合があると思います.

▼ 3. ワイモバイルでSIMのみを購入する

ワイモバイル オンラインストアで SIM を購入しました.
→ 音声USIMカードを購入
iPhone XRは,「nanoSIM」です.

配送自体は速やかに行われるようですが,受取に関しては注意が必要です.
宅配ロッカーでは受け取ることができない
ため,場合によっては月曜に届いていても土曜日に受取ということがあるかもしれません.
事前に受取を考慮してスケジューリングしておく必要があります.

一応,新しく使う端末が使えるか?チェックしておきます.

【参照:他社が販売する携帯電話をワイモバイルで利用する】

▼ 4. 回線きりかえ

ワイモバイルの回線切り替えは,商品到着の連絡をもって切り替え作業を行っているようです.
商品到着の翌日切り替えということになり,切り替えの時間が明確でないという点は注意点です.
同じ端末を使い続ける場合は,現キャリアでの通信ができなくなった時点で,SIMのみ入れ替えれば良いですが,新しい端末に切り替える場合などは事前にセットアップを行い,その日は端末を2台持ち歩く必要があります.(笑)

問い合わせにより,切り替え時間を早めてもらう方法もあるようですが,基本的に回線切り替えを考慮して行動する必要があります.
待ち合わせなどは要注意ですね.

また,事前に新しく使用する端末が入手できている場合は,通信プロファイル等の設定は事前に行っておく方が良いと思います.
通信プロファイルのインストールなどは通信環境がないと行えないので,注意点です.
通信環境がない出先で回線が切り替わってしまい,自宅に帰るまでセットアップが行えず,電話が使えなかったという状況も考えられます.(笑)

【参照:[iOS]他社が販売するiPhoneをワイモバイルで利用するにはどうしたらいいですか?】

ワイモバイルオンラインストア事務局
電話番号:0120-200-128
受付時間(当日切替え):10:00~13:00
受付時間(当日切替えまたは翌日切替え):13:00~19:00

【参照:SIMフリースマートフォン 設定ガイド】

【参照:ワイモバイルスマホ 初期設定方法】

これらがMNP乗り換えの手順ですが,新端末のセットアップは思いのほか時間がかかると思います.
私の場合は新しくApplePay,モバイルSuicaの設定を行ったり,通信事業者が提供するプロファイルのインストール時にエラーが発生したりで,予想以上の時間を要しました.
まぁそれはそれで楽しみでもあるのですが…一般的には余計な苦労ですよね.(笑)

MT-09(2016) アシスト&スリッパー(A&S)クラッチにした件

以前より大変興味があったカスタムを行ったのでメモしておきます.

ヤマハのHPには,アシスト&スリッパー(A&S)クラッチについて以下の説明があります.

クラッチレバーの操作荷重を軽減するとともに、バックトルクによる車体挙動への影響を抑止。
市街地などでの軽快な走りに貢献する。

私の MT−09 には現行のモデルで採用されている A&S クラッチではなく,従来のクラッチが採用されていました.
従来のクラッチであっても,クラッチ本来の性能には何ら問題は無いのですが,クラッチを完全に切るには少々重いということ.積極的に2速を使用するにはシフトダウンで2速に入れた際のバックトルクを制御するのが少々面倒という点が気になっていました.

クラッチの重さの件ですが,前愛車が XJR1300 ということもあり,走行中のシフト操作に関しては(シフトアップなどはチョんと操作するだけなので)2本指で全く気にならなかったのですが,赤信号の停止などではやはり4本指でクラッチを切っていました.
従来のクラッチは2本指で操作するには,少々重いので4本指の方が半クラ操作がしやすかったと言うことです.

A&S クラッチは完全にクラッチを切る場合も2本指で楽々行うことができます
従来のクラッチから A&S クラッチに切り替えた直後には,あまりの軽さで扱いに戸惑うほどでした.
私の場合,指にかかる重さでクラッチの状態を判断するクセがあるようで,どうしても A&S クラッチを切りすぎてしまうようでした.素早く半クラ状態にするには少々慣れが必要でした.

バックトルクの軽減についてですが,ユーザレビューである程度以上の速度域において効果を実感できるとの意見も散見されますが,私の場合,低速時であっても,2速へシフトダウン時にバックトルクの軽減が感じられました.

スポーツ走行において,近年の高性能マシンの操作については,コーナの立ち上がりにエンジンの低回転域を用い,いつもより1速高いギアでスロットルをワイドオープンすることでトラクションを感じる走りを紹介されていたりしますが,MT-09では3速よりも2速を試したい局面もあるなーと考えていたので,次回のスポーツ走行が楽しみです.

価格については,YSP杉並南さんで @4万弱でした.
このような作業についてはノウハウと実績データがないとなかなか請け負ってくれるショップがないのが実情だと思います.私の場合も諸々の理由により,YSP杉並南さんにお願いしたのですが,気持ちよく対応して頂き,大変助かりました.
その際,場合によってはクラッチの調整が必要となるとの説明を受けましたが,私の車両の場合は特に調整も必要なく部品交換が行えたとのことでした.
作業の様子を見学できたり,信用できるショップさんであると思います. 作業時間は,約2H程でした.

では!