ToDoアプリ(1/5)をトレースしてみた
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
CakePHPの入門者トレーニングとして、gihyo.jpサイトの「Cake...
がすばらしい。しかし、このサンプル例題はCakePHP1.1で解説...
では少し異なるコード表現になりそうな所がある。
サンプル例題「ToDoアプリ」をCakePHP1.2でトレースしてみた...
【目次】(項目をクリックすると、そこに飛べます)
#contents
~
*DBの設計と作成 [#b81b98d4]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=1
データベースMySQLにDB操作アプリphpMyAdminを使用し、データ...
テーブルtasksを作成。
私の場合は、公開用レンタルサーバの文字コードがEUC(ujis)な...
必要。
↓テーブルtasks作成とデータ入力SQL
CREATE TABLE `tasks` (
`id` int(11) unsigned NOT NULL auto_increment,
`content` text NOT NULL,
`status` enum('yet','done') NOT NULL default 'yet',
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `created` (`created`),
KEY `modified` (`modified`)
) ENGINE=MyISAM DEFAULT CHARSET=ujis AUTO_INCREMENT=4 ;
INSERT INTO `tasks` (`id`, `content`, `status`, `created...
(1, 'プログラマーズリファレンスガイドを一通り読む', 'don...
(2, 'ブログチュートリアルを行う', 'yet', '2007-08-21 02:...
(3, 'CakePHP情報サイトをRSSリーダーに登録する', 'yet', '...
|&attachref(LH_DB_todo作成Admin画面.JPG,zoom,150x150,butt...
|データベースtodo作成(EUC)|データテーブルtasksのSQLでの作...
↓app/config/database.phpの書き換え(私の場合はEUC(ujis))
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'todo',
'prefix' => '',
'encoding' => 'ujis'
);
}
?>
*コントローラの作成 [#n711aadb]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=2
コントローラを作成します。
/cake/app/controllers/tasks_controller.php
<?php
// app/controllers/tasks_controller.php
class TasksController extends AppController { //AppContr...
var $name = 'Tasks'; //controller名を定義(頭が大文字...
var $uses = array('Task'); //使用するmodel名を指定
function index() { //indexアクションの定義
$this->set('tasks', $this->Task->find('all', array('...
//モデルTaskのデータ全てを変数tasksに格納しビューに...
}
}
●CakePHP1.2からfindAll()が非推奨表現になり、汎用性のあるf...
書式の違いを示す。
<1.1>
findAll(null, null, 'Task.created ASC');
<1.2>
find('all', array('order'=>'Task.created ASC'));
**モデル作成前に実行してみる [#k4489c12]
modelの作成前に
http://localhost/cake/tasks とタイプして実行してみる。
●CakePHP1.2では、テキストの異なる「View Missing」の画面が...
CakePHP1.2では、modelがない場合は自動判定してプログラムを...
なった事が原因です。
●また、CakePHP1.2は、1.1と比較して画面デザインが大きく変...
&attachref(LH_cake_tasks_View不足エラー画面.JPG,zoom,300x...
*モデルの作成 [#d4a07b96]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=3
モデルを作成します。
/cake/app/models/task.php
<?php
// app/models/task.php
class Task extends AppModel { //AppModelクラスを継承
var $name = 'Task'; //モデル名の定義(頭が大文字である...
}
viewの作成前に
http://localhost/cake/tasks とタイプして実行してみる。
modelの作成前と同じ画面です。
&attachref(LH_cake_tasks_View不足エラー画面_0.JPG,zoom,30...
*ビューの作成 [#ab313ac2]
viewを作成します。
/cake/app/views/tasks/index.ctp
<table>
<tr>
<th>Id</th>
<th>タスク内容</th>
<th>状態</th>
<th>作成日</th>
</tr>
<?php foreach ($tasks as $task) { ?>
<tr>
<td><?php echo h($task['Task']['id']) ?></td>
<td><?php echo h($task['Task']['content']) ?></td>
<td><?php echo h($task['Task']['status']) ?></td>
<td><?php echo h($task['Task']['created']) ?></td>
</tr>
<?php } ?>
</table>
●CakePHP1.2からviewのテンプレートファイルの拡張子が「.ctp...
変更になってます。1.1時代は「.thtml」でした。
●ビューファイルを保存する時は、設定した日本語文字コードタ...
(私の場合はEUCタイプです。)
実行画面 http://localhost/cake/tasks
&ref(LH_cake_tasks_index画面.JPG);
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.marcjacobs.us.com/ http://www.designerhandba...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- https://inspirationkeys.com https://wpwafer.com https:/...
- https://magvillage.wordpress.com https://mymag.hatenabl...
- https://wordpress.org/support/users/banditcaur/ https:/...
#comment_nospam
#vote(参考になった[11],ふつう[0],参考にならなかった[0])
終了行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
CakePHPの入門者トレーニングとして、gihyo.jpサイトの「Cake...
がすばらしい。しかし、このサンプル例題はCakePHP1.1で解説...
では少し異なるコード表現になりそうな所がある。
サンプル例題「ToDoアプリ」をCakePHP1.2でトレースしてみた...
【目次】(項目をクリックすると、そこに飛べます)
#contents
~
*DBの設計と作成 [#b81b98d4]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=1
データベースMySQLにDB操作アプリphpMyAdminを使用し、データ...
テーブルtasksを作成。
私の場合は、公開用レンタルサーバの文字コードがEUC(ujis)な...
必要。
↓テーブルtasks作成とデータ入力SQL
CREATE TABLE `tasks` (
`id` int(11) unsigned NOT NULL auto_increment,
`content` text NOT NULL,
`status` enum('yet','done') NOT NULL default 'yet',
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `created` (`created`),
KEY `modified` (`modified`)
) ENGINE=MyISAM DEFAULT CHARSET=ujis AUTO_INCREMENT=4 ;
INSERT INTO `tasks` (`id`, `content`, `status`, `created...
(1, 'プログラマーズリファレンスガイドを一通り読む', 'don...
(2, 'ブログチュートリアルを行う', 'yet', '2007-08-21 02:...
(3, 'CakePHP情報サイトをRSSリーダーに登録する', 'yet', '...
|&attachref(LH_DB_todo作成Admin画面.JPG,zoom,150x150,butt...
|データベースtodo作成(EUC)|データテーブルtasksのSQLでの作...
↓app/config/database.phpの書き換え(私の場合はEUC(ujis))
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'todo',
'prefix' => '',
'encoding' => 'ujis'
);
}
?>
*コントローラの作成 [#n711aadb]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=2
コントローラを作成します。
/cake/app/controllers/tasks_controller.php
<?php
// app/controllers/tasks_controller.php
class TasksController extends AppController { //AppContr...
var $name = 'Tasks'; //controller名を定義(頭が大文字...
var $uses = array('Task'); //使用するmodel名を指定
function index() { //indexアクションの定義
$this->set('tasks', $this->Task->find('all', array('...
//モデルTaskのデータ全てを変数tasksに格納しビューに...
}
}
●CakePHP1.2からfindAll()が非推奨表現になり、汎用性のあるf...
書式の違いを示す。
<1.1>
findAll(null, null, 'Task.created ASC');
<1.2>
find('all', array('order'=>'Task.created ASC'));
**モデル作成前に実行してみる [#k4489c12]
modelの作成前に
http://localhost/cake/tasks とタイプして実行してみる。
●CakePHP1.2では、テキストの異なる「View Missing」の画面が...
CakePHP1.2では、modelがない場合は自動判定してプログラムを...
なった事が原因です。
●また、CakePHP1.2は、1.1と比較して画面デザインが大きく変...
&attachref(LH_cake_tasks_View不足エラー画面.JPG,zoom,300x...
*モデルの作成 [#d4a07b96]
(原典)http://gihyo.jp/dev/serial/01/cakephp/0005?page=3
モデルを作成します。
/cake/app/models/task.php
<?php
// app/models/task.php
class Task extends AppModel { //AppModelクラスを継承
var $name = 'Task'; //モデル名の定義(頭が大文字である...
}
viewの作成前に
http://localhost/cake/tasks とタイプして実行してみる。
modelの作成前と同じ画面です。
&attachref(LH_cake_tasks_View不足エラー画面_0.JPG,zoom,30...
*ビューの作成 [#ab313ac2]
viewを作成します。
/cake/app/views/tasks/index.ctp
<table>
<tr>
<th>Id</th>
<th>タスク内容</th>
<th>状態</th>
<th>作成日</th>
</tr>
<?php foreach ($tasks as $task) { ?>
<tr>
<td><?php echo h($task['Task']['id']) ?></td>
<td><?php echo h($task['Task']['content']) ?></td>
<td><?php echo h($task['Task']['status']) ?></td>
<td><?php echo h($task['Task']['created']) ?></td>
</tr>
<?php } ?>
</table>
●CakePHP1.2からviewのテンプレートファイルの拡張子が「.ctp...
変更になってます。1.1時代は「.thtml」でした。
●ビューファイルを保存する時は、設定した日本語文字コードタ...
(私の場合はEUCタイプです。)
実行画面 http://localhost/cake/tasks
&ref(LH_cake_tasks_index画面.JPG);
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.marcjacobs.us.com/ http://www.designerhandba...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- https://inspirationkeys.com https://wpwafer.com https:/...
- https://magvillage.wordpress.com https://mymag.hatenabl...
- https://wordpress.org/support/users/banditcaur/ https:/...
#comment_nospam
#vote(参考になった[11],ふつう[0],参考にならなかった[0])
ページ名: