[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 02/18 06:00 / Filesize : 225 KB / Number-of Response : 899
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 16ホール目【v2.4】



1 名前:nobodyさん [2013/09/09(月) 01:56:10.19 ID:m9OPw/HT]
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

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

■本家
www.cakephp.org/
APIドキュメント
api.cakephp.org/
github - cakephp
github.com/cakephp
the Bakery
bakery.cakephp.org/
Issue
cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf

■日本語公式
cakephp.jp/
フォーラム
cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] book.cakephp.org/2.0/ja/index.html
[1.3] book.cakephp.org/ja

kohada.2ch.net/test/read.cgi/php/1354593996/l50

194 名前:nobodyさん mailto:sage [2013/09/26(木) 23:27:13.45 ID:???]
まだhtmlヘルパーなんてのあるんだね。
プログラムに処理させるのは簡単なループと条件判定とURLぐらいにして
普通にタグを書くべきだという結論にいたったけどね。

195 名前:nobodyさん mailto:sage [2013/09/27(金) 02:25:34.52 ID:???]
まぁまぁ賛同するわ、その意見

196 名前:nobodyさん mailto:sage [2013/09/27(金) 11:37:18.57 ID:???]
>>193
やっぱりそうなりますか
ありがとうございます

>>194
現在ページのけつにスラッシュありかなしかで相対パスが変わってしまうのを無視できるのでヘルパー使ってます
絶対パスだったら生でいいと思います

197 名前:nobodyさん mailto:sage [2013/09/27(金) 13:21:36.12 ID:???]
PHPスレがないのでここで質問しますが
PHPでバリデーションする場合ってどうやってますか?

cakephpみたいにvalidateのmessage=>'エラー'とかみたいなのがあればいいのですが
ライブラリをぐぐっても多すぎて困ってます

PHP長年やってる人はどのようにしてるのでしょうか?
いちいちif分で2ページにわたり書いてました
フレームワークを使わないでPHPでやる方法の上級者の意見を参考にしたいです教えてください
使ってるライブラリ名とかでもいいです

198 名前:nobodyさん mailto:sage [2013/09/27(金) 16:33:01.11 ID:???]


199 名前:nobodyさん mailto:sage [2013/09/27(金) 17:16:00.06 ID:???]
>>197
いちいち二ページ書くのがいやだからフレームワークを使う
フレームワークを使うのが嫌なら二ページ書くしかないだろ

200 名前:nobodyさん mailto:sage [2013/09/27(金) 17:54:19.34 ID:???]
2ページって・・・
ひょっとしてノートにでも書いてるの?

201 名前:nobodyさん mailto:sage [2013/09/27(金) 18:11:54.74 ID:???]
>>197
cakephpにはvalidateのmessage=>'エラー'とかみたいなのがあるのでそれを使います。

202 名前:nobodyさん mailto:age [2013/09/27(金) 20:46:51.61 ID:???]
複数のページにauth認証をかけていて、ログインしたuserは全てのページが見られるようになってるんですが、
特定のユーザーだけ、特定のページのみ閲覧可能にする方法はございますでしょうか
ご教示お願いいたします



203 名前:nobodyさん mailto:sage [2013/09/27(金) 23:51:29.97 ID:???]
特定のユーザーか否か判定して正しければ正規のアクションを実行し、
そうでなければエラーページ表示しろ

204 名前:nobodyさん mailto:sage [2013/09/28(土) 00:10:22.06 ID:???]
>>202
ACO, ARO を使ったアクセス制御を勉強して下さい。
CakePHPの組み込みで3種類の設定が用意されています。

データベースを用いた方法が最も柔軟で高機能ですが、
管理が複雑になるので始めはiniファイルかphpファイルを用いたやり方がオススメです。


設定ファイルは

app/Config/acl.ini.php
app/Config/acl.php

のいずれかをカスタマイズして用います。

チュートリアルには残念ながらデータベースを用いる方法しか載っていませんが、
ググればある程度日本語の資料も出てくると思います。

205 名前:nobodyさん mailto:sage [2013/09/28(土) 01:32:35.29 ID:???]
>>204
cakebookが本当にひどいな。見ない方がいい。普段はcakebookの出来には寛大だが、こればかりは無理!

