PHPの1.X系と、2.X系で何が違うのか
同じものを作って比較してみる。
前回までで、1.Xと2.Xで、モデルを使わない形での話だったので、
今回は、モデルを使って、1.X系でのお話をする
■お題
その1
http://blog.goo.ne.jp/xmldtp/e/493d369c8d635b3a269d4e02dcc7ae95
と同じお題なのだが、
RDBのMySQL内(データベース名test)に、
usersというテーブルがあって、
こんな感じ
で、項目(id,user_name,kaisuの3項目)とデータが入っている。
これを検索し、
入力された名前がDBのuser_nameと一致したら、
そのデータのkaisuに1を足して表示
入力された名前がDBのuser_nameになかったら
1回目と表示して
データをDBに保存する。
■追加・修正部分
今回は、モデル部分を追加する(基本的にcakePHPの命名規約[2]に準拠)。
また、コントローラー部分(my_test_controller.php)を修正することになる。
とくに、コントローラー名とモデル名が違うケースとなる。
ファイル構造は、以下のとおり
app
|
|-controllers
| |
| *-my_test_controller.php
|
|-models
| |
| *-user.php
|
*- views
|
*-my_test
|
|-hello.ctp
|
*-index.ctp
赤字が変更・追加部分
■追加・修正ファイル
変更・追加したファイル(上記の赤字)のみ掲載する。変わらないViewについては、
その1を参照
●コントローラー部分の修正my_test_controller.php
●モデル部分の追加user.php
参考文献[1][3]を参考に作成
■参考文献
[1]CakePHPのModelを使う データベース関連処理をシンプルに解決
http://puyo2.upper.jp/cake/files/cakephp4.pdf
[2]cakePHP クラス名、モデル名の命名ルール
http://www.wakatta-blog.com/cakephp_2.html
[3]CakePHPのfind, findAll, findCount, delete, deleteAll
http://techracho.bpsinc.jp/piichan1031/2009_01_21/132
同じものを作って比較してみる。
前回までで、1.Xと2.Xで、モデルを使わない形での話だったので、
今回は、モデルを使って、1.X系でのお話をする
■お題
その1
http://blog.goo.ne.jp/xmldtp/e/493d369c8d635b3a269d4e02dcc7ae95
と同じお題なのだが、
RDBのMySQL内(データベース名test)に、
usersというテーブルがあって、
こんな感じ
で、項目(id,user_name,kaisuの3項目)とデータが入っている。
これを検索し、
入力された名前がDBのuser_nameと一致したら、
そのデータのkaisuに1を足して表示
入力された名前がDBのuser_nameになかったら
1回目と表示して
データをDBに保存する。
■追加・修正部分
今回は、モデル部分を追加する(基本的にcakePHPの命名規約[2]に準拠)。
また、コントローラー部分(my_test_controller.php)を修正することになる。
とくに、コントローラー名とモデル名が違うケースとなる。
ファイル構造は、以下のとおり
app
|
|-controllers
| |
| *-my_test_controller.php
|
|-models
| |
| *-user.php
|
*- views
|
*-my_test
|
|-hello.ctp
|
*-index.ctp
赤字が変更・追加部分
■追加・修正ファイル
変更・追加したファイル(上記の赤字)のみ掲載する。変わらないViewについては、
その1を参照
●コントローラー部分の修正my_test_controller.php
<?php class MyTestController extends AppController { var $name = 'MyTest'; public $uses = 'User'; public function index() { } public function hello() { // 画面引数の取得 $yourname =$this->params['form']['yourname']; // DBアクセスして値取得 $condition = array("user_name" => $yourname); $records = $this->User->find("first",array("conditions" => $condition)); if ( count($records['User']) > 0 ) { $kaisu = $records['User']['kaisu'] + 1; // DBアクセスして更新 $data['User'] = array('id' => $records['User']['id'], 'kaisu' => $kaisu); $fields = array('kaisu'); $this->User->save($data, false, $fields); } else { $kaisu = 1; // DBアクセスして追加 $data['User'] = array('user_name' => $yourname, 'kaisu' => 1); $this->User->save($data); } // Viewに設定 $this->set('yourname',$yourname); $this->set('kaisu',$kaisu); } } |
●モデル部分の追加user.php
|
参考文献[1][3]を参考に作成
■参考文献
[1]CakePHPのModelを使う データベース関連処理をシンプルに解決
http://puyo2.upper.jp/cake/files/cakephp4.pdf
[2]cakePHP クラス名、モデル名の命名ルール
http://www.wakatta-blog.com/cakephp_2.html
[3]CakePHPのfind, findAll, findCount, delete, deleteAll
http://techracho.bpsinc.jp/piichan1031/2009_01_21/132
だそうな。
Lineの今の状況を見ると、堀江氏が旧ライブドアをで築きあげた
ICTに貢献した部分は大きかったと思うが、
今後はどうか・・
堀江貴文元社長が仮釈放 旧ライブドア粉飾決算事件
http://news.goo.ne.jp/article/asahi/nation/TKY201303270067.html
Lineの今の状況を見ると、堀江氏が旧ライブドアをで築きあげた
ICTに貢献した部分は大きかったと思うが、
今後はどうか・・
堀江貴文元社長が仮釈放 旧ライブドア粉飾決算事件
http://news.goo.ne.jp/article/asahi/nation/TKY201303270067.html
という内容の記事が、
日経ネットワーク 2013年4月号
17ページの「ニュースヘッドライン」に載っているけど、
この元ネタは、
『企業IT動向調査2013』
http://www.juas.or.jp/servey/it13/index.html
の
プレスリリース (スマートフォン/タブレットの導入状況:2013年2月27日)(PDF:236KB)
http://www.juas.or.jp/servey/it13/it13_SMH.pdf
(以下太字は上記PDFより引用)
企業に浸透するスマートフォン/タブレット、3 割弱が「導入済み」
「BYOD」を認めているのは16.0%、一部解禁を検討は20.0%
だそうな。ただし
増加の勢いが弱まる兆しもあります。
「検討中」まで含めた割合は、スマートフォンで減少。
タブレットも横ばいでした。
BYODについて
一番多い回答は「認めていない。将来も認めない予定」の45.1%でした。
とのこと。
日経ネットワーク 2013年4月号
17ページの「ニュースヘッドライン」に載っているけど、
この元ネタは、
『企業IT動向調査2013』
http://www.juas.or.jp/servey/it13/index.html
の
プレスリリース (スマートフォン/タブレットの導入状況:2013年2月27日)(PDF:236KB)
http://www.juas.or.jp/servey/it13/it13_SMH.pdf
(以下太字は上記PDFより引用)
企業に浸透するスマートフォン/タブレット、3 割弱が「導入済み」
「BYOD」を認めているのは16.0%、一部解禁を検討は20.0%
だそうな。ただし
増加の勢いが弱まる兆しもあります。
「検討中」まで含めた割合は、スマートフォンで減少。
タブレットも横ばいでした。
BYODについて
一番多い回答は「認めていない。将来も認めない予定」の45.1%でした。
とのこと。