[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 10/16 04:44 / Filesize : 109 KB / Number-of Response : 474
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

[PHP][フレームワーク]CodeIgniterスレ



1 名前:nobodyさん mailto:sage [2007/04/27(金) 23:17:16 ID:???]
公式:www.codeigniter.com/
チュートリアル:codeigniter.com/tutorials/

ユーザガイド日本語訳:ci-user-guide-ja.nought-point-999.net/

小回りの利くフレームワークの話題をひとつ!

158 名前:nobodyさん mailto:sage [2007/10/23(火) 17:38:14 ID:???]
>>156
userguide.cilab.info/general/routing.html


159 名前:nobodyさん [2007/10/26(金) 16:49:25 ID:WZ/kPbo7]
これいいね。素人のレンタル鯖の俺にとっては導入しやすくて助かる
いろんな有名どころのフレームワーク試したけど導入で躓いた・・・
DB関連も良さそうだ
これ使う前はZendが一番使いたかったけど、もうこれで十分だな

160 名前:nobodyさん mailto:sage [2007/10/26(金) 17:30:20 ID:???]
モチロンソウヨ

161 名前:nobodyさん [2007/10/27(土) 21:08:04 ID:stfTQ4kY]
ihc.mydisk.jp/

162 名前:156 mailto:sage [2007/10/28(日) 12:23:43 ID:???]
>>157-158
ありがと。そういうもんなのね。
クラス名をHomeにして/indexにルーティングすることにした。


163 名前:nobodyさん mailto:sage [2007/11/22(木) 16:21:00 ID:???]
これからCI使おうと思うんですが、何か不便に感じる部分とかあったら教えてください。

164 名前:nobodyさん mailto:sage [2007/11/23(金) 02:05:01 ID:???]
formがしょぼい

165 名前:nobodyさん mailto:sage [2008/01/17(木) 10:41:51 ID:???]
これのFork版面白そうだね

166 名前:nobodyさん [2008/01/30(水) 01:49:15 ID:2r+EzdWP]
Emailクラスの文字化けはまだ直ってないのかな?



167 名前:nobodyさん [2008/01/30(水) 09:57:56 ID:tmBsdMJo]
もしかしてroutes.phpのURI設定が使われるのってルーティングの時だけ?
URLヘルパでこの設定使わなかったら片手落ちもいいとこなんだが…

168 名前:nobodyさん mailto:sage [2008/01/30(水) 11:40:14 ID:???]
>>167
当たり前だろ。っていうか、コード内部でURLを使っているのか?

169 名前:166 [2008/01/30(水) 17:06:19 ID:2r+EzdWP]
1.6で直る模様ですね。
バクトラック投げてくれた方に感謝です。

170 名前:nobodyさん mailto:sage [2008/01/30(水) 19:40:03 ID:???]
>>168
当たり前じゃねーよ
・ルールに従ってスマートなURLをパースし、パラメータにする機能
・パラメータを元に、ルールに従ってスマートなURLを組み立てる機能
これはペアだ

171 名前:nobodyさん mailto:sage [2008/01/30(水) 19:59:43 ID:???]
>>169
バグ投げてくれたのはいいが、その内容がひどかったけどな

172 名前:nobodyさん mailto:sage [2008/02/01(金) 08:03:32 ID:???]
自分でクラス書く時先頭に
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
って書いてる?

173 名前:nobodyさん mailto:sage [2008/02/01(金) 08:58:03 ID:???]
これGET使わないとか無茶じゃね?
検索もPOSTでしろと??

174 名前:nobodyさん mailto:sage [2008/02/01(金) 09:43:29 ID:???]
$config['enable_query_strings'] = true;
$config['uri_protocol'] = "PATH_INFO";
で出来たわん

175 名前:nobodyさん mailto:sage [2008/02/01(金) 09:49:34 ID:???]
機能はシンプルすぎて若干ショボいくらいだけど
ciは基幹クラスを上書きできるのがいいな

176 名前:nobodyさん mailto:sage [2008/02/01(金) 10:23:44 ID:???]
アプリケーション固有のデータはどうするのがci流?



177 名前:nobodyさん mailto:sage [2008/02/01(金) 11:37:18 ID:???]
自分でクラス書く時は
ciに習ってphp4式(プロパティーはvar、アクセス修飾子なし)で書くか、
php5式で書くか、dotch?

178 名前:nobodyさん mailto:sage [2008/02/01(金) 16:52:09 ID:???]
>>177
どっちでもいいんじゃね。
自分の環境で動くんなら

179 名前:nobodyさん mailto:sage [2008/02/01(金) 19:41:43 ID:???]
読み込んだライブラリがそのままの名前でコントローラのプロパティーになる
って仕様ダサくね?
methodとぶつかりまくりじゃん
というよりも、methodにプレフィックス付けるようにするべきだろ
常識で考えて

180 名前:nobodyさん mailto:sage [2008/02/01(金) 21:20:55 ID:???]
>>179
自分の設計が悪いだけじゃないの?

181 名前:nobodyさん mailto:sage [2008/02/01(金) 21:28:10 ID:???]
1.6出たよ!

182 名前:nobodyさん mailto:sage [2008/02/01(金) 22:26:18 ID:???]
>>180
なんでそんな話になるんだよw
俺の実装がどうとかいう話じゃねえ
ユーザー全てにおいて起こりうる問題だから言ってんだよ

183 名前:nobodyさん mailto:sage [2008/02/01(金) 23:08:14 ID:???]
>>181
ほんまやんけ!

CodeIgniter1.6、キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
codeigniter.com/news/codeigniter_1_6_hits_the_streets/

CodeIgniter1.6は街に出かけます。
EllisLabはCodeIgniter1.6のリリース、私たちのオープンソースウェブアプリケーション枠組みを発表するのを誇りに思っています。 リリースは、枠組みの開発で新しい回転をマークして、EllisLab開発者と共同体の両方からかなりの配慮を受けました。

多くの新しい能力の中では、このリリースは以下を特集します。

Database Forgeのクラス: データベース不可知論者テーブルと分野操作
高められたActive Recordライブラリ
「フラッシュ変数」と追加担保がある改訂されたSession Class
自動loadable Modelsとextendable Model Class
既存のHelpersへのExtendable Helpers、追加、および増進
複数の視点の簡単な包含を考慮する改訂された視点構造
そして、120以上の異なった増進、改良、およびバグフィックス
心から信じられない共同体に感謝するには瞬間かかりたいと思います。(共同体はサポート、提案、フィックス、増進、および奨励を精力的に提供しました)。 私たちの開発の新型はあなた方のすべて周りで築き上げられます--感謝。

CodeIgniterは成長して、発展し続けています、そして、仕事は次のリリースのために既に始まりました。

すべての変化のリストに関しては、 Change Logを見てください。 現在CodeIgniterを走らせているなら、 アップデート説明書を読んでください。

2008年1月30日にデリック・アラードによって掲示されます。


184 名前:nobodyさん mailto:sage [2008/02/01(金) 23:34:54 ID:???]
アップデートも簡単なのがいいな

185 名前:nobodyさん [2008/02/02(土) 08:15:19 ID:NjVdwivu]
>>183
機械翻訳ひどいな

186 名前:nobodyさん mailto:sage [2008/02/02(土) 10:44:24 ID:???]
エラーが起きても何も表示されないケースがあるな
ハンドリングがうまくいってないのか…



187 名前:nobodyさん mailto:sage [2008/02/03(日) 21:28:38 ID:???]
> 読み込んだライブラリがそのままの名前でコントローラのプロパティーになる
> って仕様ダサくね?
> methodとぶつかりまくりじゃん

メソッド名は動詞、クラス名は名詞になるから
普通に作っていたら、まずありえないな。

188 名前:nobodyさん mailto:sage [2008/02/03(日) 23:18:33 ID:???]
名詞と動詞ってどんだけ曖昧な基準だよw

189 名前:nobodyさん mailto:sage [2008/02/04(月) 08:32:42 ID:???]
名詞と動詞が曖昧だったら何が曖昧じゃないんだと問いたい

190 名前:nobodyさん mailto:sage [2008/02/04(月) 10:13:31 ID:???]
名詞と動詞が同型の単語は?
というよりもメソッドが動詞になるということ自体勝手なマイルールじゃん
そんな心くばりに依存するような実装はセンスがないと言っている
最初から名前空間を分ければいいこと

191 名前:nobodyさん mailto:sage [2008/02/04(月) 13:00:32 ID:???]
>名詞と動詞
>曖昧な基準
英語を勉強したことがあれば知ってることだが、英会話の中では基本的に、名詞と動詞は区別できる。

>名詞と動詞が同型の単語は?
set
【名】一組{ひとくみ}、ひとそろい、一式
【自動】(ゼリーなどが)固まる、(骨が)くっつく[固定{こてい}する]
【他動】〜を正しい位置{いち}に置く[取り付ける]、整える、定める、配置{はいち}する、設定{せってい}する

こういう単語は気をつけないといけない。
メソッド名には動詞+目的語という形にして動詞単独で使わなければ、動詞と名詞が重複することはない。

>名前空間を分ければいい
PHP6では名前空間によって、重複が少なくなる?

192 名前:nobodyさん mailto:sage [2008/02/04(月) 19:22:45 ID:???]
>>190
の書いたクラスを見てみたい

193 名前:nobodyさん mailto:sage [2008/02/04(月) 19:44:52 ID:???]
そうか。
俺はお前のコードは見たくないわ。

194 名前:nobodyさん mailto:sage [2008/02/04(月) 23:39:11 ID:???]
クラスを名詞、メソッドを動詞にするのは、この業界の常識だろ。

www.atmarkit.co.jp/farc/rensai/goodmodel01/goodmodel01.html
>
> 名詞・動詞分析法
>  ユースケースや用語集から、名詞、名詞句を探し出して、クラスの候補とし、
> 動詞、動詞句を探し出して、メソッドの候補として作成していく方法。


たしかに名詞と動詞が同じものもあるから完全には決まらないが、
こんなの大体でいい。メソッドの場合は() 括弧がつくのだから
たとえ同じでも動作に不都合は無い。人間がわかりやすくするためのものなのだから
大体それで区別できれば問題ないわけだよ。


195 名前:nobodyさん mailto:sage [2008/02/05(火) 00:41:07 ID:???]
で、1.6はどう?
俺としてはAuth関係を標準で入れてほしかったなあ。

196 名前:nobodyさん mailto:sage [2008/02/05(火) 01:35:22 ID:???]
スレ違いかも知れないが名前空間とかの話でたので、
なんかPHPってC++とJavaを足して2で割ったような言語になってきているような気がする。
お手軽な言語から敷居の高い言語に変わっていくような気が・・・。
やだな〜。



197 名前:nobodyさん mailto:sage [2008/02/05(火) 02:23:24 ID:???]
PHPが発展しすぎて、手続き型プログラミングの仕様が切り捨てられたら、PHPユーザー減るかもね。
後方互換性=PHP4、PHP5の文法で書かれたコードが実行できる状態で拡張、改善されるなら問題ないと思うけど。

198 名前:nobodyさん mailto:sage [2008/02/05(火) 02:28:34 ID:???]
代わりになる言語が出ない限り無理。

199 名前:nobodyさん mailto:sage [2008/02/05(火) 07:27:59 ID:???]
HTMLの中に埋め込むのが楽だったんだよなあ。
ASPでもJSPでもそうなんだが。
まあ実際にはやらないけど、例えば1行で日付だけ表示させるようなプログラムでも
前ならHTMLの表示させたい場所に<phpで埋め込めば一瞬だったけど
MVCとかにすると表示する関数をモデルに用意して、テンプレに表示用用意しておいてコントローラーからビューにアサインしてみたいな面倒なことになる。

デザインとコードを分離できるのはメリットでもあるが、関係箇所が分離される事により
関連を探す手間も増えて見る場所も増えてでデメリットもあるのがなあ。


200 名前:nobodyさん mailto:sage [2008/02/05(火) 10:53:55 ID:???]
日付だけならヘルパでやれよ

201 名前:nobodyさん mailto:sage [2008/02/05(火) 13:48:11 ID:???]
>>199
CodeIgniterなら、テンプレートファイルに無理やりロジック(PHPコード)を入れられるんじゃないですか?

userguide.cilab.info/general/alternative_php.html
CodeIgniter の テンプレートエンジンを利用したくない場合は、ビューファイルで純粋なPHPを利用することができます。

202 名前:nobodyさん [2008/02/06(水) 09:14:57 ID:4yRuvbwo]
CIってセッションデータ(非セッションID)をクッキーに格納するって読んだんだけどマジ?
クッキーなんて4Kくらいしかないし
それほど安全でもないし
毎回送信されるしでありえないんだが…

203 名前:nobodyさん mailto:sage [2008/02/06(水) 09:59:31 ID:???]
どこで読んだんだ?

204 名前:nobodyさん mailto:sage [2008/02/06(水) 10:06:28 ID:???]
いろんなところで。たとえばこれとか。
lists.sourceforge.jp/mailman/archives/codeigniter-users/2007-December/000048.html

205 名前:nobodyさん mailto:sage [2008/02/06(水) 11:08:34 ID:???]
>>202
PHP独自セッションは、スケーラビリティを考慮されていない設計になっていることと、
セキュリティの問題の2点からCIでは独自のセッションデータを保持するようにしていると思われる。

簡単に言うと、(うそ書いてるかも知れないからごめんね、一応自分で調べてみてください)

1.スケーラビリティの考慮漏れ
PHPはセッションデータをサーバの内部に保存する為、負荷分散を考えてサーバを2台に増設したと仮定した場合、
直接アクセスがあった1台のサーバには対象ユーザーのセッションデータが保存され、
もう一方のサーバにはセッションデータが保存されない、負荷分散時のロードバランサー、サーバなどの設定によっては、
2つのサーバ同士でセッションデータ共有がされずにセッション情報がうまく引き継がれない可能性がある。
なので、PHPのセッションを利用しているときに1度目と2度目のユーザーのアクセスが異なるサーバに行った場合にセッションデータが引き継がれない・・・。

2.セキュリティの観点
PHPSESSIONID(こんなんだったけ?)をキーにサーバにセッションデータを登録するから
適当な値で他人のセッションデータが簡単に盗めてしまう可能性がある。(改善されたのかな?)
例えば、ログイン情報をセッションに持っている作りのサイトで、
「http://????.com/login.php?PHPSESSIONID=aaaa」見たいなリンクが張られていてこのリンクをたどってログインした場合に、
他人が「????.com/info.php?PHPSESSIONID=aaaa」とアクセスすると
セッションタイムアウトが発生していない限り他人のセッション(この場合「aaaa」というPHPSESSIONIDでログインした人のセッション)をのっとる事が出来る脆弱性があってこれについて、
独自に解決をしていると思われる。

たしか、こんな感じだったと思う。

間違えているかもしれないので、申し訳ないですがPHP独自セッションのまずい点は色々なサイトに載っているからあさって調べてみて・・・。
俺も、だいぶ前に調べたから・・・。

206 名前:nobodyさん mailto:sage [2008/02/06(水) 11:11:16 ID:???]
>>202
DBに保存する方法もあるよ。



207 名前:nobodyさん mailto:sage [2008/02/06(水) 12:14:44 ID:???]
>>205
クッキーに入れるなんて解決になってないよ・・・
珍妙としか言いようがない実装

208 名前:nobodyさん mailto:sage [2008/02/06(水) 12:20:16 ID:???]
一方、railsは2.0からデフォルトで
cookieにセッション情報を格納するようにした

209 名前:nobodyさん mailto:sage [2008/02/06(水) 12:32:09 ID:???]
まじで?

210 名前:nobodyさん mailto:sage [2008/02/06(水) 13:02:45 ID:???]
>>209
うん
cookieに突っ込むsession内容全体のdigestをアプリ固有のキーで生成して
そのdigest自体もcookieに入れておいて、サーバ側で受け付けた時には
そのdigestを検証して信用できるかどうかを調べてOKなら受け入れる、
という感じの実装みたい

211 名前:nobodyさん [2008/02/06(水) 13:21:01 ID:BSm5jPk+]
>digestを検証して信用できるかどうかを調べてOKなら受け入れる

ここがほんとに安全なら楽になるな。
ユーザ側保存に不安があって自前で作るの面倒だったから。

212 名前:nobodyさん mailto:sage [2008/02/06(水) 14:52:10 ID:???]
でもさクッキーの容量は4Kしかないんだろ?
それに携帯だったらどうするんだ?
クッキー使える機種だとしても、一アクセスごとに
最大4Kものパケット料がかかるよな?

213 名前:nobodyさん [2008/02/06(水) 15:03:08 ID:BSm5jPk+]
urlにセッションidくっつけるやりかたが、ユーザ会のサイトに載ってたな。

あと、バリデート済みのPOSTデータをセッションにつっこんで、
確認ボタン押したらそのままinsertとかができなくなるね。
データを一度ユーザ側に預けちゃってるわけだし。おっかない。

214 名前:nobodyさん [2008/02/06(水) 15:08:08 ID:BSm5jPk+]
あ、セッションの内容をもういっかいバリデートすりゃいいだけだ。
吊ってきます。

215 名前:nobodyさん mailto:sage [2008/02/06(水) 15:48:02 ID:???]
>>207
CIもただCookieに単純に入れてOKとしてるわけじゃなかったと思うよ。
セッションの信頼性のチェックとかしてたと思う。

216 名前:nobodyさん mailto:sage [2008/02/06(水) 15:53:03 ID:???]
PHP固有SESSIONの仕様に問題があるから独自セッションまがいの機能をCookie等を使って作ったり、
「PHPSESSIONID」をそのまま信用するようなことをしない対処を行うのはセキュリティ上今のPHPでは必要だと思うのだが。

それをやりやすくCIがやってくれていたはず。
DB使った場合だけだったかも知れないけど・・・。



217 名前:nobodyさん mailto:sage [2008/02/06(水) 15:58:42 ID:???]
>>212
だからそういう携帯や4k超えるような
でかいセッションファイル抱えるような場合は
ファイルやDBのセッション使えばいいって事

でも基本はセッションで扱うデータ量なんてしれてるし、
だったらcookieだけでやってしまえばいいんじゃね、って事

218 名前:nobodyさん mailto:sage [2008/02/06(水) 21:34:26 ID:???]
kohanaってもう実用レベルに達してるの?

219 名前:nobodyさん mailto:sage [2008/02/06(水) 21:37:08 ID:???]
kohanaphp.com/tutorials/video/hello_world.html
コハナじゃなくてクワナって言ってるな

220 名前:nobodyさん mailto:sage [2008/02/07(木) 05:27:35 ID:???]
config配下のファイルで
定数定義とかinclude_pathの設定するのはアリ?
ここで関数の定義とかまで出来ちゃうのがphpのすごいとこだけど

221 名前:nobodyさん mailto:sage [2008/02/07(木) 05:32:29 ID:???]
>>210
ダイジェスト生成のロジックが割れたら
いじったデータをセッションに入れられるかもしれない
ユーザには知られたくないデータをセッションに入れることもありうるから
やっぱり抵抗あるなー

222 名前:nobodyさん mailto:sage [2008/02/07(木) 06:38:42 ID:???]
d.hatena.ne.jp/stilo/20080123/p2
ciの本が出るらしい
売れるのかな…?
個人的には好きだが

223 名前:nobodyさん mailto:sage [2008/02/07(木) 19:12:59 ID:???]
例外投げてもほったらかしじゃん
PHP4なんて脂肪してんのに
ハンドリングするのエラーだけってどんだけ〜

224 名前:nobodyさん mailto:sage [2008/02/07(木) 19:50:59 ID:???]
例外ハンドリングしてエラー投げ直すようにした(´〜` )ウーン

225 名前:nobodyさん mailto:sage [2008/03/03(月) 23:43:59 ID:???]
attachementのform mail、どうやってこさえてます?
なんだかんだ、uploadして一時ファイルをattacheさせてるんだけど。
もっといい方法ない?

226 名前:nobodyさん [2008/03/05(水) 10:07:19 ID:wSWuSxOd]
>>217
扱うデータ量なんてしれてるならsessionの方がいいよ
cookieを使う利点はサーバー側に負荷がかからないことだよ
扱うテータ量が多いほどcookieを使えばサーバー負荷にならないんだよ



227 名前:nobodyさん mailto:sage [2008/03/05(水) 17:13:22 ID:???]
cookieをやり取りする為の
データ転送量が増えるけどな。

228 名前:nobodyさん mailto:sage [2008/03/05(水) 18:16:46 ID:???]
でも携帯と別処理にしたら汚くならないか?

229 名前:nobodyさん [2008/03/16(日) 12:08:31 ID:pwsdbwjT]
age

230 名前:nobodyさん mailto:sage [2008/03/16(日) 12:33:46 ID:???]
流行ってないね

231 名前:nobodyさん mailto:sage [2008/03/20(木) 22:08:46 ID:???]
CIの本っていつでるんだ?春にでるみたいだけど心待ちにしてる。

232 名前:nobodyさん mailto:sage [2008/03/20(木) 23:58:19 ID:???]
>>231
オンラインマニュアルに載ってる事に補足を加えてウダウダ書いてるだけ

233 名前:nobodyさん mailto:sage [2008/03/21(金) 01:05:34 ID:???]
まあオンラインマニュアル充実してるし、
機能もシンプルだしねぇ

234 名前:nobodyさん mailto:sage [2008/03/21(金) 04:14:05 ID:???]
でもなぁ。MVCで一番重要なモデルが軽視されているからなぁ。
まあ小規模向けだね。

235 名前:nobodyさん mailto:sage [2008/03/21(金) 12:34:00 ID:???]
???
どのあたりでモデルが軽視されていると思ったの?

236 名前:nobodyさん mailto:sage [2008/03/21(金) 18:23:01 ID:???]
必須じゃないってとこじゃない?
わからんけど



237 名前:nobodyさん mailto:sage [2008/03/22(土) 00:16:05 ID:???]
安定版にならないとあんまり使う気にならないんだよなあ。
VerUPが頻繁だと遊ぶ分には楽しいけど実務じゃちょっと。

238 名前:nobodyさん mailto:sage [2008/03/22(土) 00:16:56 ID:???]
今でも結構安定してね?

239 名前:nobodyさん mailto:sage [2008/03/22(土) 00:37:50 ID:???]
scaffoldingが動かないのに安定板?

240 名前:nobodyさん mailto:sage [2008/03/22(土) 18:01:21 ID:???]
>>238
いや、安定してないと言ってるわけじゃないんだけど
更新が頻繁だと嬉しくもあるけどあんまり業務で使いたいと思わなくね?
あまりにも更新が頻繁=すぐ修正されるような問題点がまだまだある
と思えるし。
更新しないから安定してるってわけじゃないけどね。
中身バグだらけだけどただ単に更新止まってるだけとかあるし。
機能の追加の更新ならともかく、あんまり頻繁にBugFixで更新多いと心配になる。
致命的なのがあって、それを更新したから業務で使ってるのも更新しなきゃ→動かなくなった
とかが一番困るし。


241 名前:nobodyさん mailto:sage [2008/03/23(日) 16:49:33 ID:???]
>>240
リリースの頻度で安定している、していないを判定しているやつは素人
中身で判断しろ

修正でも不具合でも深刻具合による
リリーススケジュールの話ならここでしても無駄だ
本家で議論してこい

242 名前:nobodyさん mailto:sage [2008/03/24(月) 12:26:43 ID:???]
>>241
お前はもう少し>>240の書き込みをよく読め。
文盲か。
リリースの頻度で安定度してるかどうかを判断してるなんて書いていないだろ。

243 名前:nobodyさん mailto:sage [2008/03/24(月) 14:41:00 ID:???]
>あまりにも更新が頻繁=すぐ修正されるような問題点がまだまだある

これを書いている時点で何もわかっちゃないだろ

244 名前:nobodyさん mailto:sage [2008/03/25(火) 00:17:57 ID:???]
>>242
オマエこそもう少し文章の書き方を考えたら?w

245 名前:nobodyさん mailto:sage [2008/03/25(火) 00:28:01 ID:???]
ペチパーの質を物語っていますね。とか言われるぞ。
もうちょっと温厚になれないのか。

246 名前:nobodyさん mailto:sage [2008/03/25(火) 00:45:11 ID:???]
ぺちぱーだもの
   みつを



247 名前:nobodyさん mailto:sage [2008/03/28(金) 15:03:32 ID:???]
静かなこのスレが更新されていた!
と見に来たあなた。

書き込んでいるのは俺ですよ! 俺!

中身は何にもありません。ざーんねーんw

248 名前:nobodyさん mailto:sage [2008/03/29(土) 03:13:12 ID:???]
いくつかご相談

1, CIってモデルはオマケと言われてるけど、
CLIベースでモデル開発して、あとはコントローラから呼び出すというスタイルは
一般的ではない?
理由:モデルの開発をわざわざCI上でやりたくない

2, プラグインからモデルのデータセット取得して表示を返すようにしておいて、
それをビュー上で呼び出すようにしようかと思うのだけど、無作法?
理由:表示を構築するだけのコードだったらコントローラに書きたくない

3, 定義されてないコントローラクラスがURIセグメントで指定されたら
「クラス名.html」を自動的に表示する方法ってない?
理由:ロジックがないページまでわざわざコントローラを定義するのは面倒


249 名前:nobodyさん mailto:sage [2008/03/30(日) 04:44:30 ID:???]
>>248

1.一般的ではない
2.無作法
3.ない

に1票

250 名前:248 mailto:sage [2008/03/30(日) 14:38:56 ID:???]
CIだったら、フレームワークとアプリ機能の実装を分離した状態で開発して
後から乗っけるだけでいいのかなあと思ってたけど、
CIでもできる限りフレームワークの流儀には沿うのね。

確かに、自分がご相談で書いた内容は、
他人がメンテする上で解読が困難になるか・・・


251 名前:nobodyさん mailto:sage [2008/04/05(土) 16:57:53 ID:???]
>>246
その通り。
努力が足りない非正規雇用の増加や、
正社員の中にもサービス残業が嫌だなどという甘えた輩が増えていることは
その証拠でしょうね。

252 名前:nobodyさん mailto:sage [2008/04/08(火) 00:06:53 ID:???]
>>251
>>正社員の中にもサービス残業が嫌だなどという甘え

おまえアホか
サービス残業が嫌だと思う事がなぜ甘えに繋がるの?w

サービス残業をさせる = 違法 って事ぐらいはオツムに入れとけ

253 名前:nobodyさん mailto:sage [2008/04/08(火) 01:34:23 ID:???]
SPAMにマジレスww

254 名前:nobodyさん [2008/04/08(火) 15:00:18 ID:ozdPGPdu]
kohanaPHPのValidationライブラリを強引に移植してみました。

oro9.thick.jp/doku.php?id=php:codeigniter:kohana_validate

255 名前:nobodyさん [2008/04/11(金) 11:12:15 ID:YKNdPaTr]
もうそろそろ本が出るかな?

256 名前:nobodyさん [2008/04/11(金) 13:56:30 ID:DluuZ7jC]
MojaviでのActionChainみたいな事するにはどうすればいいでしょう?
他のコントローラで生成したHTMLを部分的にはめ込みたいんです。
よろしくお願いします。



257 名前:nobodyさん mailto:sage [2008/04/13(日) 17:54:13 ID:???]
厨ですいません、フレームワーク自体あんまよく分かってないんだが、
画像(自前で用意するdefault imageとか、ユーザがuploadするものとか)は、
どこに置くのがスマートなんでしょうか。

あとCSSは、views/cssに突っ込んでみたんですが、
htmlのヘッダで呼び出す時に、system/application/views/cssみたいなフルパス書いてて、
なんか使い方間違ってる気がしますorz他のやりかたありますか?

258 名前:nobodyさん mailto:sage [2008/04/13(日) 19:11:41 ID:???]
>>257
ぶっちゃけCIは今日から始めたところだけど、
俺だったら画像とかは
/images
cssは
/styles
とかに置くかな。
viewsと同じフォルダにおく必要は全く無いし、
system以下はHTTPアクセスさせないほうが良いだろうね


259 名前:258 mailto:sage [2008/04/13(日) 20:49:43 ID:???]
うーん、ユーザーガイド読んだ感想だけど、
なんかCIのActiveRecordって変、
ていうかActiveRecordとはいえないような気がする。
ただのGatewayにしか見えない

これみんな我慢して使ってるの?
それともこのActiveRecordは使ってない?

260 名前:nobodyさん mailto:sage [2008/04/13(日) 20:51:19 ID:???]
>>258
ありがとうございやっす!
同じ事思ってました>system以下はHTTPアクセスさせないほうが良い
けど、applicationに含めるのが作法なのかな?とかも思ってて。
さっそく/imagesとかにしてみます。

261 名前:nobodyさん mailto:sage [2008/04/14(月) 00:46:07 ID:???]
>>259

・ActiveRecord
使ってない。PDOのラッパライブラリ作って使ってる

・セッション
PHPSESSIONなライブラリ使ってる

・テンプレ
PHPTAL使ってる


262 名前:261 mailto:sage [2008/04/14(月) 00:58:00 ID:???]
>>259

使ってる使ってないは漏れの話ね
一般的なCI使いがどうしてるかは知らない

とりあえず漏れはCIでECサイト開発したけど、
CIの機能はMVCのCしか基本的に使ってないし、
ちょこちょこカスタマイズしてる


263 名前:259 mailto:sage [2008/04/14(月) 07:16:21 ID:???]
>>261
レスありがとう。
やっぱり使ってないんだね。
俺も自作ライブラリ引っ張り出して使うことにするよ。
セッションはログイン中かどうかのフラグだけ、
テンプレも触るのは自分だけだから
とりあえずそのまま使ってみる。

264 名前:nobodyさん mailto:sage [2008/04/14(月) 14:01:23 ID:???]
Modelはadodbのラッパを使ってる。
テンプレは生PHP。(小さい会社でコーダー兼務なので)
セッションは$_SESSIONを直で。


265 名前:nobodyさん mailto:sage [2008/04/14(月) 19:30:24 ID:???]
なんでPDOじゃなくてadodb?

266 名前:nobodyさん mailto:sage [2008/04/15(火) 00:00:22 ID:???]
>>264じゃないけど、adodbは処理が速いと聞きました。
ttp://kokoromo.jugem.cc/?eid=196
ttp://kokoromo.jugem.cc/?eid=197

この本でadodbが紹介されてて、いろいろメリットが書かれてました。

PHPによるWebアプリケーションスーパーサンプル 活用編
ttp://www.amazon.co.jp/dp/4797332638/



267 名前:nobodyさん mailto:sage [2008/04/15(火) 00:13:08 ID:???]
CI使ってみました
日本語マニュアルが分かりやすくて、すぐに使えました!!!
翻訳作業やってくれている方、どうもありがとうございます(・∀・)

簡単に出来ることを複雑にやる必要はない
コマンドでスケルトン生成したり、設定ファイル書かなくてもすぐに使えて便利

268 名前:nobodyさん mailto:sage [2008/04/15(火) 14:09:30 ID:???]
ADOは知らなかったけど、PHP4の環境なら
DBのAPI関数使うよりも良さげそう

269 名前:nobodyさん mailto:sage [2008/04/29(火) 07:16:47 ID:???]
入力フォームの確認画面を作るのマジめんどくさいのですが、
自動で生成する方法ってないですかねー?

いったい何画面作ればいいんだ

スレ違いだったらスルーよろ


270 名前:nobodyさん [2008/04/29(火) 08:42:50 ID:AjJ+5S6v]
>>もっとkwsk

271 名前:nobodyさん mailto:sage [2008/04/29(火) 09:57:50 ID:???]
>>270
言葉足らずすまそ。

実際にはフォーム画面から入力値を受け取ってバリデーションして
DBに格納するというのが面倒だというのを言いたかった

こんなんできたらいいな、というのがあって、
・フォームのINPUTなどの入力が連想配列で一括取得できる(POSTされたデータ用)
・バリデーションをフィルター的な感覚でやりたい(POSTされたデータ用)
・連想配列でフォームオブジェクトに渡せば対応するNAMEのINPUTなどに自動で値がセットされる(確認画面用)
・フォームからのデータを対応するテーブルにそのまま流し込みたい(バリデーションはするけど)

取りまとめないが、こんな感じ
まあ、画面設計の問題もあるんだが、
工数の内訳として画面処理:ロジック=5:1とかうんざりする


272 名前:nobodyさん mailto:sage [2008/04/30(水) 02:10:32 ID:???]
そんな機能もとめるならCakePHPでも使ってろ

273 名前:271 mailto:sage [2008/04/30(水) 04:48:09 ID:???]
>>272

CI以外のフレームワークは作法がガチガチに決まってるから嫌だ
潰しが効かないというか。まあ、フレームワークだから当然なんだが

それに対して、CIはプラットフォーム程度でしかないところが気に入っている
まあ、ライブラリ作るなり、カスタマイズするなりして頑張るよ



274 名前:nobodyさん mailto:sage [2008/04/30(水) 04:54:08 ID:???]
自作フレームワークのほうが
つぶしが利かない

275 名前:271 mailto:sage [2008/04/30(水) 05:44:11 ID:???]
>>274

漏れの「潰しがきかない」と言ってるのは、
CIでなければ部分的な代替え手法を使うのが難しい、意味がない
という話のつもり

さすがにフレームワークまでは自作せんわ


276 名前:nobodyさん mailto:sage [2008/04/30(水) 12:41:32 ID:???]
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん



277 名前:nobodyさん mailto:sage [2008/04/30(水) 12:49:41 ID:???]
どんな?

278 名前:nobodyさん mailto:sage [2008/05/01(木) 13:30:12 ID:???]
>>276
ソースがあるんだから、致命的なバグがあるなら、自分で対処しろよ

279 名前:nobodyさん mailto:sage [2008/05/01(木) 13:52:23 ID:???]
どうせデマだろ

280 名前:nobodyさん mailto:sage [2008/05/02(金) 23:01:08 ID:???]
>>276
pc11.2ch.net/test/read.cgi/php/1205475360/765
>>765 名前:nobodyさん[sage] 投稿日:2008/04/29(火) 00:30:20 ID:???
>>一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん

281 名前:nobodyさん mailto:sage [2008/05/02(金) 23:14:38 ID:???]
なんというコピペ

282 名前:nobodyさん mailto:sage [2008/05/03(土) 01:05:09 ID:???]
ワロタ。
これはどのFWのスレに貼っても釣れるだろうなw

283 名前:nobodyさん mailto:sage [2008/05/03(土) 04:58:57 ID:???]
デフォルトのコントローラの名前って何にする?
Defaultだと予約語みたいでクラス名にできないし

284 名前:nobodyさん mailto:sage [2008/05/03(土) 06:57:58 ID:???]
>>277-279
釣られすぎw

>>283
Homeとかどうよ?

285 名前:nobodyさん mailto:sage [2008/05/03(土) 07:01:16 ID:???]
>>284
なるほど
Homeはありだな
dくす

286 名前:nobodyさん mailto:sage [2008/05/03(土) 07:12:58 ID:???]
display_overrideフックの説明で
処理済みのデータは、$this->output->get_output() を呼べば利用可能ですので、留意しておいてください。
ってあるけど
この$thisって何?
フックの文脈でなんで$thisが出てくるのかわからんちん



287 名前:nobodyさん mailto:sage [2008/05/03(土) 12:34:10 ID:???]
グローバルな GET 配列($_GET) のデータを消去します。CodeIgniterではGET文字列(クエリ文字列)を使わないので、それを許可する理由はありません。

こういうざっくばらんさがアメ公っぽい
セッションも変だし…

288 名前:nobodyさん mailto:sage [2008/05/03(土) 16:45:47 ID:???]
276は太公望の釣り針だな
FW関係のスレに貼ったら百発百中で釣れる
さすがに罪悪感が・・・w

289 名前:nobodyさん mailto:sage [2008/05/03(土) 23:28:28 ID:???]
>>276のコピペw
pc11.2ch.net/test/read.cgi/php/1186096518/161
161 名前:nobodyさん[sage] 投稿日:2008/05/03(土) 10:18:16 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん


290 名前:nobodyさん mailto:sage [2008/05/04(日) 00:54:40 ID:???]
あちこち貼ってんの誰だよw
まあそれはいいとして
rapydってスタンドアロンのPHP5用フレームワークになっちゃったんだな。

291 名前:nobodyさん [2008/05/04(日) 22:51:42 ID:QrBYi/l0]
軽くて個人ん規模にはいいと思ったんだけど
セッションの仕様見て萎えた…

結局、ベストプラクティスはどれ???
クッキーなんてPCでもオフになってることあるよね…
入門者向けにベストプラクティスがほしい…

あとページングするのにはURLルーティング変えないとだめなん?
標準だとGETオフになってるし…

292 名前:nobodyさん mailto:sage [2008/05/04(日) 23:17:37 ID:???]
>>291
セッションは本家のwikiに使い方ほぼ同じでクッキーじゃなくネイティブの$_SESSION使う
プラグイン(自作ライブラリ?)が公開されてる。
他にも色々あるから英語が苦手じゃなければwiki内探索をオススメ。

293 名前:nobodyさん mailto:sage [2008/05/04(日) 23:21:08 ID:???]
>>292

さんくす
探してみる

CakePHP使ってたんだけど
DB必須に近いとこがいやになって CI試してたんだ

294 名前:nobodyさん mailto:sage [2008/05/05(月) 05:31:30 ID:???]
セッションは自前で用意するのがいいよな
クッキーだと携帯に対応できないのが致命的だわ

295 名前:nobodyさん [2008/05/05(月) 07:01:33 ID:1KRQrRZR]
これログインしている時に行うような
アクセスコントロールは自前で実装しないといけないの?

296 名前:nobodyさん mailto:sage [2008/05/05(月) 18:26:57 ID:???]
コード読んだらアクセスコントロールまったくねーじゃん
テラしょぼす



297 名前:nobodyさん mailto:sage [2008/05/05(月) 18:48:09 ID:???]
dispatcher上書きできないとかダセーし・・
シンプルでダサくないFWはないか!

298 名前:nobodyさん mailto:sage [2008/05/05(月) 18:49:13 ID:???]
まあ、CakePHPが一番バランス取れているんだろうな。

299 名前:nobodyさん mailto:sage [2008/05/05(月) 19:32:45 ID:???]
CakePHPのモデルまわりとか
余計なアソシエーションとか

そういうのがないシンプル版がでればいいんだな…

CIのインプットとかビュー周りとかその辺はシンプルですきなんだが

(CI + CakePHP) / 2

なFWないのか

300 名前:nobodyさん mailto:sage [2008/05/05(月) 19:33:40 ID:???]
使わなければいいだけじゃね?

301 名前:nobodyさん mailto:sage [2008/05/05(月) 19:34:03 ID:???]
モデルとかアソシエーションを

302 名前:nobodyさん mailto:sage [2008/05/05(月) 21:58:20 ID:???]
CIの機能で要る子、要らない子を列挙してみないか?
欲しい子もありで。

・・・考えてみたら、欲しい子、要らない子ばかりで
要る子がいなかった・・・orz


303 名前:nobodyさん mailto:sage [2008/05/05(月) 22:30:04 ID:???]
擬似構文 と インプットフィルタ はCIが一番シンプルで使いやすい

304 名前:nobodyさん mailto:sage [2008/05/05(月) 23:56:22 ID:???]
サイト内ナビゲーションリスト生成ヘルパがほしい。
CIだけではないが。
コントローラーのディレクトリ内ファイル名を読み出してbaseurlにくっつければいいのかな。
でも全部出てくるのも困るからやっぱり手動か。
テンプレでの表示とカスタマイズはCMS的に管理画面からいじれれば一番ラクだな。
CSSや画像も含めて、まず専用の管理画面を自作するべきなのかもしれないな。

305 名前:nobodyさん mailto:sage [2008/05/06(火) 01:11:21 ID:???]
>>304

結局 凝ったナビにしようとすると
手打ちにならない?

普通のナビならCMSのほうが楽だけど

306 名前:nobodyさん mailto:sage [2008/05/06(火) 03:22:16 ID:???]
フレームワークをわざわざ使うということは、静的とか単一機能のサイトではなく、
ページコンテンツが日々どんどん更新され増えていく(と勘違いしている)ようなサイトが多いと思う。
そうなるとやっぱり、更新されたページ含めてサイト内ナビを自動で出したくなる。パンくずも出したい。

デザインのCSSや画像は、後戻りのない更新というより、素人管理者でも一発ですぐ元に戻せる「切り替え」という形にしたい。
新旧別内容の同名ファイル群をftpで切り替えるというのはこれも間違いの元で、稼動中の商用サイトに多用するのは危険。

まあ結局そこまでの機能が出来合いで欲しければExpressionEngineとやらを買え、ということなのかもしれないが。




307 名前:nobodyさん mailto:sage [2008/05/06(火) 09:57:12 ID:???]
客が勘違いしてるのだったらそこは客の要件を正すか、
ブログを使った方がいいんでない?

あと、ナビというのを漏れは勘違いしているのかもしれないが、増えるページというのは
「DBにデータが入る&グルーピングされる&管理画面から追加する」と思っているので、
ページリスト的なものを一つ作れば終わりかなあと思ってる
グルーピングされてるからパンくずも固定だし

(パンくずはセグメントとラベルの対応テーブルから引用するプラグインを作って
 テンプレに埋め込んで表示させてるけど)

話変わるが、ACLもユーザグループと権限の対応テーブルで制御してて、
メニューを非表示にしたり、直打ちされたら404を返すようにしている



308 名前:nobodyさん mailto:sage [2008/05/06(火) 12:13:58 ID:???]
CIは「簡単で軽量」「10分でつくれる」という夢を見せてくれるけど、
実用で使うには、自前でpukiwikiやワードプレスやxoopsをつくるくらいのプランニングと実装が必要になるてこと。

つまり、ルーティングシステムから各ヘルパ関数までフルスクラッチで自作するよりは簡単で、
テンコ盛りの無駄機能に縛られるxoopsよりは圧倒的に融通が効いて軽量だな。

仕様はともかくサイト内ナビ・リンク管理機能を売り文句に加えればdreamweaver並に売れるw

309 名前:nobodyさん mailto:sage [2008/05/06(火) 12:24:25 ID:???]
はぁ・・・

もともとCIを含んだフレームワークは、
pukiwikiやxoopsなどを作るための
プログラム用のツールだろ。

サイト内ナビ・リンク管理機能とか意味不明だっつーのw

310 名前:nobodyさん mailto:sage [2008/05/06(火) 12:44:40 ID:???]
いずれにしても必要になるその機能を、
1.フレームワークの段階で<li>で出てくる程度のものを用意するか。
2.各現場プログラマーが自作するか。
3.デザイナーやコンテンツライター、素人管理者がしこしこ手打ちするか。
てこと。
まあ縄張り争いにもなるので結論は期待していないが。

311 名前:nobodyさん mailto:sage [2008/05/06(火) 13:32:18 ID:???]
スレ違いですまんが、
デザイナー様にはformの要素のnameの付け方ぐらい覚えて欲しいな。
name書かないとか""にしておくぐらいならDBテーブルのフィールドと
同じ名称をつけておくぐらいして欲しいよう

俺が出会ったフリーのデザイナーなんて上記ばっかりなのだが、
そういうものなの?


312 名前:nobodyさん mailto:sage [2008/05/06(火) 14:00:56 ID:???]
書いたら書いたで文句言うのが出てくる。
触らぬウンコにたたりなし。


313 名前:nobodyさん mailto:sage [2008/05/06(火) 14:07:32 ID:???]
>>311
文句言うなよ雑用係

314 名前:311 mailto:sage [2008/05/06(火) 14:12:16 ID:???]
スレ汚しすまそ


315 名前:nobodyさん mailto:sage [2008/05/06(火) 14:13:30 ID:???]
>>311
無理。

nameに書く名前はデザイナーが決めるものじゃないから。

316 名前:311 mailto:sage [2008/05/06(火) 14:36:00 ID:???]
いや、どうせ意味のないnameを書くぐらいだったら
被る部分は事前打ち合わせするぐらいの責任感は欲しいわけですよ




317 名前:nobodyさん mailto:sage [2008/05/06(火) 14:41:13 ID:???]
>>316
私が作ったデザインを使うときに
あなたが打ち合わせに来てください。

318 名前:nobodyさん mailto:sage [2008/05/06(火) 15:32:17 ID:???]
タグのidを全ファイルに適切に挿入するプログラムなんてプログラマー名乗る成人男子なら当然すぐ書けるんでしょ?

319 名前:nobodyさん mailto:sage [2008/05/06(火) 17:35:07 ID:???]
>>311

むしろ HTMLすらまともに書けないプログラマーのほうが多い…

なんでもかんでも div や p とか

CIとは関係ないけど FWでもヘルパの吐き出すHTMLが糞
っていうのはよくある

320 名前:nobodyさん mailto:sage [2008/05/06(火) 18:15:51 ID:???]
そりゃあHTMLは普通プログラマが書く所じゃないんだから普通だろ。
完全W3C準拠じゃないとダメとか言い出す潔癖症みたいなのまでいるしな。
それこそデザイナーの仕事。
プログラマはデザイナーの作った見た目だけで論理構造の破綻しているコードを手直ししてるんだから
デザイナーはプログラマの書いた表示上整ってるだけでHTML的に糞なコードを手直しすればいい。

321 名前:nobodyさん mailto:sage [2008/05/06(火) 18:18:30 ID:???]
けんかはやめて!

322 名前:nobodyさん mailto:sage [2008/05/06(火) 19:26:21 ID:???]
>>298
cakeのスレみたら
なんかthreadとかいうクラスあるみたいな
PHP自体がthreadセーフじゃないのに何がthreadなんだか
そんなセンスのないフレームワークなんかいいはずがない

323 名前:nobodyさん mailto:sage [2008/05/06(火) 19:31:57 ID:???]
CIも標準セッションがアレだから人のこと言えない罠・・・orz


324 名前:nobodyさん mailto:sage [2008/05/06(火) 19:35:22 ID:???]
ciはファンキーなんだよ
cakeはナンセンス

325 名前:nobodyさん mailto:sage [2008/05/06(火) 19:39:29 ID:???]
>>322
threadクラス?聞いたことないぞ。
思い込みじゃないのか?

326 名前:nobodyさん mailto:sage [2008/05/06(火) 19:42:52 ID:???]
よく見たらユーザが書いたコードの一部っぽいな



327 名前:nobodyさん mailto:sage [2008/05/06(火) 20:38:03 ID:???]
おまえなw

しかも、2ちゃんねるの「スレ」の意味の
スレッドじゃねーか。


328 名前:nobodyさん mailto:sage [2008/05/06(火) 21:46:43 ID:???]
FWがファンキーなら使い手もファンキーらしい

329 名前:nobodyさん mailto:sage [2008/05/06(火) 21:53:50 ID:???]
ciはファンキー&ファンシー

330 名前:nobodyさん mailto:sage [2008/05/07(水) 17:38:33 ID:???]
おお!本の発売待ってました!
…てか、結構まだ先ですねorz

codeigniter.jp/archives/102
2008年6月9日「CodeIgniter徹底入門」が発売されます!
翔泳社より発売されます。徹底入門シリーズとして、約600ページの内容となります。
サンプルコードやレシピなど内容も充実しています。

331 名前:nobodyさん mailto:sage [2008/05/07(水) 17:47:54 ID:???]
DBのテーブル設計(MySQL)についてご意見をお聞かせください。

O/Rマッパーとか使ったことないんですけど、カラム名の命名は規則があった方がいいもんですか?

(1) id int型 auto_increment = 各テーブルの主キーのカラム名

(2) レコードのCRUDに関するデータを入れておくカラム名
insert_datetime datetime型
update_datetime datetime型
delete_datetime datetime型 (論理削除の場合にフラグとして使用)

332 名前:nobodyさん [2008/05/07(水) 20:48:40 ID:xkEge6Nj]
>>330

セッションとかそういう
デメリットの部分をカバーしてくれてるなら買うが・・

そうでなければ買う意味なさそうだな

333 名前:nobodyさん mailto:sage [2008/05/07(水) 22:47:19 ID:???]
そんなイレギュラーな使い方の解説はないだろ

334 名前:nobodyさん mailto:sage [2008/05/08(木) 03:22:49 ID:???]
普通の使い方 解説されてもな・・・

335 名前:nobodyさん mailto:sage [2008/05/08(木) 04:02:34 ID:???]
正直セッションは何とかして欲しい

336 名前:nobodyさん mailto:sage [2008/05/08(木) 06:34:10 ID:???]
CakePHP使えば?



337 名前:nobodyさん mailto:sage [2008/05/08(木) 10:10:07 ID:???]
糞ルータのハック面倒くせー
セグメントベースって何なんだよ
ci以外にあんのかこんなの

338 名前:nobodyさん mailto:sage [2008/05/08(木) 10:29:41 ID:???]
普通の使い方ならオンラインドキュメントで充分だろう。

痒いところに手が届く解説が欲しいな。

339 名前:nobodyさん mailto:sage [2008/05/08(木) 11:13:39 ID:???]
本が出る→認知度アップ→仕事で使ってもお客さん安心→ウマー

ちいたんも本が出たら…(・∀・)

340 名前:nobodyさん mailto:sage [2008/05/08(木) 13:24:21 ID:???]
>>339
あったよ。
www.amazon.co.jp/s/ref=nb_ss_gw?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=%82%BF%82%A2%82%BF%82%E1%82%F1

341 名前:nobodyさん mailto:sage [2008/05/08(木) 14:27:09 ID:???]
>>339-340
この流れは読めた。

342 名前:nobodyさん mailto:sage [2008/05/08(木) 14:32:56 ID:???]
>>340
おお!

ちいちゃんとぷろぐらまーwwwwww(ノ∀`)

343 名前:nobodyさん mailto:sage [2008/05/09(金) 20:18:30 ID:???]
みなさんCIで何つくってるの?会社案内?

344 名前:nobodyさん mailto:sage [2008/05/09(金) 20:40:43 ID:???]
>>343
ショッピングカートとかCMSとか。
あちこち独自ライブラリで拡張しまくりだけど。

CIは独自フレームワークを作るためのフレームワークという感じ。

345 名前:nobodyさん mailto:sage [2008/05/09(金) 21:46:00 ID:???]
>>344
同じく。
自前でフロントコントローラ作るのが面倒だからプロジェクト毎に特化したCIライブラリ拡張してる。
って使い方するならCIは便利だと思う。

他の人はどうなの?

346 名前:nobodyさん mailto:sage [2008/05/11(日) 07:16:47 ID:???]
>>345

同じく。つか、これこそFWだと思う。

今後は他のFWから依存しないライブラリを
パクって統合してみる予定。キメラ的な感じ。




347 名前:nobodyさん mailto:sage [2008/05/11(日) 09:16:30 ID:???]
aso

348 名前:nobodyさん mailto:sage [2008/05/11(日) 10:11:44 ID:???]
ばかだなぁw

フレームワーク意味ないじゃないかw

349 名前:nobodyさん mailto:sage [2008/05/11(日) 11:56:34 ID:???]
>>348
じゃあ、フレームワークの意味をなくさない程度の
使い方ってものを講釈願おうか


350 名前:nobodyさん mailto:sage [2008/05/11(日) 12:14:16 ID:???]
汎用的な部分は誰が作っても同じような構成になる。
独自のライブラリはなるべく使わない。


351 名前:nobodyさん mailto:sage [2008/05/11(日) 12:27:53 ID:???]
>>350
すまん、ちょっとわからんかった。

独自ライブラリを組み込んだものを
チーム全員が同じく使うという前提だったのだが、
350はCIをそのまま使えと言っている?


352 名前:nobodyさん [2008/05/12(月) 00:45:07 ID:8tRiGXCa]
ポストされた文字を内部エンコードに変換する処理どこに書く?

353 名前:nobodyさん mailto:sage [2008/05/12(月) 00:47:19 ID:???]
まだ、EUCやSJISなんか使っているのか?
HTMLも内部もUTF-8にきまってるだろ。

354 名前:nobodyさん mailto:sage [2008/05/12(月) 01:08:57 ID:???]
だって携帯なんだもん

355 名前:nobodyさん mailto:sage [2008/05/12(月) 14:58:24 ID:???]
$this->load->config
とかプロパティーでメソッドチェーンするのってキモいな
きもいしイレギュラーだから使い方忘れるわ

356 名前:nobodyさん mailto:sage [2008/05/12(月) 14:59:47 ID:???]
つーか、loadを名詞に使うなYO!



357 名前:nobodyさん mailto:sage [2008/05/12(月) 21:14:35 ID:???]
うん、それは自分もきもいと思った。
慣れればいいだけだが。

358 名前:nobodyさん [2008/05/15(木) 07:22:57 ID:33ekN+Ad]
コントローラで、
function index()
{
echo 'Hello World!'
}
のように、構文に間違いがあっても、エラーも何も表示されません。
どうしたらエラーの箇所がわかるのでしょうか?

359 名前:nobodyさん mailto:sage [2008/05/15(木) 09:39:21 ID:???]
>>358
application/config/config.phpのログの設定のところ見れ。
PHPエラーもログに放り込む設定になってないか?

360 名前:nobodyさん mailto:sage [2008/05/15(木) 18:47:08 ID:???]
>>359
$config['log_threshold'] = 0;
となっている。ログに放り込む設定にはなっていないと思う。

ちなみに、使っているのは 1.5.4

1.6.x だと index.php

361 名前:nobodyさん mailto:sage [2008/05/15(木) 18:48:27 ID:???]
(ごめん 途中で書き込んでしまった)

1.6.x だと index.php をブラウザで見ても何も表示されないけど、
Apache か PHP の設定が何かおかしいのかなぁ?

362 名前:nobodyさん [2008/05/15(木) 20:11:20 ID: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 mailto:sage [2008/05/15(木) 20:43:44 ID:???]
解決しました
構文エラーがあってもエラーメッセージが表示されなかったのは php.ini で
display_errors = Off
としているからでした。
お騒がせして&ci のエラーハンドリングを疑って大変申し訳ありませんでした m(_ _)m


364 名前:nobodyさん mailto:sage [2008/05/16(金) 13:43:36 ID:???]
フォームヘルパー使うとCSSは凝ったこと出来なくなるし、javascriptとの絡ませ方を間違いそうだし、
表示系はviewに手打ちが基本?

365 名前:nobodyさん mailto:sage [2008/05/16(金) 13:49:39 ID:???]
ヘルパをラッパーしたらいいじゃん

366 名前:nobodyさん mailto:sage [2008/05/16(金) 15:15:12 ID:???]
CIのviewは使って無いなぁ。
Flexy突っ込んで使ってる。



367 名前:nobodyさん mailto:sage [2008/05/16(金) 18:28:03 ID:???]
つまりまともに段組したければ、view側にヘルパーのコードを書くことになる。
view側では文字数減るが、コントローラ側と合わせれば同程度かむしろ増える。
他の人が変数自体や変数に入れたnameやid確認したければ、わざわざコントローラのファイル見に行くことになる。
結局ふつうのフォームは生htmlでviewに書くことにするからメンテナンス請け負った人は客や上司の前で批判しないように。

368 名前:nobodyさん mailto:sage [2008/05/18(日) 03:29:10 ID:???]
セキュリティー的に、www掘ってそこにindex.php置くべきだよなぁ
すべてのphpファイルの前に
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
なんて書くよりその方がずっと簡単でスマートなのにエリスはあほなの?

369 名前:nobodyさん mailto:sage [2008/05/18(日) 08:20:55 ID:???]
そうしなくても使えるように配慮したからだろJK

370 名前:nobodyさん mailto:sage [2008/05/18(日) 10:36:08 ID:???]
>>368
index.phpを1行いじれば(つか「.」1個打つだけw)BASEPATHをドキュメントルート外に
置く使い方ができるんだから、そうすればいいだけの話。

371 名前:nobodyさん mailto:sage [2008/05/18(日) 15:03:34 ID:???]
しょぼいレン鯖でもドキュメントルート外にファイル置けるだろ
何のためにそんな配慮したのか意味不明JK

372 名前:nobodyさん mailto:sage [2008/05/18(日) 15:10:43 ID:???]
>意味不明JK
お前の文章が意味不明

373 名前:nobodyさん mailto:sage [2008/05/18(日) 18:09:00 ID:???]
じゃあドキュメントルート外にファイル置けないレンタルサーバ言って見ろよッ!
JK!

374 名前:nobodyさん mailto:sage [2008/05/18(日) 19:45:51 ID:???]
人は死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない

私は死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない

あなたは死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない

死を忘れていても
死をごまかしていても
今日はまだ死なないだろうと思っていても
死から逃れることは誰もできない

全ては無常
過ぎた時間は終わってしまえば瞬間だった
まだ遠い先の未来のことだと思っている死も確実にやって来る
memento mori - 汝の死の瞬間を迎えるときを想え

375 名前:nobodyさん mailto:sage [2008/05/18(日) 21:12:02 ID:???]
>>373
ロリポップ

376 名前:nobodyさん mailto:sage [2008/05/19(月) 02:14:56 ID:???]
ロリポしょぼっ
さすが女子供用のレン鯖だな



377 名前:nobodyさん mailto:sage [2008/05/21(水) 06:09:08 ID:???]
今時Layoutつかえねーのかこれ・・・
呆れ果てたぜ!

378 名前:nobodyさん mailto:sage [2008/05/26(月) 10:05:45 ID:???]
>>377
Layoutって何ですか?
他のフレームワークにはそういう便利な機能がついているんですか?

379 名前:nobodyさん mailto:sage [2008/05/27(火) 18:50:32 ID:???]
複数の画面で共通した
大枠のテンプレートが使える機能だよ
最近のフレームワークじゃ常識になってる

380 名前:nobodyさん mailto:sage [2008/05/28(水) 00:33:16 ID:???]
>>379
Flexy組み込んで実装してる。
Codeigniterにはいらなくね?
俺は余計な機能ゴタゴタつけないで、常にシンプルに保って欲しい。
ライブラリとかプラグイン、ヘルパがあるんだし、欲しい物は自分で追加できた方が嬉しい。

381 名前:nobodyさん mailto:sage [2008/06/04(水) 19:01:53 ID:???]
GETでルーティングする方法ってないんかな。

382 名前:nobodyさん [2008/06/05(木) 01:46:11 ID:R522EZcR]
>>381
userguide.cilab.info/general/urls.html
クエリ文字列の有効化
URLに次のようなクエリ文字列を使用したい場面もあると思います:
index.php?c=products&m=view&id=345
CodeIgniter ではオプションでこのようなことにも対応しています。この機能は、application/config.php ファイルで有効にすることができます。

↑こういうこと?

383 名前:nobodyさん mailto:sage [2008/06/05(木) 09:41:07 ID:???]
>>382
ばっちしこれです。タンクス。

384 名前:nobodyさん mailto:sage [2008/06/05(木) 11:55:45 ID:???]
URIルーティングでもGETには変わりないから
なんのこっちゃと思った

385 名前:nobodyさん mailto:sage [2008/06/06(金) 02:27:23 ID:???]
このスレを見ている人はこんなスレも見ています。(ver 0.20)
ドラクエの住人がルー大柴だったら [FF・ドラクエ]
昔疎遠になった幼馴染が引っ越してきた [不倫・浮気]
エイチ・エス・フューチャーズ [先物]
POINT-BOX ポイントボックス 8 [ポイント・マイル]
好きなギャルゲーをつまらなさそうに説明づるスレ [ギャルゲー]

ci使いって一体・・・

386 名前:nobodyさん mailto:sage [2008/06/06(金) 05:21:57 ID:???]
ふと思ったが、URIクエリパラメータを「GET」っていうのは、PHPer以外にも通じる用語なのかな?
# $_GET ならともかく



387 名前:nobodyさん mailto:sage [2008/06/07(土) 01:05:47 ID:???]
>>386
formのmethod属性で、POST、GETというんだから、GETは他言語でもGETなんでないの。


388 名前:nobodyさん mailto:sage [2008/06/07(土) 01:08:01 ID:???]
>>386
リクエストメソッドって知ってる?

389 名前:nobodyさん mailto:sage [2008/06/07(土) 01:19:24 ID:???]
>>388
GET / HTTP/1.1
HOST: www.example.com

みたいな?一応知ってますよ、と
>>387のHTMLのform要素としてのGETパラメータ、っていう意味でなら通じると。納得。

390 名前:nobodyさん [2008/06/08(日) 13:11:00 ID:oe9fgjbi]
>>386
「GET」云々はプログラム言語の仕様の話ではなくて、「HTTP」の仕様・仕組みの話だから、PHPとは関係なく説明に使えますね^^

docs.sun.com/source/816-5668-10/esaphttp.htm#1004513
HyperText Transfer Protocol (HTTP) の基本を簡単に紹介します。

●クライアントからサーバへのリクエストには、次の情報が含まれます。
・リクエスト メソッド
・リクエスト ヘッダ
・リクエスト データ

●リクエスト メソッド
クライアントは多くのメソッドを使って情報を要求することができます。
一般的には次の方法が使われます。
・GET 特定のドキュメントを要求します。
・HEAD ドキュメントのヘッダ情報だけを要求します。
・POST サーバの、クライアントからのデータ受信を要求します。CGI プログラムのフォーム入力などです。
・PUT サーバのドキュメントの内容を、クライアントからのデータに置換します。

391 名前:nobodyさん [2008/06/08(日) 13:13:24 ID:oe9fgjbi]
www.studyinghttp.net/method#HTTP1.1_Method
HTTP/1.1 メソッド

GET
HEAD
POST
PUT
DELETE
OPTIONS
TRACE
CONNECT
PATCH
LINK, UNLINK

392 名前:nobodyさん mailto:sage [2008/06/08(日) 14:06:34 ID:???]
そうゆうことです

393 名前:nobodyさん mailto:sage [2008/06/08(日) 14:51:40 ID:???]
どういうこと?

394 名前:nobodyさん mailto:sage [2008/06/09(月) 00:01:07 ID:???]
>>393
クライアント(自分のマシン)が、サーバー(WEBサーバー)に対して、「このデータを送ってくれ!」と呼びかける方法がいろいろ用意されている。
その中の一つとして、GETやPOST等の方法が用意されている。
ということだよ^^

「HTTP」でGoogle検索すると詳しく解説しているページが、たくさん見つかるよ☆

395 名前:nobodyさん mailto:sage [2008/06/09(月) 06:12:49 ID:???]
?hoge=poge
とか付けなくても普通にページ呼び出してたらそれすなわちGETなのだ

396 名前:nobodyさん mailto:sage [2008/06/10(火) 05:51:57 ID:???]
ci徹底入門が発売されたもよん
買った人どう?
まぁ本読むまでもない程シンプルなのがciだと思うが・・



397 名前:nobodyさん mailto:sage [2008/06/11(水) 17:14:01 ID:???]
mixiから転載。
--
bossatama
---
■社名
株式会社 音生(ネオ)
■募集人材と雇用形態
・事務(女性)
・PHPプログラマ アルバイト(男女)
■想定勤務時間
週3日以上希望 残業等なし
■想定勤務地
名古屋市中区金山
■担当してもらう予定の業務
  ・事務(女性)
・PHPフレームワークを利用したWebアプリケーションの開発
■報酬
自給1000円〜2000円 実力に応じて相談させてください。
■希望人材(スキル・年齢・住居地など)
PHPの初心者歓迎。教育できます。男女学生大歓迎、転職やリターンもOK。
  事務をやりながら、デザイン(html)やプログラムを勉強する方もOKです。
■募集期限
2008年7月終わり
■連絡先
「アルバイト希望」として、連絡先をmixiメールにてお願いします。
■その他(好きなだけアピールしてください)
AUの公式サイト「バンドナビ」を運営。音楽大好き!
band-navi.com/
  日本CodeIgniterユーザ会の主催会社
  codeigniter.jp/
--
会社が主催してるらしい

398 名前:nobodyさん mailto:sage [2008/06/11(水) 20:16:55 ID:???]
営利企業が勝手にユーザ会とか名乗るのやめて欲しい

399 名前:nobodyさん mailto:sage [2008/06/11(水) 21:54:47 ID:???]
>>396
615ページぐらいあって、やたらでかくて高かった。3800円とか。

開発環境の構築の仕方とかが最初に書いてあって(Eclipse/PDT)、
今までフレームワーク使うまでも無い小さい案件ぐらいしかやったことねぇよ、って言う人むけな感じ。

●サンプルコードも、
・コンタクトフォームを作る
・モバイル対応簡易掲示板を作る
・簡易ショッピングサイトを作る
程度に収まってる。

CIは、Web上に日本語のマニュアル転がってるし、
勘のいい人とか、適当にいろいろフレームワーク渡り歩いてた人とかは必要ないかも。

って、数ページペラペラめくって思った。
そんなに小技とか、そういうのは乗ってない雰囲気でございます。

400 名前:nobodyさん [2008/06/12(木) 13:55:53 ID:5LtH7vFx]
初心者PG向けに良いFWだね。
他のFWとは対象者がバッティングしないと。

401 名前:nobodyさん mailto:sage [2008/06/16(月) 03:40:01 ID:???]
>>396
PHP初心者だけど、結構ありがたい本。
環境構築からデバッグ方法、フレームワークの基礎的な概念も説明してるし。

リファレンス部も、サンプルコードが充実してるのがありがたい。
迷った時には、この本開けば即解決になる確率が高い。

フレームワークとかの、言語以外の範囲の入門書って、イマイチそういう
迷ったときに解決する為の「当たり」ページを引く確率低いってイメージ
あるから、俺的にはこの本はお勧めできる。

ただ、CI内部のコードとかバリバリ読めて、ネット上からさくさく自分の
探してる情報が引き出せて、CIに機能が無ければ自分でガリガリ書くって
いうようなパワーユーザは、ものたりないって言うかもしれないね。

402 名前:nobodyさん mailto:sage [2008/06/16(月) 04:05:37 ID:???]
なんか宣伝くせーな

403 名前:nobodyさん [2008/06/16(月) 10:32:47 ID:uqAO2CKu]
昨日本屋で見てきました。
パラパラとしか見てないけど、即買い!という判断には至らなかった。
自分が本を買う基準の一つとして、購入後の利用頻度を考慮しますが、2〜3回読んだら終わりかな?と思ったので。

>>401
フレームワーク自体に慣れてない人、初心者にとっては役立つ
=CIのマニュアル代わりとして使う用途なら、紙ベースなので便利
と思いました。

404 名前:nobodyさん mailto:sage [2008/06/17(火) 20:04:27 ID:???]
他のFW本よりもわかりやすかったよ。
CIそのものが簡単ということなのかな。

405 名前:nobodyさん mailto:sage [2008/06/24(火) 05:50:32 ID:???]
404エラーページの取り回しダサくね?
標準の処理と同じコンテクストで処理するのが自然なんだから
エラー用のクラス名とメソッド名だけ指定するようにするべきだろJK
しかもビューチフルにハックもしにくいし
所詮ハゲが書いたFWか・・

406 名前:nobodyさん mailto:sage [2008/06/26(木) 00:50:52 ID:???]
と、ハックに挫折したハゲが申しております。



407 名前:nobodyさん mailto:sage [2008/06/26(木) 00:55:50 ID:???]
config周辺もひどい
アメ公の美意識の低さは異常

408 名前:nobodyさん mailto:sage [2008/07/01(火) 04:00:36 ID:???]
CIでXoopsモジュールとか作った人いたりする?

409 名前:nobodyさん mailto:sage [2008/07/02(水) 18:00:54 ID:???]
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さん mailto:sage [2008/07/02(水) 18:12:41 ID:???]
ライブラリが登録されてなかった。

でもエラーが出ないのはうんこだろ。

411 名前:nobodyさん [2008/07/03(木) 10:15:29 ID:XZ5SMLTk]
AppControllerとかAppModelとかおきたい場合って
どうすればいいんでしょうか?

412 名前:nobodyさん [2008/07/03(木) 17:29:46 ID:EmmaV8CT]
管理者用の画面を作るときって どうやってる?

controller/admin 掘って そこにコントローラ置いて
あとは admin にルーティングすればいいのかな?

ログイン認証なんかのコントローラとか どうやってわけるのがいいんだろう…

413 名前:nobodyさん mailto:sage [2008/07/03(木) 17:40:04 ID:???]
>>412
ぶっちゃけ、どんなURLにしたいかで変わる様な気がする
別ドメインがよければ、Apacheの設定も絡むし。
一般的なのはどんな感じなんだろうねえ

414 名前:412 mailto:sage [2008/07/03(木) 17:54:55 ID:???]
>>413

ありがとう そだね

とりあえずは controller/admin/ にディレクトリ掘って
そこに置くことにした


あと 管理者関連のコントローラだけ 共通の認証チェック処理いれたいんだけど
その辺のやり方がわからない


前にCakePHPさわったときは beforeFilter なんかで
コントローラ共通の処理入れられたんだけど
CIは 自分でControllerクラス継承して 作らないとだめなのかな?

管理ページ周りの処理で 参考になるとこあったら教えてください…

415 名前:412 mailto:sage [2008/07/03(木) 18:02:00 ID:???]
Controllerクラス継承して作る場合は
>>411 の言ってることと同じだね


一応 コアクラスの継承は

system/application/library/ に Controllerクラスを継承したMY_Controller.php
とか作ればいいみたいだよ


ログイン認証の共通処理も そうやってAppController 作ればいいんかな…
その辺りの情報がないから どうやるのがいいのか
いまいちわからん

416 名前:nobodyさん mailto:sage [2008/07/03(木) 18:06:26 ID:???]
>>414
CIさわらずにKohana触ってる邪道な俺だけど、俺も知りたい
便乗w

俺は、libraries の中にBaseController, UserController, AdminController って作っちゃったな・・・

誰か、筋の良いやり方を教えて



417 名前:412 mailto:sage [2008/07/03(木) 18:12:02 ID:???]
>>415

ちょいウソあったw

AppControllerじゃなくて MY_Controller だね

/system/application/library/MY_Controller.php

class MY_Controller extends Controller {
function MY_Controller() {
parent::Controller();
}
}

こんな感じ。

ログインの共通処理も ここでやろうかと思ったんだけど
それでいいのかがわからん…

>>416 みたいに 種類ごとにクラス作ったほうがいい気もするし…

418 名前:412 mailto:sage [2008/07/03(木) 18:52:48 ID:???]
>>417 の方法でやってるんだが
/system/application/libraries/MY_Controller.php

のようなの作れば コアクラスは自動で置き換わるらしいんだが
置き換わらないな

コントローラ側で

class bbs extends MY_Controller {
}

みたいに MY_ つけてやらないとダメ
CIのルールだとデフォでMY_付けることになってるけど
これじゃ意味ないじゃん

バグ?

419 名前:nobodyさん mailto:sage [2008/07/03(木) 18:57:59 ID:???]
[/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 mailto:sage [2008/07/03(木) 19:38:23 ID:???]
ぼけてた 釣ってくる…


でも「コアクラスを拡張する場合のクラス名には MY_ を付ける」
っていう ルールは意味がないね


codeigniter.jp/user_guide_ja/general/core_classes.html


ファイルは MY_ 付けないと読み込んでくれないみたいだけど、
クラス名は別に MY_ 付ける必要ないよね?

なんでこんなこと書いてるんだろう

421 名前:nobodyさん mailto:sage [2008/07/03(木) 20:15:07 ID:???]
英語版にはちゃんとした事書いてたりするけ?

422 名前:411 [2008/07/03(木) 20:23:33 ID:XZ5SMLTk]
事故解決してたんだけどありがとう。

ただAppModelは相変わらずわかりません。
どのタイミングでロードすればええんですか?
Hook系もだめぽでした。

423 名前:412 mailto:sage [2008/07/03(木) 22:43:11 ID:???]
>>422

>>419-420 の方法じゃだめなの?

クラス名 MY_ つけなくてもいけるっぽいから
AppControllerにしとけばいいんじゃ

よくわからん ルールだなあ


おれはてっきり Controller そのものを置き換えてくれるとおもったんだが
ライブラリとかヘルパはそうだよね

424 名前:nobodyさん mailto:sage [2008/07/04(金) 15:09:16 ID:???]
>>422
コントローラはMY_Controllerをextendsして書いてるが、
モデルは仕方ないので各モデルの冒頭で
<?php
require_once(APPPATH."libraries/MY_Model.php");

class Hoge_model extends MY_Model


425 名前:nobodyさん mailto:sage [2008/07/14(月) 11:55:08 ID:???]
$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さん mailto:sage [2008/07/14(月) 12:05:24 ID:???]
>>425
Database に、escapeしないでsetする方法ってあったっけ?
それがsetメソッドなら、
$db->エスケープしないset('create_at', '式');
$db->insert('テーブル名') でいけるような気がする。

以上想像。なければ、Databaseを拡張する必要があるかも?
俺もこの辺知りたい。ソース嫁って感じだけど



427 名前:nobodyさん mailto:sage [2008/07/14(月) 12:12:17 ID:???]
NOW()とかも文字列として扱っちゃうから
date('Y-m-d H:i:s') にするしかないと思う

オレは
function now()
{
return date('Y-m-d H:i:s');
}
っていう関数を作ってある

428 名前:nobodyさん mailto:sage [2008/07/14(月) 19:00:27 ID:???]
>>426-427
さんくすです。
できないみたいなので、
fuction current_timestamp() {
return date('Y-m-d H:i:s');
}
を使うことにしました。
でもこれだと、application server と database server が別だと
時刻を必ず揃えておく必要がありますね。

429 名前:nobodyさん mailto:sage [2008/07/14(月) 19:12:37 ID:???]
>>428
サーバの管理がきっちり出来ていれば、どんなサーバも1秒と違わないはずなので、時刻で
よっぽどシビアなソートやチェックをしていない限り、それは大丈夫かと。
また、原則からいうなら元々どちらかに合わせるべきなので、DBの関数が使えない時点で
application側の時刻のみを使うのが必然となるかな。

サーバ間の時刻あわせとは、微妙に話が違うような。

430 名前:nobodyさん mailto:sage [2008/07/14(月) 19:47:05 ID:???]
>>426-428
date_helperのunix_to_human じゃダメなのか?

unix_to_human(time(),TRUE,'eu');


431 名前:nobodyさん mailto:sage [2008/07/15(火) 06:26:58 ID:???]
うちでは、まず 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さん mailto:sage [2008/07/15(火) 07:42:14 ID:???]
>>431
なんちゅうか、バッドノウハウの香りがw
> gettype で 'string' でも 'boolean' でもNULL でもない値はスルーしてくれる
っていう実装自体も、それに依存してるっていうのも、なんだかなあw

オブジェクトを渡されて、上記みたいにすることも前提にしてるのかな?>CI
(それなら、素直にescapeを回避するset系メソッドをつければいいのではと)

433 名前:431 mailto:sage [2008/07/15(火) 12:59:01 ID:???]
>>432
どうみてもBKです。本当に(ry
CI内部の実装依存だからCIをバージョンアップすると動かなくなるかも。

個人的には、gettypeを見て判定、の部分はとりたてておかしなコードでは
ないので、マイナーバージョンアップであれば大丈夫だろうという甘い期待w
最悪、mark_as_safe で grep して置き換えれば、なんとかなるだろうとかw
素人にも玄人にもオヌヌメできない。\(^o^)/

434 名前:431 mailto:sage [2008/07/15(火) 13:07:49 ID:???]
ってよくみたら set($key, $value = '', $escape = TRUE) って
第三引数があるじゃねーかw

$this->db->set('created_at', 'NOW()', FALSE);

で多分いけるね・・・ orz

435 名前:nobodyさん mailto:sage [2008/07/15(火) 13:10:36 ID:???]
>>434
でもそれだと
$this->db->insert('tablename', array('created_at'=>'NOW()'));
とかができないよね。
431の方法のほうが個人的に好み。

436 名前:nobodyさん mailto:sage [2008/07/15(火) 13:15:25 ID:???]
そういうの考えるのが面倒くさかったので、デフォで$this->db->insert($tablename, $valuearray);時は
created_atに作成日時をつっこみ、$this->db->update($tablename, $valuearray);時はupdated_atに
更新日時を突っ込むようにCI_DBを変更して使ってる。
バッドノウハウなのは百も承知だが、symfonyから流れてきた人にはこれが手放せないのよorz



437 名前:nobodyさん mailto:sage [2008/07/15(火) 17:00:08 ID:???]
>>436
それはDBのNOW()やCURRENT_TIMESTAMP()を使うの?
それともPHPのdate()を使うの?
前者ならまねしたいなあ

438 名前:nobodyさん mailto:sage [2008/08/02(土) 09:47:59 ID:???]
いつの間にか1.5から1.6になってる。
なんかかわったの?


439 名前:nobodyさん [2008/08/03(日) 18:45:02 ID:znW3bDml]
あれ、$this->dbがなくなってね?

440 名前:nobodyさん mailto:sage [2008/08/03(日) 19:04:30 ID:???]
kantigaidatta

441 名前:nobodyさん mailto:sage [2008/08/20(水) 20:18:05 ID:???]
CI使ってる人間ってどれぐらいいるんだろうか

442 名前:nobodyさん mailto:sage [2008/08/20(水) 20:44:32 ID:???]
17人

443 名前:nobodyさん mailto:sage [2008/08/22(金) 13:30:33 ID:???]
CIってforward とか redirect とかはどうやるの?

444 名前:nobodyさん mailto:sage [2008/08/23(土) 00:51:34 ID:???]
headerで自分で

445 名前:nobodyさん mailto:sage [2008/08/23(土) 01:26:31 ID:???]
helperとか無かったっけ
まあぶっちゃけ自分でheader(ほげほげ)書くのと変わらないけど

446 名前:nobodyさん [2008/08/25(月) 13:31:03 ID:Ziu2Tqsv]
CodeIgniterでは、URLは「コントローラ名/メソッド名」というのが基本ですが、
このパターンを変更することはできますか。

やりたいのは、
- /blog/index
- /blog/show
- /blog/create
- /blog/edit
というのではなく、
- /blog/maka
- /blog/blackstar
- /blog/deaththekid
のように「コントローラ名/ユーザ名」のようにしたいということです。
つまり /blog 以下のアクセスをある特定のメソッドに縛りたいということです。




447 名前:nobodyさん mailto:sage [2008/08/25(月) 15:36:16 ID:???]
>>446
ヒント
config/routes.php
codeigniter.com/user_guide/general/routing.html
userguide.cilab.info/general/routing.html

448 名前:nobodyさん mailto:446 [2008/08/26(火) 15:08:09 ID:???]
>>447
ありがとうございます!

449 名前:nobodyさん mailto:446 [2008/08/26(火) 15:24:29 ID:???]
Routingについて質問です。
ユーザーズガイドの例にあったのですが、
$route['product/:num'] = "catalog/product_lookup";
という設定をした場合、「:num」の値は Catalog->product_lookup() の中で
どうやって取得すればいいのでしょうか。
通常だと Catalog->product_lookup() の引数にこの値が渡されますが、
試したところ、$route[] を設定した場合は渡されないようです。


450 名前:nobodyさん mailto:446 [2008/08/26(火) 15:37:11 ID:???]
>>449
英語のドキュメントに書いてありました。
$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";
でいいみたいですね。
お騒がせしました。

451 名前:nobodyさん [2008/08/28(木) 12:20:46 ID: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さん mailto:sage [2008/08/28(木) 22:52:42 ID:???]
>>451
ソレは自分で試してみたほうが早いんじゃない?

453 名前:nobodyさん mailto:sage [2008/08/29(金) 08:50:09 ID:???]
複数のコントローラ間でメソッドを共有したいとき、どうするのがいいでしょうか。
できれば、あるコントローラのメソッド内で、別のコントローラをnewしてメソッドを実行できるのがいちばん理想的なんですが、そんなことできますか。

454 名前:nobodyさん mailto:sage [2008/08/29(金) 11:22:01 ID:???]
>>453
application/libraryにMY_Controllerを置き、共通メソッドはそこに置く。
そのメソッドを使うコントローラはextends MY_Controllerで作る。


455 名前:nobodyさん mailto:sage [2008/08/29(金) 11:44:55 ID:???]
>>454
しかしそれをしていると、だんだん多重継承っぽい事がしたくなってくるという罠

シンプルな処理、Controllerのプロパティ、機能等が必要ない様なものは、
ユーティリティクラスに切り出すとかもありかと思う

そして、libraries がカオスになるというセンスのない俺

456 名前:nobodyさん mailto:453 [2008/08/29(金) 14:42:55 ID:???]
>>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さん mailto:sage [2008/09/07(日) 15:37:47 ID:???]
>>456
びっくりするくらい亀レスですがw

> class AB_Controller extends MY_Controller
> class ControllerA extends AB_Controller
> class ControllerB extends AB_Controller
> みたいなのってできますっけ?

できますね。うちでは、MY_Controller にはしていませんが。
(この辺のAutoLoderの仕組みがあんまりよくわかってないw)

458 名前:nobodyさん [2008/09/12(金) 18:31:21 ID: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さん mailto:sage [2008/09/13(土) 01:11:52 ID:???]
>>458
「MY_がついてて、MY_の後の最初の1文字だけが大文字」の命名ルールに従ってないと
オートローディングできないですよ〜。
(プレフィクスはconfig.phpでMY_以外に変更可能)

命名規則を揃えるか、自前でコントローラクラスにrequire_onceを書くか、どっちかの手当てが
必要。

460 名前:nobodyさん [2008/09/14(日) 01:01:21 ID:cUARlcyz]
>>459
ありがとうございました。大変助かりました!

461 名前:nobodyさん mailto:sage [2008/09/18(木) 13:09:07 ID:???]
CodeIgniter的には、pluginとhelperの違いって何かありますか。
どっちも関数を提供するだけで、違いが内容に見えます。

462 名前:nobodyさん [2008/09/18(木) 16:11:44 ID:nzPLdxkT]
ログのしきい値おかしいね。普通
0 出力なし
1 ERROR
2 INFOも
3 DEBUGも
じゃない?

463 名前:nobodyさん mailto:sage [2008/09/18(木) 17:07:43 ID:???]
syslogの区分けにして欲しいよな
ciはアメリカ人らしく独自すぎるところが結構ある

464 名前:nobodyさん [2008/09/18(木) 17:47:47 ID:nzPLdxkT]
だよね。
しきい値勝手に変えちゃったもん。

465 名前:nobodyさん mailto:sage [2008/09/22(月) 21:08:37 ID:???]
なんかDB使ってるとFromのテーブルがどんどん増えていくんだけれども。
もしかして静的にテーブル溜め込んでんの?

466 名前:nobodyさん mailto:sage [2008/10/08(水) 18:34:20 ID:???]
CIでunit testやってる人いません?

うちはCIのWikiに出てたSimpletesterをいじりながらなんとかやってますけど、
1フォルダ内のテストクラスを全実行することしか出来なくてちょっとこまってます。
ttp://codeigniter.com/wiki/SimpleTester_-_Unit_testing_library/




467 名前:nobodyさん mailto:sage [2008/10/20(月) 05:19:44 ID:???]
base_urlにIndex.phpが引っ付くのはでふぉ?

468 名前:nobodyさん mailto:sage [2008/10/20(月) 05:21:12 ID:???]
ちがったform_openだ

469 名前:nobodyさん mailto:sage [2008/10/24(金) 20:58:58 ID:???]
1.7.0

470 名前:nobodyさん mailto:sage [2008/10/28(火) 10:49:17 ID:???]
1.7でなにか変わった?

471 名前:nobodyさん mailto:sage [2008/10/28(火) 14:21:52 ID:???]
validationクラスがform_validationクラスに名前変更&若干の仕様変更
→configに定義したものから読み込み可能になった

sessionデータをDBに保存するように変更とソレに伴ってテーブル定義変更

この二つ位かな?個人的には

詳しくは
codeigniter.com/user_guide/changelog.html

472 名前:470 mailto:sage [2008/10/28(火) 20:20:01 ID:???]
なるほど、どもです。

473 名前:nobodyさん mailto:sage [2008/11/12(水) 18:05:07 ID:???]
ciってcgi版phpでrewriteを使って
www.example.com/index.php/aaa/

www.example.com/aaa/
でアクセスできるようにすると、動かないのですかね・・・







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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