CakePHP 2.x系 Viewでのコメントの記述方法など
2017/03/11
PHPと CakePHPの相違点
CakePHPの初心者である私が、CakePHPを始めてすぐのころに、フレームワークなしの PHPとの相違点などでハマった点などを書いてみたいと思います。
まず、CakePHPのコーディング規約は下記の URLにあります。
http://book.cakephp.org/2.0/ja/contributing/cakephp-coding-conventions.html
これは、規約と書かれていますので、基本的にこの規約に従って記述するものなのですが、この通りに書かないと動かないところと、この通りに書かなくても動くところとあります。
それがまた厄介な問題を引き起こすわけですが...
PHPタグの記述の仕方の相違点
まず、PHPタグ。
PHPタグ
上記のコーディング規約にも「常にショートタグ(<? ?>)の代わりに、ロングタグ(<?php ?>)を使ってください。」と書いてあります。
この規約は、この通りに書かないと動かない部分で、初めて CakePHPを使った際にはこれに気づかず、この問題だけで半日くらいつぶしてしまいました....
Viewファイルでのコメントの記述方法
Viewファイルの中でのコメントの表記
コメントについて
「.php」のファイルは、「#」「//」「/* ~ */」が使えます。
Viewの「.ctp」ファイルでは、「/* ~ */」しか使えません。
CakePHPのコメントは、フレームワークを使わない PHPと同じく「#」「//」「/* ~ */」が使えます。
でも、これは、あくまでも「.php」の拡張子がつくファイルの Controlloerや Modelのファイルに限定されます。
つまりは、Viewは「.ctp」となりますので、PHPと同じコメントを利用することができないということになり、Viewで利用できるコメントは、「/* ~ */」のタイプのみになります。
また、「<?php」の直後にコメントの記号を書く際は、「<?php /*」のように「<?php」の後ろにはスペースを入れる必要があります。「<?php/*」のようにつなげて書くとPHPのコードとして認識されなくなります。
なお、フレームワークを使わない PHPではつなげて書いてもしっかりコメントとして認識されます。この違いによって、この正しいコメントの表記方法に気づくまでに 1ヶ月以上かかってしまいました...
正しい表記:
<?php /* コメント文章 */?>
誤った表記
<?php/* コメント文章 */?>
PHPのコメントを利用して HTMLソースを表示させない方法
ちなみに、この Viewファイル上でもそうですし、一般的な HTMLのソース上でも、HTMLをコメントにしたいけど HTMLのコメントはソースが見えてしまうので...という場合は、PHPのコメント処理を使うことで HTMLを出力させない、という方法を採っていました。
HTMLファイルの場合は、PHPが処理される状況でないと使えない方法ではありますが、この方法を教えてもらったときは感動に近いオドロキがありましたね。
それ以降、かなり頻繁に使っている手法です。利用されている方も多いとは思いますが
具体的には
※HTMLのコメントタグの場合
<!–
<div>テストの項目</div>
–>
※PHPのコメントタグの場合
<?php /*
<div>テストの項目</div>
*/ ?>
このように記述することで HTMLがブラウザに表示されないだけではなく、そもそも出力がされなくなりますので、安心してコメントとして残しておくことができるようになります。
フレームワークを使わない PHPはなんと表現するか?
ところで、CakePHPと、フレームワークを使わない普通の PHPを区別して表現する場合、フレームワークを使わない普通の PHPの方は、なんと表現するのが一般的なのでしょう?
「フレームワークを使わない PHP」といったような表現をするしかないのでしょうか??
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP5系で認証機能のAuthenticationプラグインをインストール・エラー発生注意
CakePHPのユーザ認証に使用するオフィシャルなプラグインAuthenticationだが、CakePHP5系では Authentication Ver.3系を使う必要があるが、公式ChiffonBookが間違えている。
-
-
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakeDC謹製Usersプラグインの紹介。Usersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。
-
-
CakePHP3で環境変数を設定して本番環境と開発環境を分けて処理をする場合
CakePHP3で開発環境と本番環境とで違う設定ファイルを読み込ませて環境ごとに定数を切り替える方法を解説。Apacheのhttpd.confに環境変数を設定し、それを読み込み判別する。
-
-
CakePHP 2.3 Search Pluginで検索処理 その4前方一致検索、後方一致検索、不等号による検索、between句による範囲検索
CakePHPの検索プラグイン Search Pluginの検索処理の中で前方一致検索、後方一致検索、不等号による検索、between句による範囲検索の解説です。
-
-
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3のCookbookにあるブックマークチュートリアル。ここで紹介されているタグで検索する処理を検索プラグイン「friendsofcake/search」で実現する方法を解説しました。
-
-
CakePHP 2.3 連携先のテーブルの項目で条件抽出する場合
アソシエーション(連携)している先のテーブルの項目で条件抽出する際の考え方と注意点をサンプルソースを用いて説明しています。
-
-
CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定
CakePHP3の Authコンポーネントや CakeDC/Usersプラグインなどを利用したユーザ管理・認証システムにおいて、ログインしていなくても見ることができるページの設定方法を解説。
-
-
CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説
WYSIWYGエディタであるCKEditor4をCDNを利用して簡単にCakePHP3に導入する方法とカスタマイズする方法を解説。CakePHP3にはページごとの振り分けを行うブロック化を利用する。
-
-
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3でJavaScriptやCSSを編集する基本形から、それらやテンプレート(エレメント)を特定のテンプレートを読み込んだときのみ編集、実行するための方法、ブロック化について解説。
-
-
CakePHP4の定数定義ファイルを環境変数によって本番と開発を振り分ける方法解説
CakePHP4で開発環境と本番環境とで違う設定ファイルを読み込ませて環境ごとに定数を切り替える方法を解説。Apacheのhttpd.confに環境変数を設定しそれを読み込み判別する。