*

[CakePHP]bakeコマンドでViewを作る

公開日: : 最終更新日:2014/12/25 CakePHP

CakePHP関連まとめページはこちら。

最後はViewを焼いてみます。

Viewを焼き上げる

Welcome to CakePHP v2.5.6 Console
---------------------------------------------------------------
App : app
Path: /home/[ユーザ名]/www/[ケーキの名前]/app/
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q)
> v

Viewを作成するのでvを指定。

---------------------------------------------------------------
Bake View
Path: /home/[ユーザ名]/www/[ケーキの名前]/app/View/
---------------------------------------------------------------
Use Database Config: (default/test)
[default] >
Possible Controllers based on your current database:
---------------------------------------------------------------
 1. Posts
 2. Users
Enter a number from the list above,
type in the name of another controller, or 'q' to exit
[q] > 2

UsersのViewを作成するので2を指定します。

Would you like bake to build your views interactively?
Warning: Choosing no will overwrite Users views if they exist. (y/n)
[n] > y

上書き確認です。yを指定。

Would you like to create some CRUD views
(index, add, view, edit) for this controller?
NOTE: Before doing so, you'll need to create your controller
and model classes (including associated models). (y/n)
[y] > y

基本的なindex,add,view,editの四つを作成しますか? とのことなのでyを指定して作ってもらいます。

Would you like to create the views for admin routing? (y/n)
[n] > n

admin routingを作りますか? とのことですが、今回はいりません。nを指定。

Baking <code>index</code> view file...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/index.ctp
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/index.ctp</code>

Baking <code>view</code> view file...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/view.ctp
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/view.ctp</code>

Baking <code>add</code> view file...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/add.ctp
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/add.ctp</code>

Baking <code>edit</code> view file...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/edit.ctp
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/View/Users/edit.ctp</code>
---------------------------------------------------------------

View Scaffolding Complete.

---------------------------------------------------------------

焼きあがりました。

焼き上がりの確認

ディレクトリを確認すると、Viewの中にちゃんとUsersというディレクトリが出来ており、add.ctp、edit.ctp、index.ctp、view.ctpが出来ています。

<div class="users form">
<?php echo $this->Form->create('User'); ?>
	<fieldset>
		<legend><?php echo __('Add User'); ?></legend>
	<?php
		echo $this->Form->input('username');
		echo $this->Form->input('password');
		echo $this->Form->input('role');
	?>
	</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
</div>
<div class="actions">
	<h3><?php echo __('Actions'); ?></h3>
	<ul>

		<li><?php echo $this->Html->link(__('List Users'), array('action' => 'index')); ?></li>
	</ul>
</div>

 

<div class="users form">
<?php echo $this->Form->create('User'); ?>
	<fieldset>
		<legend><?php echo __('Edit User'); ?></legend>
	<?php
		echo $this->Form->input('id');
		echo $this->Form->input('username');
		echo $this->Form->input('password');
		echo $this->Form->input('role');
	?>
	</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
</div>
<div class="actions">
	<h3><?php echo __('Actions'); ?></h3>
	<ul>

		<li><?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete', $this->Form->value('User.id')), array(), __('Are you sure you want to delete # %s?', $this->Form->value('User.id'))); ?></li>
		<li><?php echo $this->Html->link(__('List Users'), array('action' => 'index')); ?></li>
	</ul>
</div>

 

<div class="users index">
	<h2><?php echo __('Users'); ?></h2>
	<table cellpadding="0" cellspacing="0">
	<thead>
	<tr>
			<th><?php echo $this->Paginator->sort('id'); ?></th>
			<th><?php echo $this->Paginator->sort('username'); ?></th>
			<th><?php echo $this->Paginator->sort('password'); ?></th>
			<th><?php echo $this->Paginator->sort('role'); ?></th>
			<th><?php echo $this->Paginator->sort('created'); ?></th>
			<th><?php echo $this->Paginator->sort('modified'); ?></th>
			<th class="actions"><?php echo __('Actions'); ?></th>
	</tr>
	</thead>
	<tbody>
	<?php foreach ($users as $user): ?>
	<tr>
		<td><?php echo h($user['User']['id']); ?>&nbsp;</td>
		<td><?php echo h($user['User']['username']); ?>&nbsp;</td>
		<td><?php echo h($user['User']['password']); ?>&nbsp;</td>
		<td><?php echo h($user['User']['role']); ?>&nbsp;</td>
		<td><?php echo h($user['User']['created']); ?>&nbsp;</td>
		<td><?php echo h($user['User']['modified']); ?>&nbsp;</td>
		<td class="actions">
			<?php echo $this->Html->link(__('View'), array('action' => 'view', $user['User']['id'])); ?>
			<?php echo $this->Html->link(__('Edit'), array('action' => 'edit', $user['User']['id'])); ?>
			<?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete', $user['User']['id']), array(), __('Are you sure you want to delete # %s?', $user['User']['id'])); ?>
		</td>
	</tr>
