API 開発時の便利ツール Postman

API 開発時にレスポンス内容を確認したり,テスト実行したり,環境変数に応じて URL を変更したりできる.
便利ツールの個人的なメモ.

クライアントアプリは以下からダウンロードできる.
Postman

アプリの使い方,何ができるか?は以下の良記事を読めば把握できる.
参考:API開発・テスト便利ツール Postmanの使い方メモ
参考:APIの開発がむちゃくちゃ捗る「Postman」の使い方
参考:RESTサービスを触る際の必須ツールPostmanを使ってみました
参考:[ツール] Postmanを利用したAPIの試験 [機能の紹介]

PHPの終了タグは付けない方がいい件

先日,PHPの header 関数でリダイレクトする処理を記述したのですが,どうしてもリダイレクトしてくれなくて,色々試した結果,PHPの終了タグ「?>」が記述されているとリダイレクトしないという現象に遭遇しました.

私の認識では,PHPの終了タグはあっても,なくても,どちらでも良いものという認識であったため,少し驚きました.
(いかなる場合においても,あった方が良いくらいの認識でした.)

リダイレクトしない理由として,直前にHTML出力があるとリダイレクトしないというのは,なんとなく出力バッファなどの理由により,問題があるような気がするのですが,終了タグというのは想像できませんでした.…というわけで,メモしておきます.

参考:PHPの最後の終了タグ ?> は付けないでおこうねというお話

JetBrains IDE Support と Xdebug helper について調べた件

PhpStorm のデバッグでなんとなく必要なのだろうと Chrome に2つの機能拡張をインストールしていたが機能を把握していなかったので,調べてみた.
結果,PhpStorm のデバッグ作業では,Xdebug helper だけでよいようだ.

日本語のPhpStorm 2019.1 ヘルプには以下の記述がある.

IntelliJ IDEAでアプリケーションをデバッグするために、ChromeのJetBrains IDEサポート拡張をインストールして使用する必要はありません。

▼ JetBrains IDE Support 2.0.10

JetBrains Chrome拡張機能を使用したデバッグセッション中、HTML、CSS、およびJavaScriptのライブ編集を使用できます。また、DOM ツリーと実際のページのソースコードを表示することもできます。

▼ Xdebug helper 1.6.1

Xdebugヘルパー拡張
PHP デバッグ接続のリッスンを開始
IDE key 設定などができる.

以前はブックマークレットでIDE key設定を行ったりしていた記憶がありますが,この機能拡張からも出来るのですね.
個人的には少し頭の整理が出来ました.笑

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

との説明文があります.