トップページphp
1001コメント315KB

【PHP】フレームワーク CakePHP 2ホール目

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/11/14(水) 02:50:28ID:???
本家
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
0828nobodyさん2008/03/05(水) 15:21:35ID:???
>>825
> たとえば、データベースの一行だけでなく、複数行をいっぺんに表形式で入力したい。
> ここまでは質問&答えがあったきがするけど、
> そのとき、どこか一行でもエラーがあれば全部保存しない(それはトランザクションで解決)
> で、入力エラーがあったフィールドの下にエラーメッセージを表示させる。

少なくともこれが出来たら、「既にあるもの」と認めてもいいけど?
0829nobodyさん2008/03/05(水) 15:27:50ID:???
>>828
この自作ヘルパーしなくても普通に出せるやん。
入力エラーがあったフィールドの下にエラーメッセージを表示させる。だろ?
0830nobodyさん2008/03/05(水) 15:28:36ID:???
>>829
ただし、入力はエクセルのような表形式で複数行同時に。
前提をちゃんと読もうぜw
0831nobodyさん2008/03/05(水) 15:39:35ID:???
最近文章読めない奴多すぎw
文章が読めないのか、都合が悪い所を見ようとしないのか。
0832nobodyさん2008/03/05(水) 15:50:54ID:???
>>827
こないだ実装されたよ
以前は激しく使えなかったが最近はCakeにしちゃあ大分素直になってきてる
08338322008/03/05(水) 16:04:24ID:???
>>823
複数行一括入力は俺も試したけどFormHelperつかえねーよな。
少しでも手を入れようと中身を見ると余計な機能ばっかり大量に付いてて振り払う手間の方がかかる。
粒度の感覚がないんだろうな。もっと乱暴に言うと、おもてなし精神がねえ。
わかるよね言いたいこと。
0834nobodyさん2008/03/05(水) 16:12:26ID:???
おもてなしっつか、わきまえてねえって言った方がいいのかな。難しいな日本語。
0835nobodyさん2008/03/05(水) 16:18:08ID:???
>>833
Helperの癖に、モデルに依存しまくりなんだよな。激しく意味がわからんし。

たとえば、FormHelper::createだけどこんなコードになっている。
$currentModelってなに? ClassRegistry::getObject($currentModel);ってなに?

ClassRegistryって何をするもの? レジストリってことは誰かがどこかでその名前で登録するわけ?

