カテゴリー
コンピューター

CakePHP2 でユーザ情報の更新ページみたいなのを作るときのメモ♪

ウェブサービスを利用しているとプロフィールページががあって、メールアドレスや、住所とか、変更できるようになっています。これを CakePHP2 で作るにはどうしたらよいか?なにが問題となったか?ポイントか?メモ程度ですが残しておきます。

メモるべきポイント

  • 同一内容を入力させるフォームとバリデーションチェックを行う。たとえば、メールアドレスとか、パスワードを修正するために、「確認のためもう一度入力してください」といったフォーム。
  • パスワードを更新する。パスワードのフォームは最初空で表示し、入力があった場合のみ、データベースのレコードを更新する。
  • 一度の post で複数テーブルの情報のバリデーションチェックを行い、情報の更新を行う。
カテゴリー
Linux

root 以外でもファイルを編集できるように apache グループにユーザを追加したのにできないっ!

/var/www/html にあるディレクトリ配下のファイルに 対してapache ユーザ、apache グループがいろいろできるよう、パーミッションを設定しています。

root ユーザならもちろん何でもできるのですが、このたび管理者以外のほかのユーザでもいろいろできるようにしてみようと思います。

・・・結論から言えば、うまくいかなかったのですけれども残しておきます。

コマンド

[root@oki2a24 tmp]# # oki2a24 ユーザを apache グループに追加する
[root@oki2a24 tmp]# gpasswd -a oki2a24 apache
カテゴリー
コンピューター

CakePHP2 。テーブルのカラム(列)は小文字にするとよいです♪

CakePHP- the rapid development php framework- Groups.jpg

ポイント

  • CakePHP の恩恵を受けるためにはテーブルのカラム名は小文字にしましょう!規約には明記されていないけど、きっと当たり前扱いなんでしょう♪
カテゴリー
コンピューター

CakePHP2!Windows 、Linux で bake した時の文字コード、改行コードは何でしょう?

CakePHP の開発でも調べものでも楽できるところは楽したい!と思っています。そこで、楽の仕方を考えます。へたをすると、余計な手間やはまりどころにもなりかねませんしね♪

結論

  • Windows の XAMPP環境 で bake → 文字コード SJIS 改行コード CR+LF
  • CentOS で bake → 文字コード SJIS 改行コード LF

Linux で bake しても、SJIS になるとは、ちょっと意外でした。ちなみに、CentOS の文字コードは UTF-8 に設定されていました。

[root@oki2a24 oki2a24.com]# printenv | grep LANG
LANG=ja_JP.UTF-8

CakePHP の bake 方針案

一発で解決!できなかった、面白みのない結論ですけれども、これがよさそうです。

  • bake 環境は、Windows、Linux、どちらでもよい。
  • bake した生成ファイルは、文字コード、改行コードをまず変更する。
カテゴリー
コンピューター

php.ini のタイムゾーンの簡単な確認方法と実際に date.timezone を設定しました!

date.timezone.jpg

CakePHP2 を CentOS に入れようとしたら、「PHP のタイムゾーン設定がなんか変だよっ!」とありがたいご指摘をいただきましたので、対応いたしました。

ポイント

# php.ini の場所を確認
php -i | grep php.ini

# timezone を編集するには次のようにする。
# date.timezone = "Asia/Tokyo"

# Apache 文法チェック
apachectl configtest
# Apache 再起動
/etc/rc.d/init.d/httpd restart
カテゴリー
コンピューター

CakePHP2 でのバージョン確認方法をメモしておきます!

時々、自分がどのバージョンの CakePHP で作業しているのかわからなくなるので確認方法をメモします。

  • lib/Cake/VERSION.txt の最後の行を見よ!
カテゴリー
コンピューター

CakePHP2 すべてのバリデーションをメモしておきます!

モデルを bake するときにバリデーションをつけることができます。最低限の設定が書かれているほか、オプションもコメントとして作成されるので、何かと便利です。

ただ、データベースにテーブルを作るほどでもないけれど、ちょっとお気楽にモデルを試験的に作成して、バリデーションをお手軽に設定して、、、というときに bake をわざわざするのは面倒です。

そこで、bake で出力されるバリデーションの全パターンを書いておくことで、お気軽にコピペできるようにしておきます♪

カテゴリー
コンピューター

fon の MyPlace に PC から突然接続できなくなった問題を解決しました!

無線LANのルータ、fon フォンの MyPlace に昨日まで接続できたのに、できなくなってしまいました。なぜでしょう。。。とにかく、再び接続できるようになんとかしましたので、そのメモを残します。

行った手順

  1. ウィンドウ右下、日時表示のちょっと左側の「インターネットアクセス」をクリック。
    「ネットワークと共有センターを開く」をクリック。
  2. 左側の「ワイヤレスネットワークの管理」をクリック。
  3. 「MyPlace」をダブルクリックして、「MyPlace ワイヤレスネットワークのプロパティ」を表示
  4. 「セキュリティ」のタブをクリック
  5. 「セキュリティの種類」を「WPA2 – パーソナル」から「WPA – パーソナル」に変更。
    「暗号化の種類」は「AES」のまま。
    「ネットワークセキュリティキー」は fon 本体の裏面にある WPA-Key を入力。
  6. 「OK」をクリック。
  7. ウィンドウ右下、日時表示のちょっと左側の「インターネットアクセス」をクリック。
    「MyPlace」の「接続」をクリック。

おわりに

暗証番号には WPA-Key を使います。シリアルナンバーではありません。

また、試行錯誤でアタリをつけて自力で直しましたが、公式で「いったん設定を削除してから再び接続設定を作成してくださいませね。」と明快な方法が記されておりますので、次回からはそのようにしたいと思います。

カテゴリー
コンピューター

CakePHP2 でログインページをたくさん作る方法を考えました!

◆2012年10月17日、追記。◆

CakePHP2 でログインページをたくさん作る方法再び♪ | oki2a24 にてまったく違う考え方でログインページをたくさん作る方法をメモしました。

この投稿が参考になった!!!とコメントを残してくだすった方がいらっしゃいましたので、ほかにもお求めの方がいらっしゃいましたら併せて閲覧いただき、何かの参考になればうれしく存じます。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

ウェブサービスを作っていると、たとえば先生用のログインページはログインフォームだけでよいけれど、生徒用のログインページでは「新規登録はこちら!」のリンクも付けたい、、、ということがあると思います

ただし、ログイン処理はすべて同じとしたいのです。

しばらく悩んだのですが、prefix ルーティングで実現できそうです。

ポイント

  • appConfig/core.php の Routing.prefixes を修正して設定します。
    例:array(‘admins’, ‘editors’, ‘authors’)
  • コントローラーのアクション名で prefix ルーティングを使用することを知らせます。
    書き方は、ルーティング名 + アンダースコア + アクション名
    例:admins_login、editors_login、authors_login
  • ビューは、prefix ルーティング用に作成したアクションに対応するように作成します。
    例:admins_login.ctp、editors_login.ctp、authors_login.ctp
カテゴリー
コンピューター

ポイント3つ!phpDocumentor を Pleiades All in One 日本語ディストリビューションで使うための設定!!!

Pleiades All in One 日本語ディストリビューションで phpDocumentor を使うためのポイント3つ。

  • コマンドプロンプトを管理者特権で実行します(Windows7)。
  • phpDocumentor を一度アンインストールしてから再度インストールします。
  • php.ini の読み込むライブラリ(Dynamic Extensions)に php_xsl.dll を追加します。