cake phpを勉強 Cake ブログチュートリアルを実践3
前回、とりあえずデータを表示するとこまで、完成。
次は、データを追加するところを作ってみます。
仕事終わってから勉強するので、なかなか進みません。
/app/controllers/posts_controller.phpに
add()メソッドを追加。
フォームの中身が空でなかったら、
$this->dataの中身は連想配列。
$this->dataの中身をsave()メソッドで保存。
save()メソッドは
save(保存するデータ(連想配列),バリデーションon/off(true,false),使用するフィールド名);
で使用する。使用するフィールドは、array(title,body,・・・)みたいな感じで。
バリデーションとは、データ入力時にデータをチェックする機能のこと。
バリデーションエラーが起った場合はなにも保存されません。
次に、viewの作成。Postを投稿するフォームの作成です。
/app/views/posts/add.thtml
$html->url('/posts/add')で一発でURLを吐き出してくれる。
これでURLの間違いはない。
このヘルパーという機能がとても便利そうです。
ちなみにヘルパーとは
「よく用いられる HTML コード部分を挿入できるよう助けること、
そして、WEB フォームをすばやく簡単に作成できるよう助ける(HTMLヘルパー)」 ということだそうです。
後で詳しく復習しようと思います。
次に入力フォームの作成。
input(モデル名/フィールド名 , 属性);
textarea(モデル名/フィールド名 , 属性);
でinputタグとtextareaタグを吐き出すことができます。
かなり簡単にフォームが作れそうです。
array( 'value' => '初期値(任意の文字列)')で
デフォルト値も設定できます。
tagErrorMsg()メソッドで、バリデーションでエラーが起ったときに表示するエラーテキストを設定します。
最後に、モデルの中に、バリデーションを設定します。
/app/models/post.php
これで追加の機能は完了。 /cake/add/にアクセスすると無事、フォームが出来てました。
こいつは簡単です。
でももう少し深く理解しないと、いろんなものをつくれそうにもない。
次は、データを追加するところを作ってみます。
仕事終わってから勉強するので、なかなか進みません。
/app/controllers/posts_controller.phpに
add()メソッドを追加。
<?php
class PostsController extends AppController
{
var $name = 'Posts';
function index()
{
$this->set('posts', $this->Post->findAll());
}
function view($id = null)
{
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
function add()
{
if (!empty($this->data))
{
if ($this->Post->save($this->data))
{
$this->flash('Your post has been saved.','/posts');
}
}
}
}
?>
if (!empty($this->data))フォームの中身が空でなかったら、
$this->dataの中身は連想配列。
$this->dataの中身をsave()メソッドで保存。
save()メソッドは
save(保存するデータ(連想配列),バリデーションon/off(true,false),使用するフィールド名);
で使用する。使用するフィールドは、array(title,body,・・・)みたいな感じで。
バリデーションとは、データ入力時にデータをチェックする機能のこと。
バリデーションエラーが起った場合はなにも保存されません。
次に、viewの作成。Postを投稿するフォームの作成です。
/app/views/posts/add.thtml
$html->url('/posts/add')で一発でURLを吐き出してくれる。
これでURLの間違いはない。
このヘルパーという機能がとても便利そうです。
ちなみにヘルパーとは
「よく用いられる HTML コード部分を挿入できるよう助けること、
そして、WEB フォームをすばやく簡単に作成できるよう助ける(HTMLヘルパー)」 ということだそうです。
後で詳しく復習しようと思います。
次に入力フォームの作成。
input(モデル名/フィールド名 , 属性);
textarea(モデル名/フィールド名 , 属性);
でinputタグとtextareaタグを吐き出すことができます。
かなり簡単にフォームが作れそうです。
array( 'value' => '初期値(任意の文字列)')で
デフォルト値も設定できます。
tagErrorMsg()メソッドで、バリデーションでエラーが起ったときに表示するエラーテキストを設定します。
最後に、モデルの中に、バリデーションを設定します。
/app/models/post.php
<?php
class Post extends AppModel
{
var $name = 'Post';
var $validate = array(
'title' => VALID_NOT_EMPTY,
'body' => VALID_NOT_EMPTY
);
}
?>
titleとbodyは必須だよと設定。これで追加の機能は完了。 /cake/add/にアクセスすると無事、フォームが出来てました。
こいつは簡単です。
でももう少し深く理解しないと、いろんなものをつくれそうにもない。
date:2008年05月23日 01:16 | COMMENT (0) | TRACKBACK (0)