> is_a($currentObject, 'Model')
モデルかどうかって何でそんなの調べるの? って感じだからね。
0836nobodyさん2008/03/05(水) 16:18:35ID:???
function create($model = null, $options = array()) {
 $defaultModel = null;
 $data = $this->fieldset;
 $view =& ClassRegistry::getObject('view');

中略
 if (empty($model) && $model !== false && !empty($this->params['models'])) {
  $model = $this->params['models'][0];
  $defaultModel = $this->params['models'][0];
 } elseif (empty($model) && empty($this->params['models'])) {
  $model = false;
 } elseif (is_string($model) && (strpos($model, '/') !== false || strpos($model, '.') !== false)) {
  $path = preg_split('/\/|\./', $model);
  $model = $path[count($path) - 1];
 }

中略

 if (ClassRegistry::isKeySet($model)) {
  $object =& ClassRegistry::getObject($model);
 }

 $models = ClassRegistry::keys();
 foreach ($models as $currentModel) {
  if (ClassRegistry::isKeySet($currentModel)) {
   $currentObject =& ClassRegistry::getObject($currentModel);
   if (is_a($currentObject, 'Model') && !empty($currentObject->validationErrors)) {
    $this->validationErrors[Inflector::camelize($currentModel)] =& $currentObject->validationErrors;
   }
  }
 }
0837nobodyさん2008/03/05(水) 17:38:57ID:???
誰か simpletest でコントローラをテストする方法教えてください。
モデルは乗ってるんだけど、コントローラーのやり方がいまいちわからない。

このスレに神がいたらブログにまとめてアップしてくれたらうれしいです。
・・・願ってます。
0838nobodyさん2008/03/05(水) 18:30:03ID:???
>>823
こいつが書く文章だけ、やけに読みにくい

データベースの一行だけでなく、複数行をいっぺんに表形式で入力したい
コミュニケーション能力無いやろ?
0839nobodyさん2008/03/05(水) 18:33:41ID:???
>>823
>>820

自分しかわからない書き方やめてくれるw
単語はわかるんだけど
文章のつながりが滅茶苦茶
0840nobodyさん2008/03/05(水) 18:58:46ID:???
>>827

認証後の飛び先だけ自分でコントロールすればいいだけじゃねの?

認証後の飛び先を認証直前の画面に設定ぐらい楽勝

その程度でオレオレ的っていうのか、しらんが

0841nobodyさん2008/03/05(水) 19:30:33ID:???
>>840
楽勝ならコード書いてみせて
口だけならなんとでも言える
0842nobodyさん2008/03/05(水) 19:41:00ID:???
>データベースの一行だけでなく、複数行をいっぺんに表形式で入力したい

この説明"すら"理解できないの?
0843nobodyさん2008/03/05(水) 19:45:29ID:???
書籍スレにいたAHOがこのスレに来てるwww
0844nobodyさん2008/03/05(水) 20:17:33ID:???
>>842
理解が出来る出来ない問題じゃなくて例えが悪すぎるよな
こういやつの書くコードは、どういうコード書くかなんとなくわかる
自分にしかわからないコードしか書かないよな
0845nobodyさん2008/03/05(水) 20:53:16ID:???
>>841
認証にこけて認証ページにリダイレクトする前にurlをセッションに入れて
認証完了後にそのurlに飛ばせばいいだけじゃね
0846nobodyさん2008/03/05(水) 21:02:22ID:???
リダイレクト先指定出来た筈だけど
0847nobodyさん2008/03/05(水) 22:44:19ID:???
たとえが悪いかどうかはおいといて、

意味がわかんないのに、”できる”と断言しちゃうやつ。
こいつのほうがよっぽどアフォだろ。
0848nobodyさん2008/03/05(水) 22:45:58ID:???
>>844
断言する。お前が理解能力無いだけ。
0849nobodyさん2008/03/05(水) 23:21:45ID:???
>>847
よく分かんない文章にこれがしたいの?
って提案してるだけだろ、本当にコミュニケーションが出来ないんだな。
0850nobodyさん2008/03/06(木) 02:45:38ID:???
>>848
理解能力とかより、わかりにくい文章でも度が過ぎるよな
特に>>820>>823
普通のコミュニケーションでもよく聞き返されるやろ?
もっと簡単な文章にできないか?
密度の薄い内容のクセに長文になってんだよwww


0851nobodyさん2008/03/06(木) 02:54:05ID:???
>>820
日本語でおk
0852nobodyさん2008/03/06(木) 03:01:56ID:???
>>847
>>848
同一人物による煽りw
もっと投稿時間の間隔空ければ不自然すぎるよ
0853nobodyさん2008/03/06(木) 09:43:53ID:???
>>852
勝手に同一人物にするなw

理解能力も無い、この程度の長文(?)も読めない、コミュニケーション能力も無い。
その上妄想で他人をあおることしかできない。
0854nobodyさん2008/03/06(木) 09:54:29ID:???
>>853
長文というか80%が駄文だし
そんな駄文を理解しようとする為に無駄なパワーを使いたくないから
もっと楽に読める内容の濃いわかりやすい文章にしろよ
0855nobodyさん2008/03/06(木) 10:45:54ID:???
えーと、具体的に820のどこが理解できないか教えてくれないかな(´・ω・`)
YOUの部分を日本語に訳せばいいのかな。

個人的には、MVCの役割分担の考え方についてはフレームワーク自体の根深い部分だと思うから
他の人の話もききたかったりする。Cakeの実装の是非とか。
0856nobodyさん2008/03/06(木) 11:06:31ID:???
こいつ(>>で書くのは面倒。言わなくても本人含めてわかるだろ?)の場合、
理解力が無いというより、単に実戦経験が無いのだろうな。

実戦経験があれば、表形式での入力とか、
セッションもモデルの一部じゃね?(という疑問)とか
そういうのは、これだけ書いてあっていても、あーあのことねって
わかると思うんだが。
0857nobodyさん2008/03/06(木) 11:22:57ID:???
>>837
> 誰か simpletest でコントローラをテストする方法教えてください。

コントローラのテストは少なくとも二つのやり方がある。

一つは、CakeTestCase::testAction($url, $params = array()) で
actionを呼ぶ方法。

もう一つはCakeTestCaseの代わりにCakeWebTestCaseを継承したテストクラスを作り
CakeTestCase::get(アドレス)、CakeTestCase::click、CakeTestCase::clickLinkById、
CakeTestCase::setFieldByName、CakeTestCase::clickSubmitById
CakeTestCase::assertPatternなどで、あたかもブラウザを操作しているかのごとく
ページを移動していきながらテストする方法。

> このスレに神がいたらブログにまとめてアップしてくれたらうれしいです。
まとめたいのは山々なんだが、時間が・・・。
0858nobodyさん2008/03/06(木) 11:26:31ID:???
あと、CakeWebTestCaseを使った場合の注意点だけど
普通のテストではテスト用のデータベース設定が使われるわけだが
(つまりtest_suite_というプリフィックスがついたテーブルを使用する)

CakeWebTestCaseはブラウザでアクセスしていることになるので、
テスト用のデータベース設定が使われない。
これじゃいろいろまずいので↓ここの記事ではCookieを設定することで対応している。
http://gignus.com/blog/posts/view/13

一方俺は、CakeWebTestCase::addHeader を利用した。
0859nobodyさん2008/03/06(木) 15:18:52ID:???
>>857
>>858

おぉ〜!神様、仏様。
ありがとうございます。

simpletestじゃなさそうですが、コントローラーはsimpletest でテストできないってことでOKでしょうか。

cakewebtestcase 見てみます!ありがとう。
0860nobodyさん2008/03/06(木) 17:08:09ID:???
>>855
駄文が多いだけで、意味のあることがひとつも書いてない
あとは自作ヘルパーの自慢?
悪いけどオナニー的な文章になってるんだよ
気づいてない?
>>856
自演乙
0861nobodyさん2008/03/06(木) 17:14:50ID:???
>>856
だろう運転と会話は事故の元
誰もが自分と同じ思考をし理解してくれるなんてありえない。
しまいには相手を馬鹿にして切り捨てる。

個別の技術的な話っていうより、文章の分かりにくさと対応がつっこまれてるんだと思うよ。
0862nobodyさん2008/03/06(木) 17:21:49ID:???
>>855
どう考えても他の人の話を聞く姿勢ではないよな!
攻撃的な姿勢でどうやって有意義な情報を聞き出すことが出来るんだよ

0863nobodyさん2008/03/06(木) 17:30:26ID:???
小馬鹿にする表現が多いよな
脳障害患者とかな!
一言で言えば嵐に近い。

最近は>>777が常駐して荒らしてるだけだから
0864nobodyさん2008/03/06(木) 17:33:27ID:???
>>855
他の人の話もききたかったりする

脳障害患者呼ばわりしたいから?w
0865nobodyさん2008/03/06(木) 18:00:39ID:???
>>859
simpletestだよ。

というか、まさかと思うけど、CakePHPはsimpletestに対応していて
simpletestをvendorだっけ?にインストールして、
/test.php にアクセスするとテスト環境になるってこと知らないとか?

1.2の話だけど、1.1でも同じじゃなかったかな?

で、simpletestにはブラウザのようにアクセスするWebTestCaseってのがついている。
CakePHPはそれを継承してCakeWebTestCaseにしているだけ。
0866nobodyさん2008/03/06(木) 18:01:39ID:???
>>863 いや、常駐しているのはお前。嵐もお前。
0867nobodyさん2008/03/06(木) 19:28:46ID:???
っていうかID出ないからそんな事言いあっても時間の無駄
0868nobodyさん2008/03/06(木) 21:33:38ID:???
>>865

ありがとうございます。simpletest なのですね。

test.php でアクセスするとできるのも見ました。
勉強します。ありがとうございます!
0869nobodyさん2008/03/06(木) 22:57:57ID:???
837     誰か simpletest でコントローラをテストする方法教えてください。 モデルは乗ってる...
└857     >>837 > 誰か simpletest でコントローラをテストする方法教えてください。 コ...
 └859     >>857 >>858 おぉ〜!神様、仏様。 ありがとうございます。 simpletestじ...
  └865     >>859 simpletestだよ。 というか、まさかと思うけど、CakePHPはsimpletes...
   └868     >>865 ありがとうございます。simpletest なのですね。 test.php でア...

テストの仕方ってあんまり情報無いよね。
どこかにまとまってないのだろうか。
0870nobodyさん2008/03/07(金) 00:28:29ID:???
>>869
>>869
0871nobodyさん2008/03/07(金) 13:19:14ID:TbKF7E3a
質問させてください。
Windows & cake1.2 です。
app/config/bootstrap.phpに下記のような記述をしました。
$myDefines['aaa']['bbb'] = array(
'a' => 'あ',
'b' => 'びー',
);
これをビューやコントローラーで使用したいのですがどうすれば。。
現状、pr( $myDefines); とかやると定義されてないよnoticeエラーがでる。
0872nobodyさん2008/03/07(金) 14:59:15ID:???
>>869

教えて頂いたお礼に 頑張ってまとめてアップしてみたいと思います。

CakeWebTestCase ← これいいっすね。
0873nobodyさん2008/03/07(金) 15:31:36ID:???
>>872
期待してます。

こちらだと問題あれば、こっそりcakephpの日本フォーラムとかでも嬉しいかも
08748712008/03/07(金) 16:43:55ID:???
関数にすることで自己解決しました。
function temp(
 return $myDefines['aaa']['bbb'] = array(
  'a' => 'あ',
  'b' => 'びー',
 );
);
0875nobodyさん2008/03/07(金) 18:40:12ID:???
>>871
なんか使い方が間違っている気がする・・・
どういう内容の変数なのかによるからなんともいえないけど。
08768712008/03/07(金) 18:59:05ID:???
>>875
うへぇ
enum型の表示名とかがおもです。
define使えば問題なく使えるんですが、配列で欲しいわけです。
globalなんてしたくないし・・・。
ダメですかねーん?
08778752008/03/07(金) 19:48:19ID:???
>>876
言った本人が言うのもなんだけど、どうなんだろう?
どうも最近そういうグローバルな値なんて使わないもので、
enum型もほしいと思ったことが無いんだよな。
そういうのは大体クラス内部で収まっているし。

設定ファイルに書いて、必要な箇所(関数の頭かクラスのコンストラクタ)で
読み込むことが多いし。でも確かに少量ならbootstrapに書いたほうがいい気もする。

なんだろう。このもやもや。
0878nobodyさん2008/03/07(金) 20:35:01ID:???
こんふぃぎゃーらいとでいいじゃん
0879nobodyさん2008/03/08(土) 06:53:02ID:???
>>871
明らかに変だろw


ツーか最近変数スコープの事考えない奴多すぎないか
08808712008/03/08(土) 16:27:54ID:???
>>879
具体的にどうやれば正解なの?
0881nobodyさん2008/03/08(土) 16:58:13ID:???
>>880
http://book.cakephp.org/view/39/configuration
0882nobodyさん2008/03/09(日) 07:50:38ID:???
>>871
CakePHPは2次元の連想配列は使えない
0883nobodyさん2008/03/09(日) 07:54:39ID:???
>>877
グローバルな値はCakePHPがデェフォでかなり埋め込んでるけどな
グローバルを全く使わないって発想はCakePHPを否定してるよな
0884nobodyさん2008/03/09(日) 08:01:58ID:???
>>877
おまいらのクラス定義は全部グローバルやんwww
CakePHPは名前空間を使ってないグローバルなフレームワークやんwww
なにを今さらグローバル気にしてんねん
0885nobodyさん2008/03/09(日) 08:24:21ID:???
PHP5の最新機能全然使えてないじゃん
こんなグローバル指向なフレームワーク使うんやったら
自分でフレームワーク作った方がマシやろ
0886nobodyさん2008/03/09(日) 10:41:20ID:???
グローバル変数がよくないのであって、
クローバスクラス定義は普通のもの。
0887nobodyさん2008/03/09(日) 19:37:33ID:???
グローバル変数がよくないって
全く無いのもダメだろ要はバランス
CakePHPのような最初から骨組みが決定してるものは
仕様方針と骨組みが多少異なれば
はみだしたこともしないといけない
0888nobodyさん2008/03/09(日) 19:42:05ID:???
PHP4自体がグローバル多様を考えて作られてる
要はスクリプト言語のメリットを活かし
プログラム言語のような複雑化を避けるため
グローバルを気にして設計するなら
Javaとかに移るべき
PHPはグローバルを使うことでメリットのある言語
0889nobodyさん2008/03/09(日) 19:45:41ID:???
PHPは言語的にまだまだオブジェクト指向向きではない
それなのにRailsの影響でフレームワーク化してるけど
PHPの方が全く追いついてない状態
0890nobodyさん2008/03/09(日) 19:51:46ID:???
おかしいなぁ。CakePHPを使ってから、
global ってキーワードを使った記憶がないんだが?
0891nobodyさん2008/03/09(日) 20:04:12ID:???
CakePHPがしっかりとしたオブジェクト指向だから
グローバル変数なくても作れるね。
0892nobodyさん2008/03/09(日) 20:08:55ID:???
CakePHPでしっかりしたオブジェクト指向作るのは不可能
なぜならPHP自体がしっかりしてないんだから
グローバル変数使いまくりの方がPHPにはメリットがある
Railsのマネするなら
Rubyみたいにしっかりとしたオブジェクト指向言語じゃないと
0893nobodyさん2008/03/09(日) 20:32:06ID:???
CakePHPはデフォでかなりののグローバル変数が定義されてるんですが・・・
小さい掲示板つくるだけで、こんなに余計なグローバル変数定義されるのかよ
0894nobodyさん2008/03/09(日) 20:48:54ID:???
まじ?聞きしに勝るゲロ以下さだなwww
symfonyなんて律儀に使った変数をunsetしていくのにwww
0895nobodyさん2008/03/09(日) 21:00:06ID:???
CakePHPは定数の量も半端なく異常
0896nobodyさん2008/03/09(日) 21:20:15ID:???
食ったら腹壊すwww
0897nobodyさん2008/03/09(日) 21:21:07ID:???
>>893
お前、PHP知らないだろ?w

PHPではグローバル変数を使うときには、
global って書かないといけないんだよ。
だから使っていて、知らないということはありえない。

CakePHPでは、globalを使わなくて作れるのは事実。
0898nobodyさん2008/03/09(日) 21:27:54ID:???
CakePHPのコアライブラリをglobalという単語で検索したが、
一箇所しか、使っていなかったな。

その一箇所も、ADODB用のデータベースライブラリで
ADODBの動作モードを変更するためのだけのコード。
0899nobodyさん2008/03/09(日) 21:54:15ID:???
>>898

897がCakePHPでは、globalを使わなくて作れるのは事実。

0900nobodyさん2008/03/09(日) 21:57:23ID:???
クラス外で変数(ローカル変数じゃないよね?)定義するのはOKてこと?
0901nobodyさん2008/03/09(日) 22:00:31ID:???
クラス外ってどこで定義するんだよ?
0902nobodyさん2008/03/09(日) 22:02:01ID:???
グローバル変数の意味をわかってない奴が多い

グローバル変数

変数にはスコープと呼ばれる有効範囲があります。
スコープの最も外側の部分、 スクリプト中でどの関数にも含まれていない部分で
定義された変数をグローバ ル変数とよびます。
0903nobodyさん2008/03/09(日) 22:02:41ID:???
>>901
スコープの最も外側の部分、 スクリプト中でどの関数にも含まれていない部分
0904nobodyさん2008/03/09(日) 22:04:30ID:???
>>901
たとえば、コントローラクラスなどの

<?php
class XXXController extends AppController {
}
?>

の<?php と classの間とか。

まあ、普通はこんなところに、書かないよね?
0905nobodyさん2008/03/09(日) 22:06:21ID:???
>>904
ボロが出たなw素人乙!
0906nobodyさん2008/03/09(日) 22:07:59ID:???
>>904
クラス外に変数定義することは普通にあるよ
0907nobodyさん2008/03/09(日) 22:08:05ID:???
>>905
どこか間違っているか?

CakePHPでは、作るコードのほぼすべてを
クラスとしてつくり、普通の作り方をすると、
グローバル変数なんか使わないだろ?
0908nobodyさん2008/03/09(日) 22:08:55ID:???
>>906
どこ?
0909nobodyさん2008/03/09(日) 22:21:11ID:???
関数内でグローバル変数を参照するとき、
global 変数名 ってしないと参照できないって仕様、
最初はウザイと思っていたが、グローバル変数使わなくなってからは
どうでもよくなったな。これもCakePHPのおかげかな?
0910nobodyさん2008/03/09(日) 22:30:37ID:???
>>909
それはCakePHPのおかげというのがよくわからない・・・
0911nobodyさん2008/03/09(日) 22:37:41ID:???
クラス外変数(グローバル変数?)の定義ファイルで
変数宣言してる行数
2000行見つけたんですが!
ちなみに変数名は
$config
これって各クラスでグローバル参照できる変数だよね
0912nobodyさん2008/03/09(日) 22:38:56ID:???
>>910

CakePHPというオブジェクト指向のフレームワークのおかげで、
クラスを使ってコアのクラスを継承して実装することが求められ、
必要な値が、クラス変数に格納されるから、しっかりした作り方ができる。
0913nobodyさん2008/03/09(日) 22:40:31ID:???
>>911

変数名でグローバルかどうかなんてわかるはずないだろw
それがどのファイルに定義されていたのか
なぜ、それをいえない?
0914nobodyさん2008/03/09(日) 22:45:26ID:???
本来、一つ宣言すれば十分なグローバル変数が
「変数宣言している行数2000行、その変数名は$config」の時点で
嘘だとばれるだろ。常識で考えて。
0915nobodyさん2008/03/09(日) 22:51:21ID:???
確かにcasefoldingフォルダの中に
恐ろしいほどスコープに括られてない変数(グローバル変数?)がある
0916nobodyさん2008/03/09(日) 22:52:20ID:???
>>915
ホントだw
0917nobodyさん2008/03/09(日) 22:59:32ID:???
きっとそれをグローバル変数だと勘違いしているのだろうが、

簡単に言うと、このようにローカル変数として展開されている。
class ??? {
 function ??? () {
  include(そのファイル)
 }
}

一見、ファイルだけを見て、それがクラスの中にないからといって、
それがグローバル変数だとは限らないんですよ。

アフォが自滅して終わりです。ちゃんちゃん。
0918nobodyさん2008/03/09(日) 23:02:26ID:???
>>917
どのファイル?
0919nobodyさん2008/03/09(日) 23:03:54ID:???
string.php
0920nobodyさん2008/03/09(日) 23:11:12ID:???
extract.php

これはクラス外で宣言してるのは何で?
0921nobodyさん2008/03/09(日) 23:15:12ID:???
cakeが黒こげwww
0922nobodyさん2008/03/09(日) 23:15:16ID:???
>>920
そのファイルも、ほかのクラスの関数から
読み込まれているからローカル変数になっている。

それがグローバル変数だと思ったら、どこかの関数で
global その変数名; って書いて、実際にその変数を参照できるか調べろよ。
(別に関数じゃなくても、変数定義されている、そのファイル自身と
そのファイルの呼び出し元関数以外ならどこでもいいが)

できないからさ。
0923nobodyさん2008/03/09(日) 23:20:07ID:???
>>922
どのクラス関数から読み込まれてるんだ?
調べたが、どのクラス関数からも呼び出されてないぞ
0924nobodyさん2008/03/09(日) 23:24:41ID:???
>>922
クラス定義されてるファイルを
クラスから呼び出すということは

クラス内でクラスを作るということになるんだが?

a.inc
<?php
$a="a";
class A{
}
?>

class A {

include "a.inc";

}
0925nobodyさん2008/03/09(日) 23:28:52ID:???
>>923
i18n.phpのvar $tasks = array('DbConfig', 'Extract');変数設定により、
フレームワークから読み込まれていますが?
0926nobodyさん2008/03/09(日) 23:34:25ID:???
フロントコントローラで作られたPHP製のアプリで
globalキーワードがついていない、変数定義は
ほぼすべて、グローバル変数ではないと思っていい。

フロントコントローラとは、要するに、どのアドレスでアクセスしても、
まず最初に、index.php といった決まった、phpスクリプトが呼ばれる。

そこからユーザーが作ったコードは、関数の中から呼び出された関数の
そのまた中の関数から呼ばれた関数の・・・といくつかの関数(当然メソッド含む)を経て実行される。
つまり、ほとんどが、関数内に読み込まれるファイルとして成り立っているので、
その関数内スコープで、グローバル変数を定義するには、globalキーワードが必要不可欠。

globalキーワードを使わずに、グローバル変数を作るには、どの関数からも呼ばれていない
index.php ぐらいで定義するしかない。
0927nobodyさん2008/03/09(日) 23:34:30ID:???
>>925
それは変数に値を入れてるだけじゃん
どうやって読み込んでるの?
レス数が900を超えています。1000を超えると表示できなくなるよ。