新しいブログに移動しました。
9ensanのLifeHack
こちらの記事も必要に応じて新しいブログに移動させる予定です。
今後ともよろしくお願い致します。

HOME > 

CakePHP

CakePHPのfindの第1引数による戻り値の違い

  • 2009.05.13 (水) 13:58
  • PHP
  • ,

CakePHPでfindメソッドを使用した場合の戻り値についてです。

このようになテーブルを作成し、データを登録して検索します。

フィールド 種別
id int(11)
name varchar(255)
title varchar(255)
content text

 findの第1引数が「all」の場合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
array(1) {
  [0]=>
  array(1) {
    ["Board"]=>
    array(4) {
      ["id"]=>
      string(1) "2"
      ["name"]=>
      string(18) "あんぱんまん"
      ["title"]=>
      string(21) "しょくぱんまん"
      ["content"]=>
      string(21) "かれーぱんまん"
    }
  }
}

 findの第1引数が「first」の場合

1
2
3
4
5
6
7
8
9
10
11
12
13
array(1) {
  ["Board"]=>
  array(4) {
    ["id"]=>
    string(1) "2"
    ["name"]=>
    string(18) "あんぱんまん"
    ["title"]=>
    string(21) "しょくぱんまん"
    ["content"]=>
    string(21) "かれーぱんまん"
  }
}

findの第1引数が「list」の場合

1
2
3
4
array(1) {
  [2]=>
  string(21) "しょくぱんまん"
}

findの第1引数が「count」の場合

1
int(1)

CakePHPのControllerの命名規則

  • 2009.05.06 (水) 22:59
  • PHP

CakePHPでのControllerの命名規則です。

例)hello_controller.php

1
2
3
4
5
6
7
8
9
10
11
<?php
class HelloController extends AppController {
 
    public $name = 'Hello';
 
    function index()
    {
        echo "hello world!";
    }
}
?>

「AppController」を継承するコントローラーを作成します。

クラス名:<名前>Controller

ファイル名:<名前>_controller.php

となります。

 

CakePHPでNot Foundになってしまった場合

  • 2009.04.23 (木) 13:57
  • PHP

symfony、codeigniterなどのPHPフレームワークを使用したことがあったけど、CakePHPは使用したことがなかった。

symfonyを最近は仕事で使っていてなんか大規模システムを構築するのにあってそうなイメージを感じた。

今度、CakePHPで仕事をする可能性があるので勉強します。

でとりあえず動かそうとしたとき

「http://192.168.106.10/hashizume/cake/」でシステムにアクセスしたら

404 Not Foundが表示された・・・どおして。

 

調べていると.htaccessのRewriteBaseが「/」であることが前提となっているみたいなので修正しました。

修正箇所はRewriteBaseの行を追加しました。

 

1
2
3
4
5
6
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase    /hashizume/cake/
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
1
2
3
4
5
6
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase    /hashizume/cake/app/
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>
1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /hashizume/cake/app/webroot/
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

これでNotFoundがなくなりました。

お薦めのレンタルサーバー
広告
お薦めの書籍
HOME > 

CakePHP