206 名前:nobodyさん mailto:sage [2013/09/28(土) 01:43:14.41 ID:???]
>>196
いえ、ですからaタグのhrefのURLの部分だけでいいと言ってるんです。

207 名前:nobodyさん mailto:sage [2013/09/28(土) 02:24:59.99 ID:???]
HtmlHelper::link() にかぎらず、使い所だけおさえておけばいいんじゃない?

フレームワークってあくまでも標準を提供するだけであって、
規約でさえも単なるバリエーションの一形態として捉えたんで良いのではないかと。

規約に縛られ過ぎも良くないし、規約を無視し過ぎも良くない。
中庸が良いと思う。

208 名前:nobodyさん mailto:sage [2013/09/28(土) 07:50:01.51 ID:???]
>>203
どうもです
たしかにそれがシンプルですね

>>204
ACO,AROですね
勉強してみます
おすすめの方法の方向でやってみたいと思います
ありがとうございました

209 名前:nobodyさん mailto:sage [2013/09/28(土) 10:59:00.81 ID:???]
>>204
aco,aroっていまいち使いどころがわからない。
例えばあるページの一部のリンクの表示をユーザーによってオンオフする場合、
aco,aroを使い、かつ、ボタンの表示制御のコードも書くよね。
なんか楽になってない気がするんだよね。

210 名前:nobodyさん mailto:sage [2013/09/28(土) 12:27:13.28 ID:???]
>>209
ACO, AROしらんけど、ユーザーによってオンオフするという機能の
作り方にある種の壁がある。

・壁を乗り越えられない人

if ($user == 'admin') { 管理画面表示 }
こんなコードを書く

・壁を乗り越えた人
if ( 権限があるか?('管理画面', $user) ) { 管理画面表示 }
こんなコードを書く


前者はユーザーが増えた時どうするの?
新たにグループ作りたくなったらどうするの?
adminだけど特定の場合(無料ユーザー等)には
管理画面の一部を消したくなったらどうするの?
などなど拡張性が低い。(全体的にメンテナンスが必要になるしコードも見づらくなる)

後者の書き方をしておけば、引数のユーザーから
いろんな条件を元に表示する権限を決めるだけだから拡張性が高い。

ACO, AROは、後者の壁を乗り越えた人だけが理解できる機能だと思う。

211 名前:nobodyさん mailto:sage [2013/09/28(土) 13:52:09.15 ID:???]
>>210
adminだけど特定のユーザーに管理画面解放する使い方って?
俺の認識では、管理画面とユーザー用管理画面は
分けるべきだと思うが。共通化するなんて怖い

212 名前:nobodyさん mailto:sage [2013/09/28(土) 14:23:58.43 ID:???]
リクエストとレスポンスのお互いを集合論的に捉えることが出来るのが
ACO,AROの最大のメリット。
だと思う。



213 名前:nobodyさん [2013/09/28(土) 14:56:21.69 ID:mm0OqWTD]
みなさんはviewにヘルパーとか使いまくりますか?

214 名前:nobodyさん mailto:sage [2013/09/28(土) 15:13:51.00 ID:???]
ビューにヘルパーは使った事がありません
ビューは非プログラマに書かせるから、ctp自体使わずHTMLに近いテンプレートシステム使ってます

215 名前:nobodyさん mailto:sage [2013/09/28(土) 18:23:01.86 ID:???]
>>211
説明の仕方が悪かったね。

adminでもGoogle Appのように
無料契約やビジネス契約によって機能が制限されることはある。

そういう話だったが、普通に田中さん(マネージャー)とか
そういう例えにしておけばよかったね。

216 名前:nobodyさん mailto:sage [2013/09/28(土) 19:02:36.41 ID:???]
ACO,AROは名前が紛らわしい

217 名前:nobodyさん mailto:sage [2013/09/28(土) 20:16:14.74 ID:???]
ACO - アクセスコントロールオブジェクト(Access Control Object) - ある主体が取り扱う「物」
ARO - アクセスリクエストオブジェクト(Access Request Object) - ある物を取り扱う「主体」

218 名前:nobodyさん mailto:sage [2013/09/28(土) 20:22:28.91 ID:???]
>>217
何もわからねえぞ
理系か

