08/04/14 07:16:21
>>261
レスありがとう。
やっぱり使ってないんだね。
俺も自作ライブラリ引っ張り出して使うことにするよ。
セッションはログイン中かどうかのフラグだけ、
テンプレも触るのは自分だけだから
とりあえずそのまま使ってみる。
264:nobodyさん
08/04/14 14:01:23
Modelはadodbのラッパを使ってる。
テンプレは生PHP。(小さい会社でコーダー兼務なので)
セッションは$_SESSIONを直で。
265:nobodyさん
08/04/14 19:30:24
なんでPDOじゃなくてadodb?
266:nobodyさん
08/04/15 00:00:22
>>264じゃないけど、adodbは処理が速いと聞きました。
URLリンク(kokoromo.jugem.cc)
URLリンク(kokoromo.jugem.cc)
この本でadodbが紹介されてて、いろいろメリットが書かれてました。
↓
PHPによるWebアプリケーションスーパーサンプル 活用編
URLリンク(www.amazon.co.jp)
267:nobodyさん
08/04/15 00:13:08
CI使ってみました
日本語マニュアルが分かりやすくて、すぐに使えました!!!
翻訳作業やってくれている方、どうもありがとうございます(・∀・)
簡単に出来ることを複雑にやる必要はない
コマンドでスケルトン生成したり、設定ファイル書かなくてもすぐに使えて便利
268:nobodyさん
08/04/15 14:09:30
ADOは知らなかったけど、PHP4の環境なら
DBのAPI関数使うよりも良さげそう
269:nobodyさん
08/04/29 07:16:47
入力フォームの確認画面を作るのマジめんどくさいのですが、
自動で生成する方法ってないですかねー?
いったい何画面作ればいいんだ
スレ違いだったらスルーよろ
270:nobodyさん
08/04/29 08:42:50 AjJ+5S6v
>>もっとkwsk
271:nobodyさん
08/04/29 09:57:50
>>270
言葉足らずすまそ。
実際にはフォーム画面から入力値を受け取ってバリデーションして
DBに格納するというのが面倒だというのを言いたかった
こんなんできたらいいな、というのがあって、
・フォームのINPUTなどの入力が連想配列で一括取得できる(POSTされたデータ用)
・バリデーションをフィルター的な感覚でやりたい(POSTされたデータ用)
・連想配列でフォームオブジェクトに渡せば対応するNAMEのINPUTなどに自動で値がセットされる(確認画面用)
・フォームからのデータを対応するテーブルにそのまま流し込みたい(バリデーションはするけど)
取りまとめないが、こんな感じ
まあ、画面設計の問題もあるんだが、
工数の内訳として画面処理:ロジック=5:1とかうんざりする
272:nobodyさん
08/04/30 02:10:32
そんな機能もとめるならCakePHPでも使ってろ
273:271
08/04/30 04:48:09
>>272
CI以外のフレームワークは作法がガチガチに決まってるから嫌だ
潰しが効かないというか。まあ、フレームワークだから当然なんだが
それに対して、CIはプラットフォーム程度でしかないところが気に入っている
まあ、ライブラリ作るなり、カスタマイズするなりして頑張るよ
274:nobodyさん
08/04/30 04:54:08
自作フレームワークのほうが
つぶしが利かない
275:271
08/04/30 05:44:11
>>274
漏れの「潰しがきかない」と言ってるのは、
CIでなければ部分的な代替え手法を使うのが難しい、意味がない
という話のつもり
さすがにフレームワークまでは自作せんわ
276:nobodyさん
08/04/30 12:41:32
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
277:nobodyさん
08/04/30 12:49:41
どんな?
278:nobodyさん
08/05/01 13:30:12
>>276
ソースがあるんだから、致命的なバグがあるなら、自分で対処しろよ
279:nobodyさん
08/05/01 13:52:23
どうせデマだろ
280:nobodyさん
08/05/02 23:01:08
>>276
スレリンク(php板:765番)
>>765 名前:nobodyさん[sage] 投稿日:2008/04/29(火) 00:30:20 ID:???
>>一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
281:nobodyさん
08/05/02 23:14:38
なんというコピペ
282:nobodyさん
08/05/03 01:05:09
ワロタ。
これはどのFWのスレに貼っても釣れるだろうなw
283:nobodyさん
08/05/03 04:58:57
デフォルトのコントローラの名前って何にする?
Defaultだと予約語みたいでクラス名にできないし
284:nobodyさん
08/05/03 06:57:58
>>277-279
釣られすぎw
>>283
Homeとかどうよ?
285:nobodyさん
08/05/03 07:01:16
>>284
なるほど
Homeはありだな
㌧くす
286:nobodyさん
08/05/03 07:12:58
display_overrideフックの説明で
処理済みのデータは、$this->output->get_output() を呼べば利用可能ですので、留意しておいてください。
ってあるけど
この$thisって何?
フックの文脈でなんで$thisが出てくるのかわからんちん
287:nobodyさん
08/05/03 12:34:10
グローバルな GET 配列($_GET) のデータを消去します。CodeIgniterではGET文字列(クエリ文字列)を使わないので、それを許可する理由はありません。
こういうざっくばらんさがアメ公っぽい
セッションも変だし…
288:nobodyさん
08/05/03 16:45:47
276は太公望の釣り針だな
FW関係のスレに貼ったら百発百中で釣れる
さすがに罪悪感が・・・w
289:nobodyさん
08/05/03 23:28:28
>>276のコピペw
スレリンク(php板:161番)
161 名前:nobodyさん[sage] 投稿日:2008/05/03(土) 10:18:16 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
290:nobodyさん
08/05/04 00:54:40
あちこち貼ってんの誰だよw
まあそれはいいとして
rapydってスタンドアロンのPHP5用フレームワークになっちゃったんだな。
291:nobodyさん
08/05/04 22:51:42 QrBYi/l0
軽くて個人ん規模にはいいと思ったんだけど
セッションの仕様見て萎えた…
結局、ベストプラクティスはどれ???
クッキーなんてPCでもオフになってることあるよね…
入門者向けにベストプラクティスがほしい…
あとページングするのにはURLルーティング変えないとだめなん?
標準だとGETオフになってるし…
292:nobodyさん
08/05/04 23:17:37
>>291
セッションは本家のwikiに使い方ほぼ同じでクッキーじゃなくネイティブの$_SESSION使う
プラグイン(自作ライブラリ?)が公開されてる。
他にも色々あるから英語が苦手じゃなければwiki内探索をオススメ。
293:nobodyさん
08/05/04 23:21:08
>>292
さんくす
探してみる
CakePHP使ってたんだけど
DB必須に近いとこがいやになって CI試してたんだ
294:nobodyさん
08/05/05 05:31:30
セッションは自前で用意するのがいいよな
クッキーだと携帯に対応できないのが致命的だわ
295:nobodyさん
08/05/05 07:01:33 1KRQrRZR
これログインしている時に行うような
アクセスコントロールは自前で実装しないといけないの?
296:nobodyさん
08/05/05 18:26:57
コード読んだらアクセスコントロールまったくねーじゃん
テラしょぼす
297:nobodyさん
08/05/05 18:48:09
dispatcher上書きできないとかダセーし・・
シンプルでダサくないFWはないか!
298:nobodyさん
08/05/05 18:49:13
まあ、CakePHPが一番バランス取れているんだろうな。
299:nobodyさん
08/05/05 19:32:45
CakePHPのモデルまわりとか
余計なアソシエーションとか
そういうのがないシンプル版がでればいいんだな…
CIのインプットとかビュー周りとかその辺はシンプルですきなんだが
(CI + CakePHP) / 2
なFWないのか
300:nobodyさん
08/05/05 19:33:40
使わなければいいだけじゃね?
301:nobodyさん
08/05/05 19:34:03
モデルとかアソシエーションを
302:nobodyさん
08/05/05 21:58:20
CIの機能で要る子、要らない子を列挙してみないか?
欲しい子もありで。
・・・考えてみたら、欲しい子、要らない子ばかりで
要る子がいなかった・・・orz
303:nobodyさん
08/05/05 22:30:04
擬似構文 と インプットフィルタ はCIが一番シンプルで使いやすい
304:nobodyさん
08/05/05 23:56:22
サイト内ナビゲーションリスト生成ヘルパがほしい。
CIだけではないが。
コントローラーのディレクトリ内ファイル名を読み出してbaseurlにくっつければいいのかな。
でも全部出てくるのも困るからやっぱり手動か。
テンプレでの表示とカスタマイズはCMS的に管理画面からいじれれば一番ラクだな。
CSSや画像も含めて、まず専用の管理画面を自作するべきなのかもしれないな。
305:nobodyさん
08/05/06 01:11:21
>>304
結局 凝ったナビにしようとすると
手打ちにならない?
普通のナビならCMSのほうが楽だけど
306:nobodyさん
08/05/06 03:22:16
フレームワークをわざわざ使うということは、静的とか単一機能のサイトではなく、
ページコンテンツが日々どんどん更新され増えていく(と勘違いしている)ようなサイトが多いと思う。
そうなるとやっぱり、更新されたページ含めてサイト内ナビを自動で出したくなる。パンくずも出したい。
デザインのCSSや画像は、後戻りのない更新というより、素人管理者でも一発ですぐ元に戻せる「切り替え」という形にしたい。
新旧別内容の同名ファイル群をftpで切り替えるというのはこれも間違いの元で、稼動中の商用サイトに多用するのは危険。
まあ結局そこまでの機能が出来合いで欲しければExpressionEngineとやらを買え、ということなのかもしれないが。
307:nobodyさん
08/05/06 09:57:12
客が勘違いしてるのだったらそこは客の要件を正すか、
ブログを使った方がいいんでない?
あと、ナビというのを漏れは勘違いしているのかもしれないが、増えるページというのは
「DBにデータが入る&グルーピングされる&管理画面から追加する」と思っているので、
ページリスト的なものを一つ作れば終わりかなあと思ってる
グルーピングされてるからパンくずも固定だし
(パンくずはセグメントとラベルの対応テーブルから引用するプラグインを作って
テンプレに埋め込んで表示させてるけど)
話変わるが、ACLもユーザグループと権限の対応テーブルで制御してて、
メニューを非表示にしたり、直打ちされたら404を返すようにしている
308:nobodyさん
08/05/06 12:13:58
CIは「簡単で軽量」「10分でつくれる」という夢を見せてくれるけど、
実用で使うには、自前でpukiwikiやワードプレスやxoopsをつくるくらいのプランニングと実装が必要になるてこと。
つまり、ルーティングシステムから各ヘルパ関数までフルスクラッチで自作するよりは簡単で、
テンコ盛りの無駄機能に縛られるxoopsよりは圧倒的に融通が効いて軽量だな。
仕様はともかくサイト内ナビ・リンク管理機能を売り文句に加えればdreamweaver並に売れるw
309:nobodyさん
08/05/06 12:24:25
はぁ・・・
もともとCIを含んだフレームワークは、
pukiwikiやxoopsなどを作るための
プログラム用のツールだろ。
サイト内ナビ・リンク管理機能とか意味不明だっつーのw
310:nobodyさん
08/05/06 12:44:40
いずれにしても必要になるその機能を、
1.フレームワークの段階で<li>で出てくる程度のものを用意するか。
2.各現場プログラマーが自作するか。
3.デザイナーやコンテンツライター、素人管理者がしこしこ手打ちするか。
てこと。
まあ縄張り争いにもなるので結論は期待していないが。
311:nobodyさん
08/05/06 13:32:18
スレ違いですまんが、
デザイナー様にはformの要素のnameの付け方ぐらい覚えて欲しいな。
name書かないとか""にしておくぐらいならDBテーブルのフィールドと
同じ名称をつけておくぐらいして欲しいよう
俺が出会ったフリーのデザイナーなんて上記ばっかりなのだが、
そういうものなの?
312:nobodyさん
08/05/06 14:00:56
書いたら書いたで文句言うのが出てくる。
触らぬウンコにたたりなし。
313:nobodyさん
08/05/06 14:07:32
>>311
文句言うなよ雑用係
314:311
08/05/06 14:12:16
スレ汚しすまそ
315:nobodyさん
08/05/06 14:13:30
>>311
無理。
nameに書く名前はデザイナーが決めるものじゃないから。
316:311
08/05/06 14:36:00
いや、どうせ意味のないnameを書くぐらいだったら
被る部分は事前打ち合わせするぐらいの責任感は欲しいわけですよ
317:nobodyさん
08/05/06 14:41:13
>>316
私が作ったデザインを使うときに
あなたが打ち合わせに来てください。
318:nobodyさん
08/05/06 15:32:17
タグのidを全ファイルに適切に挿入するプログラムなんてプログラマー名乗る成人男子なら当然すぐ書けるんでしょ?
319:nobodyさん
08/05/06 17:35:07
>>311
むしろ HTMLすらまともに書けないプログラマーのほうが多い…
なんでもかんでも div や p とか
CIとは関係ないけど FWでもヘルパの吐き出すHTMLが糞
っていうのはよくある
320:nobodyさん
08/05/06 18:15:51
そりゃあHTMLは普通プログラマが書く所じゃないんだから普通だろ。
完全W3C準拠じゃないとダメとか言い出す潔癖症みたいなのまでいるしな。
それこそデザイナーの仕事。
プログラマはデザイナーの作った見た目だけで論理構造の破綻しているコードを手直ししてるんだから
デザイナーはプログラマの書いた表示上整ってるだけでHTML的に糞なコードを手直しすればいい。
321:nobodyさん
08/05/06 18:18:30
けんかはやめて!
322:nobodyさん
08/05/06 19:26:21
>>298
cakeのスレみたら
なんかthreadとかいうクラスあるみたいな
PHP自体がthreadセーフじゃないのに何がthreadなんだか
そんなセンスのないフレームワークなんかいいはずがない
323:nobodyさん
08/05/06 19:31:57
CIも標準セッションがアレだから人のこと言えない罠・・・orz
324:nobodyさん
08/05/06 19:35:22
ciはファンキーなんだよ
cakeはナンセンス
325:nobodyさん
08/05/06 19:39:29
>>322
threadクラス?聞いたことないぞ。
思い込みじゃないのか?
326:nobodyさん
08/05/06 19:42:52
よく見たらユーザが書いたコードの一部っぽいな
327:nobodyさん
08/05/06 20:38:03
おまえなw
しかも、2ちゃんねるの「スレ」の意味の
スレッドじゃねーか。
328:nobodyさん
08/05/06 21:46:43
FWがファンキーなら使い手もファンキーらしい
329:nobodyさん
08/05/06 21:53:50
ciはファンキー&ファンシー
330:nobodyさん
08/05/07 17:38:33
おお!本の発売待ってました!
…てか、結構まだ先ですねorz
URLリンク(codeigniter.jp)
2008年6月9日「CodeIgniter徹底入門」が発売されます!
翔泳社より発売されます。徹底入門シリーズとして、約600ページの内容となります。
サンプルコードやレシピなど内容も充実しています。
331:nobodyさん
08/05/07 17:47:54
DBのテーブル設計(MySQL)についてご意見をお聞かせください。
O/Rマッパーとか使ったことないんですけど、カラム名の命名は規則があった方がいいもんですか?
(1) id int型 auto_increment = 各テーブルの主キーのカラム名
(2) レコードのCRUDに関するデータを入れておくカラム名
insert_datetime datetime型
update_datetime datetime型
delete_datetime datetime型 (論理削除の場合にフラグとして使用)
332:nobodyさん
08/05/07 20:48:40 xkEge6Nj
>>330
セッションとかそういう
デメリットの部分をカバーしてくれてるなら買うが・・
そうでなければ買う意味なさそうだな
333:nobodyさん
08/05/07 22:47:19
そんなイレギュラーな使い方の解説はないだろ
334:nobodyさん
08/05/08 03:22:49
普通の使い方 解説されてもな・・・
335:nobodyさん
08/05/08 04:02:34
正直セッションは何とかして欲しい
336:nobodyさん
08/05/08 06:34:10
CakePHP使えば?
337:nobodyさん
08/05/08 10:10:07
糞ルータのハック面倒くせー
セグメントベースって何なんだよ
ci以外にあんのかこんなの
338:nobodyさん
08/05/08 10:29:41
普通の使い方ならオンラインドキュメントで充分だろう。
痒いところに手が届く解説が欲しいな。
339:nobodyさん
08/05/08 11:13:39
本が出る→認知度アップ→仕事で使ってもお客さん安心→ウマー
ちいたんも本が出たら…(・∀・)
340:nobodyさん
08/05/08 13:24:21
>>339
あったよ。
URLリンク(www.amazon.co.jp)
341:nobodyさん
08/05/08 14:27:09
>>339-340
この流れは読めた。
342:nobodyさん
08/05/08 14:32:56
>>340
おお!
ちいちゃんとぷろぐらまーwwwwww(ノ∀`)
343:nobodyさん
08/05/09 20:18:30
みなさんCIで何つくってるの?会社案内?
344:nobodyさん
08/05/09 20:40:43
>>343
ショッピングカートとかCMSとか。
あちこち独自ライブラリで拡張しまくりだけど。
CIは独自フレームワークを作るためのフレームワークという感じ。
345:nobodyさん
08/05/09 21:46:00
>>344
同じく。
自前でフロントコントローラ作るのが面倒だからプロジェクト毎に特化したCIライブラリ拡張してる。
って使い方するならCIは便利だと思う。
他の人はどうなの?
346:nobodyさん
08/05/11 07:16:47
>>345
同じく。つか、これこそFWだと思う。
今後は他のFWから依存しないライブラリを
パクって統合してみる予定。キメラ的な感じ。
347:nobodyさん
08/05/11 09:16:30
aso
348:nobodyさん
08/05/11 10:11:44
ばかだなぁw
フレームワーク意味ないじゃないかw
349:nobodyさん
08/05/11 11:56:34
>>348
じゃあ、フレームワークの意味をなくさない程度の
使い方ってものを講釈願おうか
350:nobodyさん
08/05/11 12:14:16
汎用的な部分は誰が作っても同じような構成になる。
独自のライブラリはなるべく使わない。
351:nobodyさん
08/05/11 12:27:53
>>350
すまん、ちょっとわからんかった。
独自ライブラリを組み込んだものを
チーム全員が同じく使うという前提だったのだが、
350はCIをそのまま使えと言っている?
352:nobodyさん
08/05/12 00:45:07 8tRiGXCa
ポストされた文字を内部エンコードに変換する処理どこに書く?
353:nobodyさん
08/05/12 00:47:19
まだ、EUCやSJISなんか使っているのか?
HTMLも内部もUTF-8にきまってるだろ。
354:nobodyさん
08/05/12 01:08:57
だって携帯なんだもん
355:nobodyさん
08/05/12 14:58:24
$this->load->config
とかプロパティーでメソッドチェーンするのってキモいな
きもいしイレギュラーだから使い方忘れるわ
356:nobodyさん
08/05/12 14:59:47
つーか、loadを名詞に使うなYO!
357:nobodyさん
08/05/12 21:14:35
うん、それは自分もきもいと思った。
慣れればいいだけだが。
358:nobodyさん
08/05/15 07:22:57 33ekN+Ad
コントローラで、
function index()
{
echo 'Hello World!'
}
のように、構文に間違いがあっても、エラーも何も表示されません。
どうしたらエラーの箇所がわかるのでしょうか?
359:nobodyさん
08/05/15 09:39:21
>>358
application/config/config.phpのログの設定のところ見れ。
PHPエラーもログに放り込む設定になってないか?
360:nobodyさん
08/05/15 18:47:08
>>359
$config['log_threshold'] = 0;
となっている。ログに放り込む設定にはなっていないと思う。
ちなみに、使っているのは 1.5.4
1.6.x だと index.php
361:nobodyさん
08/05/15 18:48:27
(ごめん 途中で書き込んでしまった)
1.6.x だと index.php をブラウザで見ても何も表示されないけど、
Apache か PHP の設定が何かおかしいのかなぁ?
362:nobodyさん
08/05/15 20:11:20 33ekN+Ad
1.5.4 のソースを読むと、
set_error_handler('_exception_handler');
でエラーハンドラを設定しているようですが、
function _exception_handler($severity, $message, $filepath, $line)
は値を返さず return しています。
PHP のマニュアルには 5.2.0 では「エラーハンドラは必ず FALSE を返さなければなりません」
と書いてあります。
ci 1.5.4 は PHP 5.2.0 以上には対応していないってことでしょうか?
363:358
08/05/15 20:43:44
解決しました
構文エラーがあってもエラーメッセージが表示されなかったのは php.ini で
display_errors = Off
としているからでした。
お騒がせして&ci のエラーハンドリングを疑って大変申し訳ありませんでした m(_ _)m
364:nobodyさん
08/05/16 13:43:36
フォームヘルパー使うとCSSは凝ったこと出来なくなるし、javascriptとの絡ませ方を間違いそうだし、
表示系はviewに手打ちが基本?
365:nobodyさん
08/05/16 13:49:39
ヘルパをラッパーしたらいいじゃん
366:nobodyさん
08/05/16 15:15:12
CIのviewは使って無いなぁ。
Flexy突っ込んで使ってる。
367:nobodyさん
08/05/16 18:28:03
つまりまともに段組したければ、view側にヘルパーのコードを書くことになる。
view側では文字数減るが、コントローラ側と合わせれば同程度かむしろ増える。
他の人が変数自体や変数に入れたnameやid確認したければ、わざわざコントローラのファイル見に行くことになる。
結局ふつうのフォームは生htmlでviewに書くことにするからメンテナンス請け負った人は客や上司の前で批判しないように。
368:nobodyさん
08/05/18 03:29:10
セキュリティー的に、www掘ってそこにindex.php置くべきだよなぁ
すべてのphpファイルの前に
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
なんて書くよりその方がずっと簡単でスマートなのにエリスはあほなの?
369:nobodyさん
08/05/18 08:20:55
そうしなくても使えるように配慮したからだろJK
370:nobodyさん
08/05/18 10:36:08
>>368
index.phpを1行いじれば(つか「.」1個打つだけw)BASEPATHをドキュメントルート外に
置く使い方ができるんだから、そうすればいいだけの話。
371:nobodyさん
08/05/18 15:03:34
しょぼいレン鯖でもドキュメントルート外にファイル置けるだろ
何のためにそんな配慮したのか意味不明JK
372:nobodyさん
08/05/18 15:10:43
>意味不明JK
お前の文章が意味不明
373:nobodyさん
08/05/18 18:09:00
じゃあドキュメントルート外にファイル置けないレンタルサーバ言って見ろよッ!
JK!
374:nobodyさん
08/05/18 19:45:51
人は死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない
私は死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない
あなたは死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない
死を忘れていても
死をごまかしていても
今日はまだ死なないだろうと思っていても
死から逃れることは誰もできない
全ては無常
過ぎた時間は終わってしまえば瞬間だった
まだ遠い先の未来のことだと思っている死も確実にやって来る
memento mori - 汝の死の瞬間を迎えるときを想え
375:nobodyさん
08/05/18 21:12:02
>>373
ロリポップ
376:nobodyさん
08/05/19 02:14:56
ロリポしょぼっ
さすが女子供用のレン鯖だな
377:nobodyさん
08/05/21 06:09:08
今時Layoutつかえねーのかこれ・・・
呆れ果てたぜ!
378:nobodyさん
08/05/26 10:05:45
>>377
Layoutって何ですか?
他のフレームワークにはそういう便利な機能がついているんですか?
379:nobodyさん
08/05/27 18:50:32
複数の画面で共通した
大枠のテンプレートが使える機能だよ
最近のフレームワークじゃ常識になってる
380:nobodyさん
08/05/28 00:33:16
>>379
Flexy組み込んで実装してる。
Codeigniterにはいらなくね?
俺は余計な機能ゴタゴタつけないで、常にシンプルに保って欲しい。
ライブラリとかプラグイン、ヘルパがあるんだし、欲しい物は自分で追加できた方が嬉しい。
381:nobodyさん
08/06/04 19:01:53
GETでルーティングする方法ってないんかな。
382:nobodyさん
08/06/05 01:46:11 R522EZcR
>>381
URLリンク(userguide.cilab.info)
クエリ文字列の有効化
URLに次のようなクエリ文字列を使用したい場面もあると思います:
index.php?c=products&m=view&id=345
CodeIgniter ではオプションでこのようなことにも対応しています。この機能は、application/config.php ファイルで有効にすることができます。
↑こういうこと?
383:nobodyさん
08/06/05 09:41:07
>>382
ばっちしこれです。タンクス。
384:nobodyさん
08/06/05 11:55:45
URIルーティングでもGETには変わりないから
なんのこっちゃと思った
385:nobodyさん
08/06/06 02:27:23
このスレを見ている人はこんなスレも見ています。(ver 0.20)
ドラクエの住人がルー大柴だったら [FF・ドラクエ]
昔疎遠になった幼馴染が引っ越してきた [不倫・浮気]
エイチ・エス・フューチャーズ [先物]
POINT-BOX ポイントボックス 8 [ポイント・マイル]
好きなギャルゲーをつまらなさそうに説明づるスレ [ギャルゲー]
ci使いって一体・・・
386:nobodyさん
08/06/06 05:21:57
ふと思ったが、URIクエリパラメータを「GET」っていうのは、PHPer以外にも通じる用語なのかな?
# $_GET ならともかく
387:nobodyさん
08/06/07 01:05:47
>>386
formのmethod属性で、POST、GETというんだから、GETは他言語でもGETなんでないの。
388:nobodyさん
08/06/07 01:08:01
>>386
リクエストメソッドって知ってる?
389:nobodyさん
08/06/07 01:19:24
>>388
GET / HTTP/1.1
HOST: www.example.com
みたいな?一応知ってますよ、と
>>387のHTMLのform要素としてのGETパラメータ、っていう意味でなら通じると。納得。
390:nobodyさん
08/06/08 13:11:00 oe9fgjbi
>>386
「GET」云々はプログラム言語の仕様の話ではなくて、「HTTP」の仕様・仕組みの話だから、PHPとは関係なく説明に使えますね^^
URLリンク(docs.sun.com)
HyperText Transfer Protocol (HTTP) の基本を簡単に紹介します。
●クライアントからサーバへのリクエストには、次の情報が含まれます。
・リクエスト メソッド
・リクエスト ヘッダ
・リクエスト データ
●リクエスト メソッド
クライアントは多くのメソッドを使って情報を要求することができます。
一般的には次の方法が使われます。
・GET 特定のドキュメントを要求します。
・HEAD ドキュメントのヘッダ情報だけを要求します。
・POST サーバの、クライアントからのデータ受信を要求します。CGI プログラムのフォーム入力などです。
・PUT サーバのドキュメントの内容を、クライアントからのデータに置換します。
391:nobodyさん
08/06/08 13:13:24 oe9fgjbi
URLリンク(www.studyinghttp.net)
HTTP/1.1 メソッド
GET
HEAD
POST
PUT
DELETE
OPTIONS
TRACE
CONNECT
PATCH
LINK, UNLINK
392:nobodyさん
08/06/08 14:06:34
そうゆうことです
393:nobodyさん
08/06/08 14:51:40
どういうこと?
394:nobodyさん
08/06/09 00:01:07
>>393
クライアント(自分のマシン)が、サーバー(WEBサーバー)に対して、「このデータを送ってくれ!」と呼びかける方法がいろいろ用意されている。
その中の一つとして、GETやPOST等の方法が用意されている。
ということだよ^^
「HTTP」でGoogle検索すると詳しく解説しているページが、たくさん見つかるよ☆
395:nobodyさん
08/06/09 06:12:49
?hoge=poge
とか付けなくても普通にページ呼び出してたらそれすなわちGETなのだ
396:nobodyさん
08/06/10 05:51:57
ci徹底入門が発売されたもよん
買った人どう?
まぁ本読むまでもない程シンプルなのがciだと思うが・・
397:nobodyさん
08/06/11 17:14:01
mixiから転載。
--
bossatama
---
■社名
株式会社 音生(ネオ)
■募集人材と雇用形態
・事務(女性)
・PHPプログラマ アルバイト(男女)
■想定勤務時間
週3日以上希望 残業等なし
■想定勤務地
名古屋市中区金山
■担当してもらう予定の業務
・事務(女性)
・PHPフレームワークを利用したWebアプリケーションの開発
■報酬
自給1000円~2000円 実力に応じて相談させてください。
■希望人材(スキル・年齢・住居地など)
PHPの初心者歓迎。教育できます。男女学生大歓迎、転職やリターンもOK。
事務をやりながら、デザイン(html)やプログラムを勉強する方もOKです。
■募集期限
2008年7月終わり
■連絡先
「アルバイト希望」として、連絡先をmixiメールにてお願いします。
■その他(好きなだけアピールしてください)
AUの公式サイト「バンドナビ」を運営。音楽大好き!
URLリンク(band-navi.com)
日本CodeIgniterユーザ会の主催会社
URLリンク(codeigniter.jp)
--
会社が主催してるらしい
398:nobodyさん
08/06/11 20:16:55
営利企業が勝手にユーザ会とか名乗るのやめて欲しい
399:nobodyさん
08/06/11 21:54:47
>>396
615ページぐらいあって、やたらでかくて高かった。3800円とか。
開発環境の構築の仕方とかが最初に書いてあって(Eclipse/PDT)、
今までフレームワーク使うまでも無い小さい案件ぐらいしかやったことねぇよ、って言う人むけな感じ。
●サンプルコードも、
・コンタクトフォームを作る
・モバイル対応簡易掲示板を作る
・簡易ショッピングサイトを作る
程度に収まってる。
CIは、Web上に日本語のマニュアル転がってるし、
勘のいい人とか、適当にいろいろフレームワーク渡り歩いてた人とかは必要ないかも。
って、数ページペラペラめくって思った。
そんなに小技とか、そういうのは乗ってない雰囲気でございます。
400:nobodyさん
08/06/12 13:55:53 5LtH7vFx
初心者PG向けに良いFWだね。
他のFWとは対象者がバッティングしないと。
401:nobodyさん
08/06/16 03:40:01
>>396
PHP初心者だけど、結構ありがたい本。
環境構築からデバッグ方法、フレームワークの基礎的な概念も説明してるし。
リファレンス部も、サンプルコードが充実してるのがありがたい。
迷った時には、この本開けば即解決になる確率が高い。
フレームワークとかの、言語以外の範囲の入門書って、イマイチそういう
迷ったときに解決する為の「当たり」ページを引く確率低いってイメージ
あるから、俺的にはこの本はお勧めできる。
ただ、CI内部のコードとかバリバリ読めて、ネット上からさくさく自分の
探してる情報が引き出せて、CIに機能が無ければ自分でガリガリ書くって
いうようなパワーユーザは、ものたりないって言うかもしれないね。
402:nobodyさん
08/06/16 04:05:37
なんか宣伝くせーな
403:nobodyさん
08/06/16 10:32:47 uqAO2CKu
昨日本屋で見てきました。
パラパラとしか見てないけど、即買い!という判断には至らなかった。
自分が本を買う基準の一つとして、購入後の利用頻度を考慮しますが、2~3回読んだら終わりかな?と思ったので。
>>401
フレームワーク自体に慣れてない人、初心者にとっては役立つ
=CIのマニュアル代わりとして使う用途なら、紙ベースなので便利
と思いました。
404:nobodyさん
08/06/17 20:04:27
他のFW本よりもわかりやすかったよ。
CIそのものが簡単ということなのかな。
405:nobodyさん
08/06/24 05:50:32
404エラーページの取り回しダサくね?
標準の処理と同じコンテクストで処理するのが自然なんだから
エラー用のクラス名とメソッド名だけ指定するようにするべきだろJK
しかもビューチフルにハックもしにくいし
所詮ハゲが書いたFWか・・
406:nobodyさん
08/06/26 00:50:52
と、ハックに挫折したハゲが申しております。
407:nobodyさん
08/06/26 00:55:50
config周辺もひどい
アメ公の美意識の低さは異常
408:nobodyさん
08/07/01 04:00:36
CIでXoopsモジュールとか作った人いたりする?
409:nobodyさん
08/07/02 18:00:54
Fatal error: Call to a member function get() on a non-object in C:\xampp\htdocs\ci\system\application\controllers\blog.php on line 15
DBオブジェクトが取れてないようなんだけど、取れてない部分のエラーが出てこないのはなんで?
410:nobodyさん
08/07/02 18:12:41
ライブラリが登録されてなかった。
でもエラーが出ないのはうんこだろ。
411:nobodyさん
08/07/03 10:15:29 XZ5SMLTk
AppControllerとかAppModelとかおきたい場合って
どうすればいいんでしょうか?
412:nobodyさん
08/07/03 17:29:46 EmmaV8CT
管理者用の画面を作るときって どうやってる?
controller/admin 掘って そこにコントローラ置いて
あとは admin にルーティングすればいいのかな?
ログイン認証なんかのコントローラとか どうやってわけるのがいいんだろう…
413:nobodyさん
08/07/03 17:40:04
>>412
ぶっちゃけ、どんなURLにしたいかで変わる様な気がする
別ドメインがよければ、Apacheの設定も絡むし。
一般的なのはどんな感じなんだろうねえ
414:412
08/07/03 17:54:55
>>413
ありがとう そだね
とりあえずは controller/admin/ にディレクトリ掘って
そこに置くことにした
あと 管理者関連のコントローラだけ 共通の認証チェック処理いれたいんだけど
その辺のやり方がわからない
前にCakePHPさわったときは beforeFilter なんかで
コントローラ共通の処理入れられたんだけど
CIは 自分でControllerクラス継承して 作らないとだめなのかな?
管理ページ周りの処理で 参考になるとこあったら教えてください…
415:412
08/07/03 18:02:00
Controllerクラス継承して作る場合は
>>411 の言ってることと同じだね
一応 コアクラスの継承は
system/application/library/ に Controllerクラスを継承したMY_Controller.php
とか作ればいいみたいだよ
ログイン認証の共通処理も そうやってAppController 作ればいいんかな…
その辺りの情報がないから どうやるのがいいのか
いまいちわからん
416:nobodyさん
08/07/03 18:06:26
>>414
CIさわらずにKohana触ってる邪道な俺だけど、俺も知りたい
便乗w
俺は、libraries の中にBaseController, UserController, AdminController って作っちゃったな・・・
誰か、筋の良いやり方を教えて
417:412
08/07/03 18:12:02
>>415
ちょいウソあったw
AppControllerじゃなくて MY_Controller だね
/system/application/library/MY_Controller.php
class MY_Controller extends Controller {
function MY_Controller() {
parent::Controller();
}
}
こんな感じ。
ログインの共通処理も ここでやろうかと思ったんだけど
それでいいのかがわからん…
>>416 みたいに 種類ごとにクラス作ったほうがいい気もするし…
418:412
08/07/03 18:52:48
>>417 の方法でやってるんだが
/system/application/libraries/MY_Controller.php
のようなの作れば コアクラスは自動で置き換わるらしいんだが
置き換わらないな
コントローラ側で
class bbs extends MY_Controller {
}
みたいに MY_ つけてやらないとダメ
CIのルールだとデフォでMY_付けることになってるけど
これじゃ意味ないじゃん
バグ?
419:nobodyさん
08/07/03 18:57:59
[/system/application/libraries/MY_Controller.php]
class TEST_Controller extends Controller {
}
[/system/application/controllers/test.php]
class Bbs extends TEST_Controller {
}
にしてもいけちゃう
class Bbs extends Controller {
}
だと TEST_Controller が継承されない
(ルール通りにクラス名を MY_Controller にしても場合も同じ)
コアクラス、置き換わってない…
バグくさいね orz
420:412
08/07/03 19:38:23
ぼけてた 釣ってくる…
でも「コアクラスを拡張する場合のクラス名には MY_ を付ける」
っていう ルールは意味がないね
URLリンク(codeigniter.jp)
ファイルは MY_ 付けないと読み込んでくれないみたいだけど、
クラス名は別に MY_ 付ける必要ないよね?
なんでこんなこと書いてるんだろう
421:nobodyさん
08/07/03 20:15:07
英語版にはちゃんとした事書いてたりするけ?
422:411
08/07/03 20:23:33 XZ5SMLTk
事故解決してたんだけどありがとう。
ただAppModelは相変わらずわかりません。
どのタイミングでロードすればええんですか?
Hook系もだめぽでした。
423:412
08/07/03 22:43:11
>>422
>>419-420 の方法じゃだめなの?
クラス名 MY_ つけなくてもいけるっぽいから
AppControllerにしとけばいいんじゃ
よくわからん ルールだなあ
おれはてっきり Controller そのものを置き換えてくれるとおもったんだが
ライブラリとかヘルパはそうだよね
424:nobodyさん
08/07/04 15:09:16
>>422
コントローラはMY_Controllerをextendsして書いてるが、
モデルは仕方ないので各モデルの冒頭で
<?php
require_once(APPPATH."libraries/MY_Model.php");
class Hoge_model extends MY_Model
425:nobodyさん
08/07/14 11:55:08
$this->db->insert() するときに, created_at とか updated_at というカラムに current_timestamp を指定したいんだけど、どうやったらいいの?
$array = array('name'=>'Foo', 'created_at'=>'current_timestamp');
として insert() してみたけど、current_timestamp にならず 0000-00-00 00:00:00 になった。
ちなみにMySQL5.0
426:nobodyさん
08/07/14 12:05:24
>>425
Database に、escapeしないでsetする方法ってあったっけ?
それがsetメソッドなら、
$db->エスケープしないset('create_at', '式');
$db->insert('テーブル名') でいけるような気がする。
以上想像。なければ、Databaseを拡張する必要があるかも?
俺もこの辺知りたい。ソース嫁って感じだけど
427:nobodyさん
08/07/14 12:12:17
NOW()とかも文字列として扱っちゃうから
date('Y-m-d H:i:s') にするしかないと思う
オレは
function now()
{
return date('Y-m-d H:i:s');
}
っていう関数を作ってある
428:nobodyさん
08/07/14 19:00:27
>>426-427
さんくすです。
できないみたいなので、
fuction current_timestamp() {
return date('Y-m-d H:i:s');
}
を使うことにしました。
でもこれだと、application server と database server が別だと
時刻を必ず揃えておく必要がありますね。
429:nobodyさん
08/07/14 19:12:37
>>428
サーバの管理がきっちり出来ていれば、どんなサーバも1秒と違わないはずなので、時刻で
よっぽどシビアなソートやチェックをしていない限り、それは大丈夫かと。
また、原則からいうなら元々どちらかに合わせるべきなので、DBの関数が使えない時点で
application側の時刻のみを使うのが必然となるかな。
サーバ間の時刻あわせとは、微妙に話が違うような。
430:nobodyさん
08/07/14 19:47:05
>>426-428
date_helperのunix_to_human じゃダメなのか?
unix_to_human(time(),TRUE,'eu');
431:nobodyさん
08/07/15 06:26:58
うちでは、まず application/helpers/database_helper.php として↓を用意して
class SafeMarker {
private $_str;
public function __construct($str) { $this->_str = $str; }
public function __toString() { return $this->_str; }
}
function mark_as_safe($str) {
return new SafeMarker($str);
}
モデルの中でこんな感じで使ってますよ
$this->load->helper('database');
$this->db->set('foo', $bar);
$this->db->set('created_at', mark_as_safe('NOW()'));
$this->db->insert('mytable');
CI_DB_driver#escape を読むとわかるけど、gettype で 'string' でも 'boolean' でも
NULL でもない値はスルーしてくれるので、オブジェクトでラップすると通る。
ただし __toString はPHP5からかな。
一種のhackなので、NOW()みたいな安全だとわかっているものにしか使いませんが。
432:nobodyさん
08/07/15 07:42:14
>>431
なんちゅうか、バッドノウハウの香りがw
> gettype で 'string' でも 'boolean' でもNULL でもない値はスルーしてくれる
っていう実装自体も、それに依存してるっていうのも、なんだかなあw
オブジェクトを渡されて、上記みたいにすることも前提にしてるのかな?>CI
(それなら、素直にescapeを回避するset系メソッドをつければいいのではと)
433:431
08/07/15 12:59:01
>>432
どうみてもBKです。本当に(ry
CI内部の実装依存だからCIをバージョンアップすると動かなくなるかも。
個人的には、gettypeを見て判定、の部分はとりたてておかしなコードでは
ないので、マイナーバージョンアップであれば大丈夫だろうという甘い期待w
最悪、mark_as_safe で grep して置き換えれば、なんとかなるだろうとかw
素人にも玄人にもオヌヌメできない。\(^o^)/
434:431
08/07/15 13:07:49
ってよくみたら set($key, $value = '', $escape = TRUE) って
第三引数があるじゃねーかw
$this->db->set('created_at', 'NOW()', FALSE);
で多分いけるね・・・ orz
435:nobodyさん
08/07/15 13:10:36
>>434
でもそれだと
$this->db->insert('tablename', array('created_at'=>'NOW()'));
とかができないよね。
431の方法のほうが個人的に好み。
436:nobodyさん
08/07/15 13:15:25
そういうの考えるのが面倒くさかったので、デフォで$this->db->insert($tablename, $valuearray);時は
created_atに作成日時をつっこみ、$this->db->update($tablename, $valuearray);時はupdated_atに
更新日時を突っ込むようにCI_DBを変更して使ってる。
バッドノウハウなのは百も承知だが、symfonyから流れてきた人にはこれが手放せないのよorz
437:nobodyさん
08/07/15 17:00:08
>>436
それはDBのNOW()やCURRENT_TIMESTAMP()を使うの?
それともPHPのdate()を使うの?
前者ならまねしたいなあ
438:nobodyさん
08/08/02 09:47:59
いつの間にか1.5から1.6になってる。
なんかかわったの?
439:nobodyさん
08/08/03 18:45:02 znW3bDml
あれ、$this->dbがなくなってね?
440:nobodyさん
08/08/03 19:04:30
kantigaidatta
441:nobodyさん
08/08/20 20:18:05
CI使ってる人間ってどれぐらいいるんだろうか
442:nobodyさん
08/08/20 20:44:32
17人
443:nobodyさん
08/08/22 13:30:33
CIってforward とか redirect とかはどうやるの?
444:nobodyさん
08/08/23 00:51:34
headerで自分で
445:nobodyさん
08/08/23 01:26:31
helperとか無かったっけ
まあぶっちゃけ自分でheader(ほげほげ)書くのと変わらないけど
446:nobodyさん
08/08/25 13:31:03 Ziu2Tqsv
CodeIgniterでは、URLは「コントローラ名/メソッド名」というのが基本ですが、
このパターンを変更することはできますか。
やりたいのは、
- /blog/index
- /blog/show
- /blog/create
- /blog/edit
というのではなく、
- /blog/maka
- /blog/blackstar
- /blog/deaththekid
のように「コントローラ名/ユーザ名」のようにしたいということです。
つまり /blog 以下のアクセスをある特定のメソッドに縛りたいということです。
447:nobodyさん
08/08/25 15:36:16
>>446
ヒント
config/routes.php
URLリンク(codeigniter.com)
URLリンク(userguide.cilab.info)
448:nobodyさん
08/08/26 15:08:09
>>447
ありがとうございます!
449:nobodyさん
08/08/26 15:24:29
Routingについて質問です。
ユーザーズガイドの例にあったのですが、
$route['product/:num'] = "catalog/product_lookup";
という設定をした場合、「:num」の値は Catalog->product_lookup() の中で
どうやって取得すればいいのでしょうか。
通常だと Catalog->product_lookup() の引数にこの値が渡されますが、
試したところ、$route[] を設定した場合は渡されないようです。
450:nobodyさん
08/08/26 15:37:11
>>449
英語のドキュメントに書いてありました。
$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";
でいいみたいですね。
お騒がせしました。
451:nobodyさん
08/08/28 12:20:46 B/844Qiw
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));
この時、無関係な?は置換されないようになってますか?
たとえば、クエリの中に、hoge = 'fuga???'があった時など
452:nobodyさん
08/08/28 22:52:42
>>451
ソレは自分で試してみたほうが早いんじゃない?
453:nobodyさん
08/08/29 08:50:09
複数のコントローラ間でメソッドを共有したいとき、どうするのがいいでしょうか。
できれば、あるコントローラのメソッド内で、別のコントローラをnewしてメソッドを実行できるのがいちばん理想的なんですが、そんなことできますか。
454:nobodyさん
08/08/29 11:22:01
>>453
application/libraryにMY_Controllerを置き、共通メソッドはそこに置く。
そのメソッドを使うコントローラはextends MY_Controllerで作る。
455:nobodyさん
08/08/29 11:44:55
>>454
しかしそれをしていると、だんだん多重継承っぽい事がしたくなってくるという罠
シンプルな処理、Controllerのプロパティ、機能等が必要ない様なものは、
ユーティリティクラスに切り出すとかもありかと思う
そして、libraries がカオスになるというセンスのない俺
456:nobodyさん
08/08/29 14:42:55
>>454
MY_Controllerに相当するものは作っているんですが、そこにはやはり多くのコントローラに共通するものだけをおきたいです。
あるコントローラAとコントローラBだけが使うようなものは、やっぱりMY_Controllerにはおきたくないですよね。
class AB_Controller extends MY_Controller
class ControllerA extends AB_Controller
class ControllerB extends AB_Controller
みたいなのってできますっけ?
>>455
多重継承やMix-inは欲しくなりますね。
librariesやhelpersがカオスになるのはよくわかります。
今まさにそんなかんじになりつつあるので、整理しているところです。
457:nobodyさん
08/09/07 15:37:47
>>456
びっくりするくらい亀レスですがw
> class AB_Controller extends MY_Controller
> class ControllerA extends AB_Controller
> class ControllerB extends AB_Controller
> みたいなのってできますっけ?
できますね。うちでは、MY_Controller にはしていませんが。
(この辺のAutoLoderの仕組みがあんまりよくわかってないw)
458:nobodyさん
08/09/12 18:31:21 q2obqPa7
>457
Fatal error: Class 'AB_Controller' not found in 呼び出してるコントローラーを継承しているクラス.php on line XX
ってなるんですが、なぜでしょうか。
以下に配置してます。
/system/application/libraries/AB_Controller.php
--------------------------------------------------------
<?php
class AB_Controller extends MY_Controller {
function AB_Controller()
{
parent::MY_Controller();
}
}
?>
459:nobodyさん
08/09/13 01:11:52
>>458
「MY_がついてて、MY_の後の最初の1文字だけが大文字」の命名ルールに従ってないと
オートローディングできないですよ~。
(プレフィクスはconfig.phpでMY_以外に変更可能)
命名規則を揃えるか、自前でコントローラクラスにrequire_onceを書くか、どっちかの手当てが
必要。
460:nobodyさん
08/09/14 01:01:21 cUARlcyz
>>459
ありがとうございました。大変助かりました!
461:nobodyさん
08/09/18 13:09:07
CodeIgniter的には、pluginとhelperの違いって何かありますか。
どっちも関数を提供するだけで、違いが内容に見えます。
462:nobodyさん
08/09/18 16:11:44 nzPLdxkT
ログのしきい値おかしいね。普通
0 出力なし
1 ERROR
2 INFOも
3 DEBUGも
じゃない?
463:nobodyさん
08/09/18 17:07:43
syslogの区分けにして欲しいよな
ciはアメリカ人らしく独自すぎるところが結構ある
464:nobodyさん
08/09/18 17:47:47 nzPLdxkT
だよね。
しきい値勝手に変えちゃったもん。
465:nobodyさん
08/09/22 21:08:37
なんかDB使ってるとFromのテーブルがどんどん増えていくんだけれども。
もしかして静的にテーブル溜め込んでんの?
466:nobodyさん
08/10/08 18:34:20
CIでunit testやってる人いません?
うちはCIのWikiに出てたSimpletesterをいじりながらなんとかやってますけど、
1フォルダ内のテストクラスを全実行することしか出来なくてちょっとこまってます。
URLリンク(codeigniter.com)
467:nobodyさん
08/10/20 05:19:44
base_urlにIndex.phpが引っ付くのはでふぉ?
468:nobodyさん
08/10/20 05:21:12
ちがったform_openだ
469:nobodyさん
08/10/24 20:58:58
1.7.0
470:nobodyさん
08/10/28 10:49:17
1.7でなにか変わった?
471:nobodyさん
08/10/28 14:21:52
validationクラスがform_validationクラスに名前変更&若干の仕様変更
→configに定義したものから読み込み可能になった
sessionデータをDBに保存するように変更とソレに伴ってテーブル定義変更
この二つ位かな?個人的には
詳しくは
URLリンク(codeigniter.com)
472:470
08/10/28 20:20:01
なるほど、どもです。
473:nobodyさん
08/11/12 18:05:07
ciってcgi版phpでrewriteを使って
URLリンク(www.example.com)
を
URLリンク(www.example.com)
でアクセスできるようにすると、動かないのですかね・・・