<?php endforeach; ?>
	</tbody>
	</table>
	<p>
	<?php
	echo $this->Paginator->counter(array(
	'format' => __('Page {:page} of {:pages}, showing {:current} records out of {:count} total, starting on record {:start}, ending on {:end}')
	));
	?>	</p>
	<div class="paging">
	<?php
		echo $this->Paginator->prev('< ' . __('previous'), array(), null, array('class' => 'prev disabled'));
		echo $this->Paginator->numbers(array('separator' => ''));
		echo $this->Paginator->next(__('next') . ' >', array(), null, array('class' => 'next disabled'));
	?>
	</div>
</div>
<div class="actions">
	<h3><?php echo __('Actions'); ?></h3>
	<ul>
		<li><?php echo $this->Html->link(__('New User'), array('action' => 'add')); ?></li>
	</ul>
</div>

 

<div class="users view">
<h2><?php echo __('User'); ?></h2>
	<dl>
		<dt><?php echo __('Id'); ?></dt>
		<dd>
			<?php echo h($user['User']['id']); ?>
			&nbsp;
		</dd>
		<dt><?php echo __('Username'); ?></dt>
		<dd>
			<?php echo h($user['User']['username']); ?>
			&nbsp;
		</dd>
		<dt><?php echo __('Password'); ?></dt>
		<dd>
			<?php echo h($user['User']['password']); ?>
			&nbsp;
		</dd>
		<dt><?php echo __('Role'); ?></dt>
		<dd>
			<?php echo h($user['User']['role']); ?>
			&nbsp;
		</dd>
		<dt><?php echo __('Created'); ?></dt>
		<dd>
			<?php echo h($user['User']['created']); ?>
			&nbsp;
		</dd>
		<dt><?php echo __('Modified'); ?></dt>
		<dd>
			<?php echo h($user['User']['modified']); ?>
			&nbsp;
		</dd>
	</dl>
</div>
<div class="actions">
	<h3><?php echo __('Actions'); ?></h3>
	<ul>
		<li><?php echo $this->Html->link(__('Edit User'), array('action' => 'edit', $user['User']['id'])); ?> </li>
		<li><?php echo $this->Form->postLink(__('Delete User'), array('action' => 'delete', $user['User']['id']), array(), __('Are you sure you want to delete # %s?', $user['User']['id'])); ?> </li>
		<li><?php echo $this->Html->link(__('List Users'), array('action' => 'index')); ?> </li>
		<li><?php echo $this->Html->link(__('New User'), array('action' => 'add')); ?> </li>
	</ul>
</div>

綺麗に焼けてますね。
ある程度慣れてきたら基本はこれで作成して、そこに追加していく形がいいようです。

接続してみる

実際に焼きあがったので、接続してみましょう。

http://hogehoge.com/hoge/User/indexに接続してみます。

Wannabenote
基本のページが出来ています。
これは楽だ。

というわけでbakeコマンド基本の三種は完成です。

ad

関連記事

Wannabenote

[CakePHP]SNSを作ろう ブログ編2~MVCの作成~

SNSを作ろうまとめページはこちら。 前回の続き。 ブログ編は基本的にこちらのチュートリ

記事を読む

cakephp

[CakePHP, jQuery]Ajaxでメッセージをゆっくり消す

SNS作りをさぼってるわけじゃないんですよ。 作るだけなら簡単だけど、ブログにまとめる時間がないだ

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編4~閲覧画面作成~

SNSを作ろうまとめページはこちら→SNSを作ろうまとめページ SNSを作ろう ブログ編3~投

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編5~編集画面作成~

SNSを作ろうまとめページはこちら CakePHPで閲覧画面を作った続きです。 投稿を手軽に

記事を読む

Wannabenote

[CakePHP]ログアウトすると権限が必要と表示される

ちょっと時間は前後しますが、ログイン機能を作ったあとの話です。 チュートリアル通りに進めても、

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編3~投稿画面作成~

SNSを作ろうまとめページはこちら→SNSを作ろうまとめページ 前回(SNSを作ろう ブログ編

記事を読む

Wannabenote

[CakePHP]SNSを作ろう CakePHP設定編

SNSを作ろうまとめページはこちら 前回の続き。 前回のこの画面は設定が必要な箇所を示し

記事を読む

Wannabenote

[CakePHP]SNSを作ろう CakePHPインストール編

SNSを作ろうまとめページはこちら はい。こないだのsymfonyはなかったことにします。

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編

SNSを作ろうまとめページはこちら。 前回の続き。 さて、私が今作りたいのはブログがメイ

記事を読む

Wannabenote

[PHPStorm]SNSを作ろう IDE環境作成編

SNSを作ろうまとめページはこちら。 前回の続き、というか閑話休題。 プログラムをガチで

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