219 名前:nobodyさん mailto:sage [2013/09/28(土) 22:27:35.62 ID:???]
たとえばdiariesテーブルに複数人のdiaryがまとめて入っているとして、
他人のdiaryが見られないように制御をするとしたら、ACO&AROの仕組みでは対応できなくない?
リクエストを受けたときに、そのユーザーが対象のactionを実行できるかできないかの制御しかできないんでしょ?

220 名前:nobodyさん mailto:sage [2013/09/28(土) 23:57:31.97 ID:???]
CakePHP1系の情報ブログに書いてる人、消してくれないかなあ…
検索時邪魔でしょうがない、確実に今開発してる人の生産性を少しずつ下げてる

221 名前:nobodyさん mailto:sage [2013/09/29(日) 01:03:09.68 ID:???]
>>219
デフォルトというか、Cakeの組み込みはそうです。
でも拡張すれば出来なくはない。
昔やったことがある。
ただ、管理が分けわからなくなって嫌になったんで、そのやり方は封印して
結局PHPの設定ファイルに書き込む方法に落ち着いた。

まぁ、俺が下手なのは認めるとして、逆に言うと、下手な人間にも使えるような
うまい仕組みとはいえないと思う。

222 名前:nobodyさん mailto:sage [2013/09/29(日) 01:12:36.30 ID:???]
下手な人でも使えるなんてのは幻想だよ。
だから技術職というものがあり、
技術があることで金を稼いでいるんだ。



223 名前:nobodyさん mailto:sage [2013/09/29(日) 01:54:05.25 ID:???]
>>220
久々に感動した自己中

224 名前:nobodyさん mailto:sage [2013/09/29(日) 01:58:37.63 ID:???]
ワロタ

225 名前:nobodyさん mailto:sage [2013/09/29(日) 02:04:25.72 ID:???]
そもそもの元凶は
2で仕様変え過ぎ

226 名前:nobodyさん mailto:sage [2013/09/29(日) 13:11:03.72 ID:???]
検索するとき期間を1年以内にすれば大体問題ないよ

227 名前:nobodyさん mailto:sage [2013/09/29(日) 13:37:17.57 ID:???]
そんなことどうやってできるの

228 名前:nobodyさん mailto:sage [2013/09/29(日) 13:43:46.71 ID:???]
あ、できたw

229 名前:nobodyさん mailto:sage [2013/09/29(日) 13:48:05.32 ID:???]
もしかしてChromeじゃないとできないとかある?

230 名前:nobodyさん mailto:sage [2013/09/29(日) 13:52:02.75 ID:???]
URLに自分でパラメータをつければいんじゃね?
&tbs=qdr:yみたいに

231 名前:nobodyさん mailto:sage [2013/09/30(月) 13:40:06.80 ID:???]
>>214
俺はヘルパー使いまくりだけど、HTMLに近いてSmartyみたいな感じ?

232 名前:nobodyさん mailto:sage [2013/09/30(月) 14:07:01.24 ID:???]
サイト全体で共通の関数はどこにかくのかな!?



233 名前:nobodyさん mailto:sage [2013/09/30(月) 14:08:21.98 ID:???]
vendors

234 名前:nobodyさん mailto:sage [2013/09/30(月) 17:13:49.37 ID:???]
自分で作るならLib
サードパーティー製ならVendors
book.cakephp.org/2.0/en/getting-started/cakephp-folder-structure.html

235 名前:nobodyさん [2013/09/30(月) 21:53:03.23 ID:YNM1OLM4]
emailコンポーネントを利用してメール送付しようとしてるのですが
送信処理はできてもヘッダーにtoがないのですが原因などわかりますでしょうか・・・

236 名前:nobodyさん [2013/09/30(月) 22:56:45.74 ID:YNM1OLM4]
すいません。単純にポートが閉じているだけでした・・・

237 名前:nobodyさん mailto:sage [2013/09/30(月) 23:32:26.73 ID:???]
Webアプリ開発を加速する CakePHP2定番レシピ119

っていう本がでたらしいのですが
どうですかね?
最近CakePHPはじめたばっかりなので
本かおうとおもってますが

