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

CakePHP2 で普通の update がしたいなら updateAll !

あっ、普通の update というのは、WHERE 区に自由な条件をつける、という意味です。今回、CakePHP2 にて次のことをやってみたのでメモします。

  • 好きな条件でテーブルを更新する。
  • あるカラムの値をインクリメントしたい。
  • updateAll だと modifiedを自動で更新してくれないのをなんとかする。
続きでズバッと解決します。
カテゴリー
コンピューター

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 した生成ファイルは、文字コード、改行コードをまず変更する。
カテゴリー
コンピューター

CakePHP2 認証、Auth コンポーネントのサンプルを世界一シンプルを目指して作ります。

2014年10月11日追記

再び勉強してみましたの♪今度は bake を使用してもっと楽にサンプルを作成することができましたわ♪

★認証のお勉強内容

ログインしないとページにアクセスできないようにする、認証機能を勉強します。同時に、認証が不要なページを設ける方法も確かめます。できるだけシンプルな構造でいきます!

では、次のような認証前後でアクセスできるできないページ、を作成してみます。ログイン用のユーザは、1人だけ作ります。

URL はこんな感じです。

  • ログインページ
    • http://localhost/cakesample3/users/login
  • ログイン前後でアクセスできたりできなくなったりするページ
    • http://localhost/cakesample3/apples
    • http://localhost/cakesample3/beets
    • http://localhost/cakesample3/cherries

今回のサンプルを動かすと、ログイン前後でどのページにアクセスできて、どのページにアクセスできないのかをまとめた表です。

ページ ログイン前にアクセスできる ログイン後にアクセスできる
apples ×
beets ×
cherries
カテゴリー
コンピューター

CakePHP2 で Model::saveAssociated を使って1回で複数のテーブルにデータを保存します♪

CakePHP2 を勉強してきて、1つのテーブルにデータを入れるには Model::save を使えばよいし、やってみた記録を残してくださっている方々のページも見つかって心強いのです。

けれどもじゃあ、表示したページのフォームにいろいろデータを入力して、登録!とかクリックしまして処理を走らせたときに、2つのテーブルに1度に綺麗にスマートにデータベースに Insert する方法は、意外と見つかりません。

ですので、やってみました。記録を残します。

ポイント

  • アソシエーション設定済みの複数モデルのテーブルに1度にデータを保存するには、Model::saveAssociated を使う。
  • ちなみに、Model::saveMany はひとつのモデルに複数行を登録するときに使う、らしい(未検証)。
  • ちなみに、Model::saveAll は Model::saveMany または、Model::saveAssociated が実行される。慣れないうちは明確に saveMany、saveAssociated を使い分けたほうが無難かも。
カテゴリー
WordPress

Jetpack プラグインをアップデートしたら、WordPress が真っ白になりました!Sharekoube が原因!ナムアミダブツ!

アイエエエ!?真っ白ナンデ!?昨日の午後から自分のサイトにアクセスしようとしてもサーバーエラーとなってまったく反応してくれません。復活するまでの足跡をメモします。

その前に、覚えておきたい心得

  • おかしくなった直前の操作に注目すること!

なぜこのようなことをあえて書くかといいますと、自分のブログにアクセスできなくなってからまずやったことが、Apache、MySQL、サーバの再起動だったからです。ぜんぜん見当違いでした。

WordPress が真っ白となった原因

WordPress › Sharekoube « WordPress Plugins のバージョン0.8と、WordPress › Jetpack by WordPress.com « WordPress Plugins のバージョン1.6.1の相性が悪かった。

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

CakePHP2 の scaffold を体験します♪

CakePHP の FormHelper::label 関数の使い方を学びます! | oki2a24 の次の投稿です。

scaffold、スキャフォルドについてです。

変わった単語なので辞書で調べました。「足場」「作業台」「絞首台」。3つ目。。。ま、まあ、それはともかく、コントローラーにスキャフォルドの設定を1行だけ行なえば、ビューはもちろん、モデルすら用意する必要なく、データベースを管理するためのちょっとしたシステムを自動的に作れるという優れものなのだそうです。

では、やってみましょう。

ポイント

  • コントローラーに public $name を設定します。
  • コントローラーに public $scaffold; を書きます。
カテゴリー
コンピューター

CakePHP2 で DB データを表示するシンプルな例!モデルなしで勉強です!

CakePHP の MySQL 設定を行います♪ | oki2a24 の続きとなります。

CakePHP でデータベースからデータをひっぱって来る勉強をします。シンプルに!なのでモデルは使いません!

まとめ

  • DB データは $this->Board->find(‘all’); で取得できますが、この Board はモデル名を指す。モデルなので単数形であることに注意です。
  • 「Board はモデル名を指す」といいつつ、Model フォルダに Board モデルが無くても問題ありません。
  • ただし DB に Boards テーブルは必要です。テーブルは複数形であることに注意です。
カテゴリー
コンピューター

CakePHP2 の MySQL 設定を行います♪

CakePHP Form ヘルパーによるフォーム生成を勉強します♪ | oki2a24 の続きになります。

前提。CakePHP のDB 設定を行う前にやっておくこと。

CakePHP の設定を行う前に、DB を作っておく必要があります。たとえばこんな感じにしました。

  • ユーザー名 cakebords
  • パスワード cakebords
  • データベース名 cakebords
  • 文字コード utf-8

CakePHP のDB 設定実践

cake/sample/app/Config/database.php を、database.php.default をコピーしてリネームして、作成します。login(ユーザー名)、password、database、を設定し、encoding がコメントとなっているのを外しました。

	public $default = array(
		'datasource' => 'Database/Mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'cakebords',
		'password' => 'cakebords',
		'database' => 'cakebords',
		'prefix' => '',
		'encoding' => 'utf8',
	);

保存したら、ウェブアプリケーションのホームページにアクセスします。

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

EC-CUBE を Eclipse + XAMPP 環境にインストールするのです!

Pleiades All in One のおかけで、ローカル環境に、Eclipse + XAMPP を簡単に作ることができました。今回は、そこに EC-CUBE を入れていきます!

Apach 、MySAQL 、PHP を Windows 環境でも開発できるように簡☆単さを重視して Eclipse の Pleiades All in One PHP をインストールします。 | oki2a24の続きのお話となります。

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

Apach 、MySAQL 、PHP を Windows 環境でも開発できるように簡☆単さを重視して Eclipse の Pleiades All in One PHP をインストールします。

やることまとめ

  • Pleiades All in One PHP と XAMPP を使えるようにする。
  • Pleiades All in One からコーディングとデバッグを行えるようにする。

入れるもの

では実際にやっていきます。