エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


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」といったような表現をするしかないのでしょうか??

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)

CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。

CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可

CakePHP3のユーザ管理、ログイン認証プラグインである「CakeDC/Users」のメッセージを日本語にする手順の解説とともに、日本語の翻訳ファイルを提供。ファイルを設置すれば日本語になる!

CakePHP 2.3 ID以外のカラムでアソシエーション(連携)をさせる場合の詳細ページの注意点

ID以外のカラムでアソシエーション(連携)させて詳細ページを表示させる際の考え方と注意点をサンプルソースを用いて解説しています。

URL短縮サービス「TTTオンライン(https://ttt.onl)」公開
URL短縮サービス「TTTオンライン(https://ttt.onl)」公開

URL短縮サービス「TTTオンライン(https://ttt.onl)」を公開。メールやSNSでは使いにくい長いURLを短いURLに変換するサービス。QRコードも。Google URL Shortenerが2019年3月にサービス終了。

CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定

CakePHP3でOGPを設定する方法を解説。metaタグを編集するHTMLヘルパーを利用してOGPのタグを編集する。また、エレメントとして分割することでメンテナンス性も向上させる。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!

CakePHP3のCakeDC/Usersでログインユーザの所有レコードのみ更新、削除する権限管理の設定方法
CakePHP3のCakeDC/Usersでログインユーザの所有レコードのみ更新、削除する権限管理の設定方法

CakePHP3のユーザ管理、ログイン認証プラグイン「CakeDC/Users」の権限管理を行う方法やアクセスできるコントローラー、アクションを設定、所有権を持つレコードのみ更新できる設定方法を解説。

CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント

CakePHP3の開発で発生する「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」のエラーには特有の原因もあるため、その説明と対処方法の解説。

CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説

CakePHP3で静的なページを設置する場合の方法(webrootとpagesとを活用する方法)を解説。pagesの解説はデフォルトのトップページがどう表示されているかを参考に解説。ルーティングの機能も。

CakePHP3のCakeDC/Usersのログイン後のリダイレクトを設定解説
CakePHP3のCakeDC/Usersのログイン後のリダイレクトとユーザ権限管理の設定解説

CakeDC謹製Usersプラグインの紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。