238 名前:nobodyさん [2013/09/30(月) 23:52:23.59 ID:II3eS9V+]
質問です。
Cakeのwebroot下にWordpressをインストールしました。
一応稼働できてはいるのですが、
URLがルートの場合はwebroot内にあるWordpressディレクトリを表示したいのですが
htaccessで可能でしょうか?

239 名前:nobodyさん mailto:sage [2013/10/01(火) 04:54:23.88 ID:???]
思いつかん

240 名前:nobodyさん mailto:sage [2013/10/01(火) 09:02:42.29 ID:???]
こないだからCakeでテスト書いてるが、難しいな…。

どうしてもテストか実際の実行かで分岐しないといけない個所があるんだけど
Cakeで「今テスト中か?」の確実な判定はどうすればいいのでしょう

開発してたら知りたくなるこういうことが公式には載ってないんだよなーという一例

241 名前:nobodyさん mailto:sage [2013/10/01(火) 11:07:03.38 ID:???]
テスト書くのはとても高いスキルの要ることだと思うよ。
Cakeだからむずかしいってことではないと思う。
Cake本体のテストケース見てみ。
すっげー大変なことしてるから。

テスト中の判定はいくつかやりかたはあると思うけど、
それってテストの書き方に問題があるのでは?

242 名前:nobodyさん mailto:sage [2013/10/01(火) 11:10:07.46 ID:???]
なんかおかしな書き方になってしまったが、
要するにCake本体のテストもかなりえげつないことしてるけど、
それはCakeだからそうなったってことではないだろうということ。

あとどうしても判定したいなら CakeTestSuiteDispatcher.php で定数定義してるんで、
それを使ってみるとか。
あとは $_SERVER の SCRIPT_NAME を見るとか。



243 名前:nobodyさん mailto:sage [2013/10/01(火) 13:16:24.04 ID:???]
あざっす、SCRIPT_NAME見ることで解決しました
モデルにどのDBから読み込むか(マスターとスレーブ)動的に変更している所があって
テスト時にそこが本来のDB読みに行こうとしてハマってた等、回避不可能なことがいくつもあってな
いやーテストって本当難しいわ、製品作るより難しい
テストに関する情報が少ないのも難易度を上げてるな、本とかにも大抵ちょろっとしか載ってないもんな

244 名前:nobodyさん mailto:sage [2013/10/01(火) 14:25:16.95 ID:???]
まじめにTDDやったら「テスト書くほうが時間がかかるんじゃないか?」
ってレベルじゃねーな

テストを書く時間9割で
残り実コード書く時間とテスト走らせる時間が5分5分

245 名前:nobodyさん mailto:sage [2013/10/01(火) 14:29:15.29 ID:???]
デグレで困らなくなるから先行投資だと思え
と言いつつ設計と実装を同時に進めるチャランポランな俺はTDDが出来ない

246 名前:nobodyさん mailto:sage [2013/10/01(火) 15:03:39.29 ID:???]
納品して終わりならテストは書かない、そうしないととても納期に間に合わない
運用も任されたり長年使い続けるシステムならテスト書く、そうしないと1年後は毎日バグフィクスで潰れる

247 名前:nobodyさん mailto:sage [2013/10/01(火) 15:57:47.39 ID:???]
2.2.9を使っています。
外部PHPプログラムからCakeの結果(findで生成される配列など)を
受け取りたいのですが、可能でしょうか?

1.3系はググって見つかったのですが、2系は見つかりません。
もし可能なら方法を教えてください

248 名前:nobodyさん mailto:sage [2013/10/01(火) 16:00:33.49 ID:???]
>>247
1.3系でどういった情報が見つかったの?2系で基本的に違いがあるとも思えないけど。

249 名前:247 mailto:sage [2013/10/01(火) 17:43:00.64 ID:???]
>>248
以下で紹介されている方法を参考にしました。
ttp://web.mt-systems.jp/archives/783

1.3系はこの方法で動きますが、2系ですと一部の関数や命名規則が変わっているので、
この通りにやっても動きません。
Dispatcherの書き方の問題だと思うのですが、
ソースを見てもどうやって実行値を取得すれば良いか、わかりませんでした・・。

250 名前:nobodyさん mailto:sage [2013/10/01(火) 18:10:43.96 ID:???]
読んでみたが、何がやりたいのかさっぱり分からなかった orz...

