カテゴリー
Linux

CentOS に zip を yum で普通にインストールしました。今更です!

WordPress のテーマを圧縮してダウンロードしようとしたら、そんなコマンドないよって言われました。こんな感じです。

[root@oki2a24 themes]# zip -r oki2a24_13.zip oki2a24/
-bash: zip: command not found

アイエエエエエエエエ!ナンデ?ということで yum であっさりと zip をインストールします。

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

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',
	);

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

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

CakePHP2 Form ヘルパーによるフォーム生成を勉強します♪

CakePHP フォームで別ページにデータを送る勉強します♪ | oki2a24 の続きになります。

まとめ

  • フォーム開始タグ生成
    $this->Form->create(保存先モデル名, フォームタグの属性とその値);
  • 入力フィールドタグ生成
    $this->Form->text(name 属性で指定される名前。「モデル名.フィールド名」が一般的)
  • チェックボックスタグ生成
    $this->Form->checkbox(name 属性で指定される名前, フォームタグの属性とその値)
  • ラベルタグ生成
    $this->Form->label(name 属性で指定される名前)
  • ラジオボタンタグ生成
    $this->Form->radio(name 属性で使用される名前, value と label の値の配列, Form ヘルパーの属性設定)
  • 選択リストタグの生成
    $this->Form->select(name 属性で使用される名前, value と画面に表示される値の配列, Form ヘルパーの属性設定)
カテゴリー
コンピューター

CakePHP2 フォームで別ページにデータを送る勉強します♪

CakePHP ビュー関係のこれまでの基本まとめ | oki2a24 の続きとなります。

まとめ

  • $_GET、$_POST は使わない。ビューで指定するのみ。
  • ビューファイル名は「アンダースコア記法」。複数単語がある場合はアンダースコアでつなげる。
  • GET の場合の送信されたフォーム情報の取得方法。
    • $this->request->query[‘text1’]
    • $this->request[‘url’][‘text1’]
  • サニタイズ(送信情報のエスケープ)に使うもの。
    • PHP の htmlspecialchars 関数。入力した内容はそのまま出力される。
    • CakePHP の Sanitize::stripAll 関数。「Strips extra whitespace, images, scripts and stylesheets from output」。使用前に読み込む必要あり。App::uses(‘Sanitize’, ‘Utility’);
  • コントローラーからビューへ情報を渡すときは $this->set(‘result’, Sanitize::stripAll($result)); のように指定する。
    これをビューで表示するときは echo $result; などとすればよい。
  • チェックボックス、ラジオボタンはチェックされていないと値そのものが送信されない。
  • POST の場合の送信されたフォーム情報の取得方法。
    • $this->request->data(‘text1’) ← 関数
    • $this->request->data[‘text1’ ] ← 連想配列
カテゴリー
コンピューター

CakePHP2 ビュー関係のこれまでの基本まとめ

CakePHP でこのアクションのときだけこの CSS を使いたい、という場合の切り替え方法を調べます。 | oki2a24 の続きとなります。

少し休憩して、今までの投稿を少しまとめます。

  • ビュー機能 レイアウトを使用できるようにしたりできないようにするには、$autoRender と $autoLayout を設定する。
    アクション内でも設定可能。リンクはこちら
  • レイアウト ページ全体を定義するテンプレートのようなイメージ。オリジナルレイアウトを作りたいなら app/webroot/css/cake.haskap.css app/View/Layouts/haskap.ctp のような形で作る。
  • テーマ CSS の切り替え View/themed/haskapTheme/webroot/css/cake.generic.css という感じで CSS ファイルを置く。 haskapTheme だけ適宜変更。
    コントローラで切り替える。アクションで $ths->theme = “haskapTheme” などと指定すればよい。

次は、本の進行にしたがってフォームの基本を投稿したいです。

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

CakePHP2 でこのアクションのときだけこの CSS を使いたい、という場合の切り替え方法を調べます。

CakePHP でオリジナルのレイアウトを使うための2つの作業 | oki2a24 の続きになります。

レイアウトで別の CSS を設定するのではなく、同じレイアウトを使いつつ、このアクションだけ別の CSS にしたい!というときに使う方法です。

まとめ

  •  View/themed/haskapTheme/webroot/css/cake.generic.css という感じで CSS ファイルを置く。 haskapTheme だけ適宜変更。
  • コントローラで切り替える。アクションで $ths->theme = “haskapTheme” などと指定すればよい。
カテゴリー
コンピューター

CakePHP2 でオリジナルのレイアウトを使うための2つの作業

CakePHP のアクション内でビューのレンダーとレイアウトのオンオフが可能なんですねっ! | oki2a24 の続きです。

まとめ

  • app/webroot/css/ に CSS を入れる。名前は、cake.XXX.css という感じで。
  • app/View/Layouts/ に レイアウトファイルを入れる。
  •  レイアウトファイルで CSS を、コントローラーでレイアウトを指定する。
カテゴリー
コンピューター

CakePHP2 のアクション内でビューのレンダーとレイアウトのオンオフが可能なんですねっ!

CakePHP でビューの基本 $autoRender と $autoLayout について勉強するよ♪だからコントローラーとビューだけでサンプル作るんです!モデルは、お休みっ! | oki2a24 の続きとなります。

まとめ

  • $autoRender と $autoLayout は宣言しなくてもよい。
  • $autoRender と $autoLayout のデフォルト値は true
  • $autoRender と $autoLayout は関数内で設定し、アクションごとに切り替え可能。
カテゴリー
コンピューター

CakePHP2 でビューの基本 $autoRender と $autoLayout について勉強するよ♪だからコントローラーとビューだけでサンプル作るんです!モデルは、お休みっ!

CakePHP のアクションの基本と移動について調べたよ♪ | oki2a24 の続きの投稿となります。

ビューを使うための設定にかかわる二つのパラメータ、$autoRender と $autoLayout について調べました。

まとめ

  • $autoRender ビューの使用有無の設定。これが false だと画面に何も表示されない。(コントローラーで無理矢理 echo すれば、それは表示されるが本来の使い方ではない)
  • $autoLayout レイアウトの使用有無の設定。有効なら cake/sample/app/View/Layouts にあるレイアウトを使用する。$autoRender が true つまり有効となって初めて有効となる。