トップページ⇒php
1002コメント356KB

【PHP】フレームワーク CakePHP 17ホール目【v3α】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2014/08/02(土) 21:57:41.01ID:LI0DdohH
CakePHPは、Ruby on Railsの概念の多くを取り入れた、高速開発とPHPの機動性を兼ね備えたフレームワーク
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
cookbook(マニュアル)
[3.x] http://book.cakephp.org/3.0/
[2.x] http://book.cakephp.org/2.0/ja/
[1.3] http://book.cakephp.org/1.3/ja/
Twitter
https://twitter.com/cakephp
Facebook
https://www.facebook.com/CakePHP

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


※前スレ
http://kanae.2ch.net/test/read.cgi/php/1393661004/
0478nobodyさん2015/04/30(木) 12:27:23.16ID:???
>>477
どうやって別にしてるか簡単にソース書いてみ
0479nobodyさん2015/04/30(木) 18:28:35.07ID:???
cakephp2.5で、データベースを使いたくない場合、
コントローラーにpublic $uses = nullとしているんですが
相変わらず
Error: Cannot access empty property
というエラーが表示されるんですが、どうしたらいいでしょうか?
0480nobodyさん2015/04/30(木) 20:39:57.17ID:???
>>478
ありがとさんくす
class TasksController extends AppController {

public $components = array(
'Auth' => array(
'loginRedirect' => array(
'controller' => 'offerpage',
'action' => 'index'
),
'logoutRedirect' => array(
'controller' => 'offers',
'action' => 'login',
),
'authenticate' => array(
'Form' => array(
'userModel' => 'Offer',
'passwordHasher' => 'Blowfish'
)
)
)
);

public function beforeFilter(){
# parent::beforeFilter();
// ユーザー自身による登録とログアウトを許可する
$this->Auth->allow('add', 'logout');
# offers,adminsログインと混同しないように
AuthComponent::$sessionKey = 'Auth.offers';
}
0481nobodyさん2015/04/30(木) 20:40:36.55ID:???
と
class UsersController extends AppController {

public $components = array(
'Auth' => array(
'loginRedirect' => array( 'controller' => 'mypage', 'action' => 'index' ),
'logoutRedirect' => array( 'controller' => 'users', 'action' => 'login' ),
'authenticate' => array(
'Form' => array(
'userModel' => 'User',
'fields' => array('username' => 'email','password' => 'password'),
'passwordHasher' => 'Blowfish'
)
),
'authError' => 'Eメールアドレスとパスワードを入力してください',
)
);

public function beforeFilter(){
parent::beforeFilter();
// ユーザー自身による登録とログアウトを許可する
$this->Auth->allow('add','logout');
# offers,adminsログインと混同しないように
AuthComponent::$sessionKey = 'Auth.users';

です
0482nobodyさん2015/04/30(木) 20:44:57.61ID:???
>>479
nullじゃなくてfalseじゃね
0483nobodyさん2015/04/30(木) 20:58:11.41ID:???
>>482
nullとfalse両方でやってみたけど以下のエラーを吐いてしまいます…
Fatal error: Cannot access empty property in /home/xxx/www/cakephp/lib/Cake/Controller/Controller.php on line 437
0484nobodyさん2015/04/30(木) 21:50:07.20ID:???
>>483
$usesじゃなくて$useTableじゃね
0485nobodyさん2015/05/01(金) 03:25:03.53ID:???
>>484
さんくす!!
0486nobodyさん2015/05/05(火) 07:01:11.64ID:???
paginatorで、本来とは違うモデル(データーベース)のin句を使いたいんですけど
やり方が分かりません
誰かやり方を教えてくれませんか?
0487nobodyさん2015/05/05(火) 20:48:55.06ID:???
>>486
標準のページングと違う動作をさせたければ
paginateCount()とpaginate()という関数を
モデルかビヘイビアに作り、paginateCountで全体の件数、
paginateで1ページ分のデータをreturnするよう実装すればいい

引数とかの詳細はマニュアルに書いてある
http://book.cakephp.org/2.0/ja/core-libraries/components/pagination.html#id3
0488nobodyさん2015/05/06(水) 18:37:43.56ID:???
>>486
もうちょっと具体的に書いてもらわないと何とも
0489nobodyさん2015/05/06(水) 19:12:43.08ID:???
そもそもpagenatorでin句って使えるの???
0490nobodyさん2015/05/06(水) 20:39:42.84ID:???
countとれるconditionsなら何でもいけるんじゃないの
0491nobodyさん2015/05/07(木) 22:42:13.49ID:???
Paginatorのビュー表示、$this->Paginator->numbersで
「1|2|3|4|5」と表示して5をクリックしたら、
「3|4|5|6|7」と表示させることって出来るのでしょうか?
0492nobodyさん2015/05/08(金) 00:05:45.85ID:???
>>491
むしろ自動でそうならない?
04934862015/05/09(土) 08:14:27.22ID:???
みなさんレスありがとうございます。
結局、IN句がどうしても入らないので(文字列扱いになる)、
ORを利用することで解決しました

もしIN句で実現できるよーって人がいましたらレスしてくれると嬉しいです。
0494nobodyさん2015/05/09(土) 12:00:46.20ID:???
>>493
inはorやnot inとかと違って、明示的に書かずに配列を入れるだけでいいはずだよ
普通のfindのconditionsではin動いてる?
0495nobodyさん2015/05/09(土) 13:18:29.99ID:???
>>492
自動って、$this->Paginator->numbers()を出力したらということですか?
このままではなりません。普通に、5|6|7・・・とページが増えるだけです。
0496nobodyさん2015/05/09(土) 13:29:34.52ID:???
>>495
引数のmodulesの数を4とかに調整してみ
0497nobodyさん2015/05/09(土) 13:58:19.35ID:HYo3XLyg
>>492
自動ではならなかったと思うが…。
0498nobodyさん2015/05/13(水) 13:39:51.91ID:???
1対1のテーブルの場合(usersとprofilesとする)、
これまでprofilesにuser_idを追加していたんだけど、必要なかったんだね。
profilesのidのauto_incrementを止めて、
ProfileモデルにprimaryKey='id'とすれば、saveもfindも問題なく拾ってくれる。

既出だと思うが、自分としては発見だったのでメモする。
0499nobodyさん2015/05/13(水) 22:16:31.12ID:???
>>498
hasoneかつbelongstoでお互い同じidならってこと?
便利そうに見えるけど何となく気持ち悪い気もする
0500nobodyさん2015/05/13(水) 22:27:43.38ID:???
>>499
users:id
profiles:user_id

にも出来るよ。見た目的にはこの方が良いかも。
0501nobodyさん2015/05/13(水) 23:51:45.42ID:???
>>500
idの代わりにuser_idをプライマリにするのね
それならまだわかる
0502nobodyさん2015/05/19(火) 12:15:05.85ID:jQo/pXrB
任意のタイミングでユーザのセッションを切りかつ認証を拒否する
エレガントな方法ってありますでしょうか?

セッションにユーザのIDとパスワードを入れといて
ページ遷移ごとにいちいち認証かけるってのも、あるけど
非セキュアな気がして気が進みません。。。
0503nobodyさん2015/05/19(火) 13:20:38.39ID:???
Auth使う方法は駄目なの?
0504nobodyさん2015/05/19(火) 17:12:56.72ID:c25x6ol9
物凄く小規模なDB操作(例えばテーブル1つとか)の場合、
Cake使うまでもないと思いますが、皆さんはどうしてますか?

PDOと使うとか別の小規模フレームワーク使うとかPHP直書きとか
色んなパターンあると思いますが、出来るだけ手間なく使える方法が知りたいです。
0505nobodyさん2015/05/19(火) 20:16:10.79ID:???
>>504
どんなに小さくてもCake使ってる
0506nobodyさん2015/05/19(火) 23:13:58.17ID:???
>>502
セッションの使い方が間違ってる気がする
普通にauthコンポーネント使って任意のタイミングでsession消すか
logoutさせればok

>>504
1ファイルで収まる程度ならpure php
それ以上ならcakephp使うわ
ミニマルフレームワークに学習コストかける気になれない
05075042015/05/19(火) 23:46:28.25ID:???
>>505-506
DB登録とか参照をどうするか悩んでいます。
Cakeの書き方がベストとはいえ、ページの一部だけに使うのでMVCは必要なく、
かといって、SQL文を直書きなのもどうかと思ったり。
SQLインジェクション対策とか必要ですし。
0508nobodyさん2015/05/20(水) 07:47:42.44ID:???
>>507
そこはPDOしかない
セキュリティー的にはいろいろ言われてるけど
きちんと使えば大丈夫
のはず
0509nobodyさん2015/05/21(木) 21:37:14.24ID:???
>>507
そんなに不安がるということはかなりの初心者だね?
もう一度PHPを基本からじっくり勉強し直した方が良いかもよ。
0510nobodyさん2015/06/03(水) 21:07:19.92ID:???
完全に嵌ったので教えて・・・・・・。

WEBサーバはnginxで「/var/www/docroot/hello/cake」にCakeを置きました。
ドキュメントルートは「/var/www/docroot/hello」です(Cakeはサブディレクトリ)。

そこで「https://foobar.net/cake/」でアクセスします。
しかし、cssやgifが取れない。ログには「https://foobar.net/cake/baz.css」と残っています。
Cake的には「https://foobar.net/cake/app/webroot/baz.css」を読んで欲しいが、それが上手くいかない。

ググると日・英なり、色々と出ては来るが、どうにも決定打がない。
お分かりになる方いますか。
0511nobodyさん2015/06/03(水) 21:23:59.28ID:???
↑
黙れバカ。ぐぐれ。
0512nobodyさん2015/06/03(水) 22:20:10.80ID:???
教えてやろうと思ったけど、511のツッコミに糞ワロタwwww
さすがにそのレベルだと回答するのも馬鹿馬鹿しくなるな
0513nobodyさん2015/06/03(水) 23:07:24.18ID:???
まずドキュメント読めよ
0514nobodyさん2015/06/04(木) 01:17:22.59ID:???
>>510は解決しました。
0515nobodyさん2015/06/04(木) 01:26:07.24ID:???
よくがんばりました
0516nobodyさん2015/06/04(木) 21:42:11.27ID:???
このレベルの人がnginxでcakephpを動かそうとする現代のスゴさ
0517nobodyさん2015/06/04(木) 21:57:48.06ID:???
普通にレンタルサーバ使えよな
0518nobodyさん2015/06/06(土) 00:04:16.21ID:rAdaJfyp
障碍者をしばいている天下り施設

https://www.youtube.com/watch?v=Tk--WgBtIBA
0519nobodyさん2015/06/10(水) 10:26:16.68ID:???
CakePHPとオレオレPHPフレームワークで作られたシステムを統合しなくてはならず困っています。

マスタ統合+リバースプロキシでシステム間を往き来できるようにはなったのですが

�@UI統一のためメニューバーを共通部品化したいが、テンプレートエンジンが異なるため統合できない、そうなると今後その部分の二重管理が避けられなくなってしまう。

�Aログイン認証をどちらかのフレームワークに寄せたいがログインセッションを共通で読めるようにする方法がわからない。例えばオレオレフレームワークでCakePHPが読めるセッションを作るといったことが出来るのか??

という問題にぶち当たり頭を抱えております。

�@�Aについてみなさまのお知恵を拝借できないでしょうか?
0520nobodyさん2015/06/10(水) 22:11:05.57ID:???
>>519
こら!うちの仕事を2CHで質問するな!
0521nobodyさん2015/06/11(木) 00:25:48.84ID:???
>>519
頑張ってCakePHPで全部ゼロから作る
0522nobodyさん2015/06/11(木) 04:13:08.75ID:???
>>519
Cakeなんて辞めてオレオレフレームワークに寄せちゃいなよ(白目
0523nobodyさん2015/06/11(木) 08:53:44.17ID:???
今後のメンテナンス性を考えたらどっちかに寄せるのが得策ですよね。
0524nobodyさん2015/06/11(木) 12:09:32.15ID:???
俺はCakeに寄せたオレオレフレームワーク作ったよ
0525nobodyさん2015/06/17(水) 23:44:34.95ID:???
>>519
俺なら断る仕事だな。
それか全部作り直しを提案する。
0526nobodyさん2015/06/19(金) 12:17:16.27ID:SOLYvyQT
userの管理としてUsersコントローラ内では
$this->Auth->user()をうまく拾えるのですが、
これを例えば、Fooコントローラ内で
同じものを拾いたい場合どうすればいいか、
教えて頂けますでしょうか。

AuthComponent::$sessionKeyを同じものにしても
だめでした。
0527nobodyさん2015/06/19(金) 16:02:48.79ID:???
>>526
Appコントローラーにauthコンポーネントをつけておけばいいんじゃないの
0528nobodyさん2015/06/19(金) 17:23:30.81ID:???
>>527
つーか、普通はAppControllerにauthコンポーネントつけね?
0529nobodyさん2015/06/19(金) 17:24:12.68ID:???
>>527
ごめん、528はなしで。同じ事言ってるわw
0530nobodyさん2015/06/22(月) 14:29:35.10ID:L3kxYzS9
モデルからモデルを呼ぶのって、MVC的にNGだったりする?
モデル同士が密結合になるから微妙なカンジがするんだけど、コントローラーでやろうとすると、どんどん太っていくし。
0531nobodyさん2015/06/22(月) 15:01:33.87ID:???
>>530
そんなあなたにビヘイビア。
0532nobodyさん2015/06/22(月) 16:41:23.12ID:???
一方向に限定するならいいじゃないの
0533nobodyさん2015/06/23(火) 09:29:54.07ID:P4/MrXim
1対多の関係で編集する時どうしてますか?
例えば1ユーザー(Userモデル)が自分の趣味を設定できるとします。
趣味はHobbyモデルで複数選択できます。

この時、登録時は単にsaveすればいいので問題無いですが、
編集時はどうすればいいのでしょう?
一旦、Hobbyに登録されているuser_idが該当するデータを削除した後、
追加という形でしょうか?

それともHobbyモデルの該当するuser_idを一旦取得して、
新たに選択したデータを追加、選択を外したデータを削除
という形がよいでしょうか?

どちらもなんか違う気がしてるので、良い方法があれば教えてください。
05345332015/06/24(水) 17:26:48.43ID:???
自己レスです。UserとHobbyの関係をhasAndBelongsToManyにすると
編集時は一旦全削除されて新たに追加という形になっていました。
ですので、>>533は前者の方法で正しいみたいです。
0535nobodyさん2015/07/02(木) 17:37:38.09ID:Bg3Tlr0u
2.6.7を使っています。Searchプラグインの使い方について教えて下さい。

checkboxで複数検索した時、URLが
/posts?category%5B0%5D=1&category%5B1%5D=2

みたいになります。チェックボックスの数だけ
「category%5B0%5D」のパラメータが増えると思うのですが、これで正しいのでしょうか?
(実際に絞り込みができるので、正しいかもしれませんが・・・)

カラムが1つでカンマ区切りとか複数指定する方法があれば教えてください。
0536nobodyさん2015/07/07(火) 18:57:43.11ID:???
titleタグとかmetaタグってビューから設定するしか無いんですかね?
ビューにあまりプログラムを書きたくないのですが
0537nobodyさん2015/07/12(日) 13:42:48.57ID:???
暇つぶしに覗いて見たけど あり得ない女が・・
見返りをもらって損はしなかったww
超本命が大穴

※を取って ∇をcに置き換え 
s※nn2∇h.net/s11/465rty.jpg
0538nobodyさん2015/07/12(日) 13:58:45.58ID:???
>>537
NGワード規制されてやんのwwww
ぷぷぷぷwwwwww
0539nobodyさん2015/07/13(月) 03:11:40.57ID:???
ローラのダイエット日記

http://rola-diet.sblo.jp/
0540nobodyさん2015/07/13(月) 21:23:44.80ID:???
2.7リリースはいいけど、cookbookもきちんと更新してほしい
0541nobodyさん2015/07/13(月) 23:12:26.27ID:???
質問しても誰も答えなくなったね
0542nobodyさん2015/07/14(火) 01:13:58.74ID:???
もうcakephpも10年位たつのか
はえーな
0543nobodyさん2015/07/14(火) 03:47:01.98ID:???
>541
もともと2chって質疑をやるには向いてないと思う
仮に回答があったとして何を根拠に信用できるかというのもある
cakeの場合 >1 にあるようなユーザフォーラムもあるし
ja.stackoverflow.com みたいなところだってあるからそういうところを活用すべきでは
0544nobodyさん2015/07/14(火) 21:00:51.06ID:???
Cakeって美味しいの?
0545nobodyさん2015/07/15(水) 10:22:55.73ID:???
おいしいお
0546nobodyさん2015/07/19(日) 12:03:10.80ID:???
ユーザーフォーラムも過疎ってるんとちゃうの
ここのほうがまだレス付きそう
0547nobodyさん2015/07/20(月) 05:50:38.35ID:kX6qAGro
今日からがんばるお
0548nobodyさん2015/07/20(月) 14:06:13.04ID:???
なにお?
0549nobodyさん2015/08/05(水) 20:18:38.91ID:???
みんな……。息してるか……?
0550nobodyさん2015/08/05(水) 23:24:25.23ID:???
別にネタないし・・・
0551nobodyさん2015/08/07(金) 11:17:17.91ID:???
先ほど2.xで重要なセキュリティ修正がリリースされました。特に admin_ のような prefix ルーティングを行っている人は必ず適応してください。
リリースのない2.5未満のバージョンを使っている人は差分を見て自力でホットフィクスを行ってください。
0552nobodyさん2015/08/08(土) 00:19:49.90ID:???
>>551 パッチは「適応」じゃなくて「適用」するものな。
まァ、12時間前の俺なんだけど。てか、しばらく来ないうちに過疎りすぎだろ。
0553nobodyさん2015/08/08(土) 02:29:19.95ID:???
>>551
いつもいつもありがとうございます
0554nobodyさん2015/08/08(土) 03:00:35.95ID:???
>>553 どういたしまして
0555nobodyさん2015/08/08(土) 03:18:03.61ID:???
ちなみに今回みたいなセキュリティバグはどうやって見つけてるんですか?
運用で発覚してるのか、それともコードレビューで見つけてるのか。。、
0556nobodyさん2015/08/08(土) 07:08:36.37ID:???
コードレビューですね。レビュー会をやっているわけではなくて個人的に。
人が書いたコードを読むのは勉強になるので。
0557nobodyさん2015/08/08(土) 11:57:41.64ID:???
>>555
コード見ずにテストする方法では検出が不可能か、極めて難しい問題ってのが有るんだよ。
そして負荷が高くなった時とかまれにしか発生しないが重大な問題になりがち。

だからコードを見ないでテストすることにも一定の意味はあるが、
コードを見て問題点を探す作業、つまり>>556もいってるコードレビューね。
これは 絶対に 省くことは出来ない。

コードレビューを軽視して、仕様ばっかり見ているような所はダメなところだよ。

んで、コードレビューという作業は、他人の書いた難解なコードを解読する 作業じゃない。
っていうかそんなの馬鹿じゃない?

Aさん「難しい問題作りました!」
Bさん「難しい。うーん、うーん。あっ分かった!」

お前ら、謎解き合戦でもして遊んでるのか? それで誰が喜ぶんだ?って。

読めないコードは、読む人の技術不足じゃない。書く人の技術不足だ。
読めなければ書き直しを言い渡して良い。
(もちろん言語の文法が理解できないっていうのは、読む人の技術不足。
文法がわからないからっていうのは、書き直しの理由にはならない)
0558nobodyさん2015/08/08(土) 12:13:44.49ID:???
>>557
自分立ち入りで書いたソースならコードレビューするけど、さすがにフレームワークはしないでしょ。
今回みたいに興味があってするとか、運用で問題発覚して解析するというのは別として。
0559nobodyさん2015/08/08(土) 20:59:26.33ID:???
基本的にアップデートってそのまま上書きしたらいいの?
何か使えなくなるコードがあったりしない?
0560nobodyさん2015/08/08(土) 22:16:15.83ID:???
>>559
俺も思う。だから俺は何もしない。
0561nobodyさん2015/08/08(土) 22:19:04.30ID:???
composer を使っていなければ lib/Cake 以下を上書き。
2.6.0 -> 2.6.9 みたいな同じマイナーバージョンならそれほど問題は起きないはず。そうじゃない場合は、公式にあるマイグレート手順の通りにすればそれほど問題は起きないはず。
ただ、prefix でルーティングしてる場合は多少バグってでも上げるべきかな。
0562nobodyさん2015/08/09(日) 00:02:51.87ID:???
>>561
その、それほど問題は起きないはずってのが怖いよね。万が一バグったらそのままのがよかったじゃんってなる。
0563nobodyさん2015/08/09(日) 01:18:36.79ID:???
>> 562
1. prefix ルーティングを使用している
2. 'prefix' => 'admin' なら admins テーブルからログインユーザーを探す、といった prefix キーに依存した認証処理になっている
3. その認証の結果アクセスできるはずの admin_系の画面を第三者に利用されると困る

3つ全部に該当する場合に問題になるので、バグが起きた場合のリスクと、admin_系の画面を不正に利用された場合のリスクを考えて選択するといいかも。
同時に報告したもう一つの脆弱性は正直大したことじゃないので。
もっとも、クリティカルなフィールドの検証に range か comparison を使ってなければの話だけど。
0564nobodyさん2015/08/09(日) 13:20:09.43ID:???
過去作った1.3系を最新の1.3.20にアップデートしたいと思うけど
何か問題起きないか不安だ。どんな機能が更新されたのかいまいち情報ないし。
0565nobodyさん2015/08/09(日) 13:30:21.06ID:???
>>564 各リリースノートに更新内容が書いてある。ずいぶん前に作ったままなら、少なくとも削除と更新が同時に走ると全データがUPDATEされる不具合が2.xからバックポートされてるはず。
0566nobodyさん2015/08/09(日) 13:45:11.47ID:???
>>565 不具合の修正が、ね。不具合バックポートしてどうすんだ。
0567nobodyさん2015/08/10(月) 15:09:16.81ID:???
特定のサイトにアクセスをした際に
リファラを書き換える事って出来ますか?


AAAというサイトへアクセスを想定しています。

実際には、Yahooで検索して遷移したとします。
しかし、AAAのサーバ側では「Googleからのリファラであった」と見せかけるにはどうした良いですか?
0568nobodyさん2015/08/10(月) 16:08:21.74ID:???
リファラを送出してるのはブラウザであってCakeは関係ない
0569nobodyさん2015/08/10(月) 18:29:52.85ID:???
>>568
どうやったらリファラ偽装できるの?
0570nobodyさん2015/08/10(月) 21:00:17.17ID:???
>>569
ソケット通信 header で出てくるんじゃないかな?
俺まとめたから、まとめーたーのどこかに載ってるよ。
0571nobodyさん2015/08/10(月) 22:04:25.69ID:???
そもそもなんで偽装したいんだよ
0572nobodyさん2015/08/10(月) 22:48:10.74ID:???
東方で不正発覚 [転載禁止]
http://hope.2ch.net/test/read.cgi/touhou/1439135722/
0573nobodyさん2015/08/11(火) 00:15:53.62ID:???
>>569
ブラウザ依存の話だからスレ違いどころか板違いだ
使ってるブラウザのスレ見つけてそっちで聞いてこい
0574nobodyさん2015/08/13(木) 19:28:44.54ID:???
2.xまでですっかり配列脳に染まった自分。
3.0からのオブジェクト返しにちょっと慣れずにいます。

今まではリレーションされたレコードを含めて配列で一気に取ってきておいて、
あとは巨大な配列をブンブン回して処理していたのを、
ある程度Entityに分担させられるようになる(Lazy loading)って認識でいいのかな?

あとは、DBからコードの形で取得したデータを
対応する文字列に置き換えたりっていうような処理を
自分はHelperとかにやらせてたりしたけれど、それもEntityにやらせる方が良かったりする?
0575nobodyさん2015/08/14(金) 12:00:47.77ID:ghYlBS32
すっごい初歩的な質問だけど
CakePHP2.xでApp::usesとかApp::importとかに書くのはクラス名?(拡張子を抜いた)ファイル名?
クラス名=ファイル名が前提?
1ファイルに複数クラス作っちゃダメ?
0576nobodyさん2015/08/14(金) 13:18:21.94ID:???
http://api.cakephp.org/2.5/class-App.html#_import
http://api.cakephp.org/2.5/class-App.html#_uses
まずAPIドキュメントを見るんだ
書いてあるとおりクラス名だ importの方はいろいろ柔軟だけれども

原則としては1クラス1ファイルだが、特定のクラスからだけしか参照しない
内部クラス的なものはそのクラスと同じファイルにまとめてしまうことはあるな
0577nobodyさん2015/08/14(金) 14:41:49.62ID:???
APIドキュメントのApp::import()の方に
 string $name optional null
 Name of the Class or a unique name for the file
って書いてあるけどファイルでもいいってこと?

Lib/Hoge.phpに
<?php
class Hoge1 {}
class Hoge2 {}

とか作って
App::import('Lib', 'Hoge');
すれば Hoge1 も Hoge2 も使える?
■ このスレッドは過去ログ倉庫に格納されています