251 名前:nobodyさん mailto:sage [2013/10/01(火) 18:29:49.41 ID:???]
>>249
そこまでしてでも組み込みたいのか。。。
素直にバッチ化して呼び出すとか、WebAPI経由で呼べばいいものを。。。

252 名前:nobodyさん mailto:sage [2013/10/05(土) 01:07:51.95 ID:???]
Cake2になってよくわからないので誰か教えてくだしあ

コントローラの途中で特定の条件を満たすとヘッダが404を出して終わり
(ブラウザには404 Not foundが表示される)としたいのだが、
CakeResponseというのを使うらしいのだがドキュメント見て

$this->response->httpCodes(404); return; とか
$this->response->statusCode(404); return; とかやっても、ページが表示されてしまう
後者は404が返るようにはなるのだが、ビューの内容も返してしまってるようだ

要は
header('404 Not Found', true, 404);
$this->_stop();
と同じ結果にしたいのだが、CakeResponseを使って書くにはどうすればいいのだろう?



253 名前:nobodyさん mailto:sage [2013/10/05(土) 02:07:14.57 ID:???]
throw new NotFoundExeption();

254 名前:nobodyさん mailto:sage [2013/10/05(土) 02:14:19.09 ID:???]
>>252
Cake2 からしか知らないけど、ヘッダの送出、ビューの指定の二つだけ行って
リターンしたらいいんじゃないの?

if ($error) {
$this->response->statusCode(404);
$this->view = 'error';
return;
}

みたいな感じで。
あと、例外を投げても一部のクラスは 404 になるんだけど、それは知ってる?

255 名前:nobodyさん mailto:sage [2013/10/05(土) 02:15:37.07 ID:???]
あ、253 が先に書いて

256 名前:nobodyさん mailto:sage [2013/10/05(土) 04:04:25.49 ID:???]
>>249

>$_GET['url']に文字列「favicon.ico」をセットすると、require_once で読み込んだ index.php の実行が dispatcher を動作せずに終了するようになっている。

バッドノウハウ過ぎて、製品にはこわくて使えねーよw

https://github.com/cakephp/cakephp/blob/1.3/app/webroot/index.php#L82

https://github.com/cakephp/cakephp/blob/2.2.9/app/webroot/index.php#L91-92

まぁ一応ソースで確認してみた。
faviconは見ての通りなくなってるので諦めろ。

と、ここまで書いてから思ったが、要するにgithubでハイライトされてる最後の2行を消したファイルを作って、
require_onceすればできんじゃねーの?

257 名前:nobodyさん mailto:sage [2013/10/05(土) 04:18:28.90 ID:???]
>>252

$this->response->httpCodes()はgetterだから意味ないぞ。

$this->response->statusCode(404);
$this->autoRender = false;
return;

これで、$this->render('index');と明示的に書かない限り、レンダリングされないので、
body部が空になると思われ。
動確はしてない。

258 名前:nobodyさん mailto:sage [2013/10/05(土) 13:04:41.41 ID:???]
初心者なんですけどfindしたときに一時的にアソシエーションをなくすってことは可能なんですか?

259 名前:nobodyさん mailto:sage [2013/10/05(土) 18:22:31.88 ID:???]
それは流石に本でも買ってきて読んで来いなレベル。

260 名前:nobodyさん mailto:sage [2013/10/05(土) 18:26:41.61 ID:???]
可能

261 名前:nobodyさん mailto:sage [2013/10/05(土) 19:24:53.67 ID:???]
>>259
俺のレベルに丁度いい本教えて

262 名前:nobodyさん [2013/10/05(土) 19:35:08.52 ID:cB/QUfLz]
>>261
ドットインストールと詳解でなんとかなった
実践入門とかも読んだなぁ



263 名前:nobodyさん mailto:sage [2013/10/05(土) 20:36:15.64 ID:???]
Model::unbindModel()

264 名前:nobodyさん mailto:sage [2013/10/05(土) 20:37:41.87 ID:???]
っていうか、

"CakePHP findしたときに一時的にアソシエーションをなくす"

でぐぐったら出てくるんですが・・・

265 名前:nobodyさん mailto:sage [2013/10/06(日) 10:47:59.39 ID:???]
みんな、MySQLのENUMって使ってる?

266 名前:nobodyさん mailto:sage [2013/10/06(日) 11:57:58.32 ID:???]
何回bakeしても

Your database configuration was not found

って出てくるどうすりゃいいの?

index.php と test.phpのコメント行は外しました

267 名前:nobodyさん mailto:sage [2013/10/06(日) 12:03:15.88 ID:???]
できました。

アプリケーションルートディレクトリで実行してないだけでした

268 名前:nobodyさん mailto:sage [2013/10/07(月) 13:48:06.58 ID:???]
viewの中で <?php ほにゃらら ?> としてif文やらechoやらを書くのがいまだに理解できない

269 名前:nobodyさん mailto:sage [2013/10/07(月) 17:46:40.29 ID:???]
Dispatcher::dispatch() とか
View::evaluate() を見てみると良いかも

270 名前:nobodyさん mailto:sage [2013/10/08(火) 00:59:47.40 ID:???]
そういうルールなんだよ

271 名前:247 mailto:sage [2013/10/08(火) 09:11:47.61 ID:???]
>>256
遅レスですみません。
その2行を消して実行ファイルでDispatcherを宣言しても
CakeRequest側の受取が上手く行かずに、データ取得できませんでした。
そもそも、どうやって外部ファイルからrequestを受け取るのか・・・

全てCakeのフォルダ内で管理したいというよりも、
一部だけCakeを使いたいor既に使っている物をCakeに変更したい
などの需要があると思ったのですが、意外と無いですね。

findはSQL文でSELECTを書けばいいし、PDOを使えば簡単に取得出来るので、
外部ファイルからCakeを通す必要性がないのかもしれません。

272 名前:nobodyさん mailto:sage [2013/10/08(火) 13:46:34.36 ID:???]
ちょと何言ってるのかよく分かって無いかもしれないんだが、
要するに結果を通常のビューじゃなくて
JSONで出力するとかって話じゃないのか?



273 名前:nobodyさん mailto:sage [2013/10/08(火) 14:04:35.31 ID:???]
それみていい事思いついた!

www.php.net/manual/ja/function.file-get-contents.php すればいいじゃん!

<?php
$homepage = file_get_contents('www.example.com/');
echo $homepage;
?>

PHPなら2行で通信するプログラムも書けるよ!!

俺はセキュリティ的にこわくてできないけどな

274 名前:247 mailto:sage [2013/10/08(火) 16:34:38.21 ID:???]
>>272-273
いえ、Cake形式の配列でfindの結果を受け取りたいんです。
で、>>249の方法なら出来るのです。
でも、2系だと無理です。なので質問しました。

275 名前:nobodyさん mailto:sage [2013/10/08(火) 16:58:21.71 ID:???]
JSONで受け取れないか?

276 名前:nobodyさん mailto:sage [2013/10/08(火) 17:00:13.50 ID:???]
あぁ、HTTPリクエストとしてじゃなくて同一プロセスでか。
分かった。

277 名前:nobodyさん mailto:sage [2013/10/09(水) 02:02:54.44 ID:???]
>>274

> これで posts コントローラの index アクションを実行し、レンダリングされた結果が表示できる。

dispatch()したら、findの結果じゃなくビューをレンダリングした結果だぞ。
その1.3でできてるってのも、上記の通りだし。

278 名前:247 mailto:sage [2013/10/09(水) 09:57:04.46 ID:???]
>>277
1.3の場合、>>249の説明にもありますが、
以下の様なソースで、対象コントローラのfind結果を取得できます。
requestActionみたいな感じです。良かったら試してみてください。

$_GET['url'] = 'favicon.ico';
require_once 'index.php';

$Dispatcher = new Dispatcher;
$list = $Dispatcher->dispatch('/news/index', array('return' => 1));
foreach ($list as $data) {
echo $data['News']['created'] . ':' . $data['News']['title'] . "<br>";
}

279 名前:nobodyさん mailto:sage [2013/10/09(水) 11:28:30.56 ID:???]
Shell で使うShellDispatcher と ConsoleOutput と ConsoleInput を拡張して Shell を走らせてみるとか

class MyOutput extends ConsoleOutput {
public function write($messege, $newlines = 1) { // $message でデータを受け取ってあれこれする.... }
}

class MyInput extends ConsoleInput {
// 面倒なので適当に考えてくれ
}

class MyDispatcher extends ShellDispatcher {
protected function _getShell($shell) {
//... なんやかんや
$shell = new Shell($myOutput, $myErrorOutput, $myInput);
//... なんやかんや
return $shell;
}
}

----
<?php
$args = array(.....);
new MyDispatcher($args)->run();

みたいな感じで。

取得したいデータは $myOutput をパイプみたいにしてゲット。

どう?

280 名前:nobodyさん mailto:sage [2013/10/09(水) 14:26:40.63 ID:???]
天才あらわる

281 名前:nobodyさん mailto:sage [2013/10/10(木) 04:29:12.84 ID:???]
なんやかんやわろた

282 名前:nobodyさん mailto:ss [2013/10/12(土) 20:34:20.88 ID:???]
質問です。よろしくお願いします。
ユーザーが自分で更新出来るCMSを作成してます
そこでユーザーが更新するたびにgoogle等にインデックスされるようにしたいです
こういった場合みなさんはどうやってインデックスさせてますか?
cakeと関係ない質問かもしれませんが便利なやり方があるかもと思い質問しました
よろしくお願いします



283 名前:nobodyさん mailto:sage [2013/10/12(土) 21:40:23.39 ID:???]
Google買収!

284 名前:nobodyさん mailto:sage [2013/10/12(土) 23:39:11.12 ID:???]
ping送信ぐらい?
あとsitemap更新とか。
どっちにしてもGoogle次第

285 名前:nobodyさん mailto:sage [2013/10/13(日) 01:02:29.28 ID:???]
pingを自動的に送信するようにですね
ユーザーが作成したページが検索に乗るようにするって結構難しいのかな
登録・更新のたびにsitemap作成するスクリプトとか流してたら相当重くなりそうですよね
親切にありがとうございます

286 名前:nobodyさん mailto:sage [2013/10/13(日) 02:27:44.36 ID:???]
更新はともかく、新しくURIが増えるんなら、sitemap.xmlは生成したほうがいいんじゃ

287 名前:nobodyさん [2013/10/13(日) 15:45:55.81 ID:fH7wT7an]
>>286
ありがとうございます
深夜辺りにcronで動くように設定したいと思います
完全にスレチでした。すみませんでした

288 名前:nobodyさん [2013/10/15(火) 17:36:39.11 ID:tnpde/Hs]
逆アクセスを設置したいのですが、お勧めはありますか?
今は、自作 or Googleアナリティクスを考えています。

289 名前:nobodyさん mailto:sage [2013/10/15(火) 20:16:47.76 ID:???]
ACR WEB使え

290 名前:nobodyさん mailto:sage [2013/10/19(土) 09:01:10.85 ID:???]
東京からみた大阪は南チョン。
大阪から東京は北チョン。

291 名前:nobodyさん mailto:sage [2013/10/23(水) 01:11:43.94 ID:???]
コントローラの中で
getuser( $user_id, $age)
{

}
と引数を2つで指定しているとします。

hogehoge.com/getuser/333/25
→ OK

hogehoge.com/getuser/333
でアクセスされた場合に
Missing argument 2 for UserController::getuser()
というエラーが出てしまうのですが、事前にアクセスの想定されるURL以外でアクセスが来た場合に
それを上記の様なエラーが出る事無く弾くにはどうすれば良いでしょうか?


コントローラの中のファンクションで
.Net の optional 的な引数指定の方法はありませんか?

292 名前:nobodyさん mailto:sage [2013/10/23(水) 02:18:32.08 ID:???]
public function getuser() {

$args = func_get_args();
if (count($args) < 2) { ... error ... }

}



293 名前:nobodyさん mailto:sage [2013/10/23(水) 02:53:19.47 ID:???]
291です。

>>292
そんな便利なコードがあったのですね。
ありがとうございます!!

294 名前:nobodyさん mailto:sage [2013/10/23(水) 04:27:05.04 ID:???]
え?正気か?
デフォルト引数値使えよ

public function getuser( $user_id, $age = nulll ){
if(empty($age)){
// hogehoge.com/getuser/333 の場合
} else {
// hogehoge.com/getuser/333/25 の場合
}
}






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef