[PHP][フレームワーク]CodeIgniterスレat PHP
[PHP][フレームワーク]CodeIgniterスレ - 暇つぶし2ch1:nobodyさん
07/04/27 23:17:16
公式:URLリンク(www.codeigniter.com)
チュートリアル:URLリンク(codeigniter.com)

ユーザガイド日本語訳:URLリンク(ci-user-guide-ja.nought-point-999.net)

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

2:nobodyさん
07/04/27 23:18:05
まさか建てられると思ってなかったんだ、だが後悔はしていない。

3:nobodyさん
07/04/28 01:15:05
乙!

4:nobodyさん
07/04/28 01:38:57
本スレに
CIにNet_URL_Mapper組み込んだ人いる?
どう手を付けたらいいのか迷うな

と書いたものだが
Routerクラスの_set_route_mappingメソッドを
オーバーライドするのが普通かな
あまりキレイではないが…

5:nobodyさん
07/04/28 02:34:36
Net_URL_Mapperって
/:module/:action/*
みたいな書き方できない?
なんだこの中途半端なルータは・・・

6:nobodyさん
07/04/28 14:41:50
>>5
出来るにきまってるだろ。
$obj -> connect('/f:oo/:bar/*(wild)','',array('wild"=>'*'));




7:nobodyさん
07/04/28 15:53:48
"wild"て書かないといけなかったのか・・・サンクス

8:nobodyさん
07/04/28 16:03:48
てかNet_URL_Mapperのドキュメントないの舐めてね?
おまいらみんなソース読んでんの?

9:nobodyさん
07/04/28 17:25:45
わかんなかったらソース読むだろ普通。

>>7
wildという文字が大切じゃなくて、connectの第三引数 arrayでrule(s)が指定できるってこと。
connect(....../*(hoge),array('hoge'=>'*'));

10:nobodyさん
07/04/28 18:07:37
Code Igniterの情報サイト

○セットアップ関連
・基本セットアップ情報
URLリンク(adultnews.blog14.fc2.com)

・配置変更
URLリンク(blog.nought-point-999.net)

・index.phpの配置の変更方法
URLリンク(blog.nought-point-999.net)

○ライブラリ関連
・xajaxの使用方法
URLリンク(hain.jp)

・CakePHPのACLライクな認証プラグイン「UserAuth」
URLリンク(tomcode.com)

・Railsチックなレイアウトを設定できるプラグイン「layout_library」
URLリンク(codeigniter.com)

・リスト表示・登録画面をテンプレート形式で作成できるプラグイン「rapyd」
URLリンク(www.rapyd.com)
 >サンプル
 URLリンク(www.rapyd.com)



11:nobodyさん
07/04/29 03:57:47
Net_URL_Mapperのソースってイモだな
○○0とか○○1とかいうメソッド名はねーだろよ

12:nobodyさん
07/04/29 12:53:53
>>4
_parse_routes時点での書き換えのほうがよくない?

13:nobodyさん
07/05/02 00:11:47
ciにオートローダ書こうと思ったら
どこに書く?

14:nobodyさん
07/05/02 00:22:08
pre_systemってフックがあるな
ここだね

15:nobodyさん
07/05/02 23:30:19
前から思ってたがここのUser Guideのギミック
いまいちだよな・・・
凝りたいのは分かるがここは普通にした方がいい

16:nobodyさん
07/05/03 20:15:34
フレームワーク作者は
class_existsの第二引数をちゃんと書くように!
自前autoload書くといちいち飛んでくるから困る

17:nobodyさん
07/05/03 20:25:44
PHP4でclass_existsの第二引数を書くとエラーにならない?

18:nobodyさん
07/05/03 20:29:17
不必要なパラメータ付けたくらいでエラーにはならないじゃないの?多分

19:nobodyさん
07/05/03 20:39:32
なるよ

20:nobodyさん
07/05/03 20:43:35
エラーになるだろ。普通。
そんなことより自分の能力不足を「作者」のせいにするってのはやめたほうがいいな。

21:nobodyさん
07/05/03 20:49:33
試してみたけど、不必要な引数があっても、エラーは出ないね。

22:nobodyさん
07/05/03 21:02:02
もういいから巣に帰れ。
>php -v
PHP 4.4.6 (cli) (built: Mar 12 2007 10:11:11)

>php test.php

Warning: Wrong parameter count for class_exists() in 略 on line 6

>cat test.php
<?php
class ABC
{
function ABC(){;}
}
if(class_exists('ABC',TRUE)) {;}
?>

23:nobodyさん
07/05/03 21:32:06
自作の関数だと、引数の数が多くてもエラーでなかったんだけどな。
組み込みの関数だと、チェックしてるんだな。

24:nobodyさん
07/05/04 02:04:41
能力不足とは?
対応しようと思えばできるがそもそもの設計がおかしいだろ

25:nobodyさん
07/05/04 02:24:46
4と5両対応してんだから歪みでるのは当然

26:nobodyさん
07/05/04 02:29:13
4/5別の分岐してるんだから
別の対応はしてほしいところだな

27:nobodyさん
07/05/04 05:13:31
>>23
将来の拡張もありうるんだから
パラメータ多すぎでエラー出すのはおかしいよな。
実際おかしなことになってるし。

28:nobodyさん
07/05/04 10:24:04
なんか必死だな

29:nobodyさん
07/05/04 10:37:03
いや引数が多い時にエラー出すのが悪いんじゃなくて
PHP5以降のclass_existsの拡張のデザインが失敗なんだ思うよ
だいたいclass_existsする時点でオートロードするなんて
ありがた迷惑以外のなにもんでもないだろう
PHP4とのcompatibility考慮したら第2引数省略した時は
何もしないでTRUEの場合にオートロードを試みるべきだった
FW本スレでもそういう話が出てたはず

30:nobodyさん
07/05/04 11:00:23
拡張クラス命名規則をちゃんとしとけばいいんだから、それは本質論じゃないな。


31:nobodyさん
07/05/04 12:12:13
いや、俺はigniter使ってないから分からないが
命名規則で回避できるならそれはそうなんだろうけど
class_existsの挙動についてっていう点でね

32:nobodyさん
07/05/04 12:49:21
でもそれ言ったらclass_existsだけじゃなくて、newもextendsもloadされていない場合
__autoloadを一旦見に行くじゃん。記述した未知のクラス名を見に行くのが悪いって
いってしまったら、newに、new(True) ClassNameとか「引数」実装しろって話しにもなるぜ。

33:nobodyさん
07/05/04 14:13:49
未知のクラス名を見に行くのが悪いんじゃなくて
class_existsを使う局面の意味合いを考えてみてよ

newやextendsで未知のクラスを使わないよう
未知のクラス名でないかどうか調べるためにclass_existsするわけでしょ
確実にクラスが存在するか書き手は保証を行うためにclass_existsする
なのにclass_existsのデフォルト(第2引数無し)が
autoloadを見に行くのはどう考えてもお節介でしょ
autoloadに期待しているなら書き手はclass_existsなんてしないはず
それこそnewやextendsをいきなりやってしまってautoloadに任せる

newやextendsにも引数実装しろなんて話にはならない

34:nobodyさん
07/05/04 14:55:44
>33

そうすると、autoloadを使っているコードでもしクラスが見つからなかった場合はどうやってエラー回避すればいいの?


35:nobodyさん
07/05/04 15:15:02
autoloadの中で例外投げて、エラーから復帰したい場合はキャッチ

36:nobodyさん
07/05/04 15:28:12
>>33
なぜ、おせっかいなのか不明だな。なきゃそこで戻るんだから。
version 5で、autoload想定していない4との互換物を走らせるのに
デフォルトでautoloadにやってくるから意味があるわけで。


37:nobodyさん
07/05/04 15:51:51
33じゃないけど、そもそもclass_existsを実際に使いたい場面ってのは、基本的にautoloadとは違う仕組みでincludeしたいときだったりする。
例えば、フレームワーク自体を製作する側から見ると、アクションコントローラやビューのクラスをフレームワークの仕組みに従ってロードしたい場合。
フレームワークの作者は、ユーザがautoloadを定義している場合に備えて、class_existsの第二引数に気を遣わないといけない。

で、autoloadとclass_existsが共存するようなシチュエーションは、フレームワーク製作のこういう部分でしかまず見られないよね、って話になると、ああデフォルトではautoloadを見に行かないほうがいいわなってなるわけよ。
autoloadでロードされる「その他一般の自作クラスライブラリ」たちとは別の、特別な専用ディレクトリからロードしたい時が、まさにclass_existsの使いどころだから。

まあ他にclass_existsを有意義に使える場面があるなら、また話は違ってくるんだろうけど。
ここまで書いてふとスレタイを見たら、今頃CIスレであることに気付いた・・・orz

38:nobodyさん
07/05/04 16:28:51
「フレームワーク製作のこういう部分でしかまず見られないよね」って話なら、なおさらデフォルト引数の挙動に互換性を無くすメリットはないんじゃないか。

まあ今どきのフレームワーク作者ならspl_autoload()とか使うと思うけど。



39:nobodyさん
07/05/04 16:35:16
>>36
FW自体がautoloadを定義している事が前提ならば
また変わってくるが(CIはどうなんだっけ・・・)、
FW自体ではautoloadを利用せずユーザにautoloadの定義を
委ねている場合はそのFW作成側はclass_existsの引数に注意する必要が出てくる
理由は>>37の書いている通りFWを使う側のユーザが定義した
autoloadが勝手に呼ばれてしまう、ユーザが呼んで欲しくもなくても

で、これはFWに限らず__autoload()がユーザ側で自由に定義される以上、
ライブラリ側のコードではclass_existsを使う場合に
autoloadの事は常に意識せざるを得なくなる
となると第2引数はfalseにするしかない
そういう注意が必要になるってことがお節介の理由

で加えてclass_existsの第2引数をfalseにしちゃうと
PHP4ではwarningが出ちゃうから4/5の互換性の点でも問題だから
このclass_existsのデフォルトはよくないんじゃないかってこと

40:nobodyさん
07/05/04 16:40:24
うん、class_exists()拡張の際のデフォルト値は失敗だな。
仮に何か理由があろうとなかろうと、
あれのおかげで、__autoload()が絶妙に使いにくくなってしまった。

リリースしてしまったものは、今更しょうがないけど、
Zendクオリティに萎えたのは事実。

41:nobodyさん
07/05/04 18:30:31
PHP5使い→class_exists()に批判的
PHP4使い→class_exists()に擁護的

いろいろ語られてるが突き詰めればこれだけの違いじゃね
PHP5使っててclass_exists()の仕様を「これでいい」と思ってる奴は
かなりのマゾ野郎だけだろう

42:nobodyさん
07/05/04 19:22:58
なにを言ってるのか不明だな。
ver5と「class_exists拡張」とautoloadは同時なのに。
ver5ベースでやってる奴は、今の仕様でいいに決まってるじゃん。

43:nobodyさん
07/05/04 21:23:14
雑談は総合スレでやろうよ。ネタないけどさ(;´Д`)

44:nobodyさん
07/05/04 22:21:29
CIの実装にかかわることだからいいんだよ。ここで。
ちなみに、 5のみに特化したsymfonyの場合、grep |wc で単純計算すると
class_existsで引数falseつけてるのは12、つけてないのは32。前者は当然core関係、後者はvendor関係が多い


45:nobodyさん
07/05/04 23:13:08
>>42
お前の方が意味不明だっつの
てかclass_exists()擁護派は総じて論拠が柔すぎて反論する気すらおきん
対話自体にならないレベルだ。
まあ現実問題として改正が必要なんだからエリックに言ってやらないとな
英語に達者な奴頼む

46:nobodyさん
07/05/08 22:41:46
┐(´д`)┌

47:nobodyさん
07/05/09 03:42:29
CI使ってる人
view(template)名はどうしてる?
俺はsymfonyの真似で
hogehoge_inputとかhogehoge_successにしてるが

48:nobodyさん
07/05/09 10:33:05
method_view

49:nobodyさん
07/05/09 22:21:52
俺はsubdirectory(method or class)/fileだな

50:nobodyさん
07/05/09 23:53:49
俺もクラスではディレクトリ分けてる

51:nobodyさん
07/05/10 14:14:44
ciのActiveRecordってRailsのActiveRecordと
なんか違くね…?
違うのになんでActiveRecordを名乗ってるんだ…?

52:nobodyさん
07/05/10 14:21:51
>>49
それ詳しく教えてもらえないか?

53:nobodyさん
07/05/11 22:06:54
>>52
50と変わらんとは思うけど
class/files
method/files
filesは結構沢山あるな。view用のcss/js設定ファイルとか、基本画像用gifもそこにおいてあるし


54:nobodyさん
07/05/27 00:20:32
URLリンク(blog.probo.jp)
ここci使ってなかったっけ?悲惨だな…

55:nobodyさん
07/05/27 00:34:45
そのエラーメッセージはまさしくciだな

56:nobodyさん
07/05/27 00:42:16
そこで初めてcodeigniterという文字列を最初に見た気がする

57:nobodyさん
07/05/27 00:45:55
何のブログだったの?
有名どころ?

58:nobodyさん
07/05/27 00:55:09
普通のPHP関連のブログだったかと

59:nobodyさん
07/05/27 01:52:52
悲惨って言うほどのもんじゃないと思うけど、
errorメッセージってちゃんと作りこんでおいたほうがいいよね。

60:nobodyさん
07/05/27 01:57:10
たしかに悲惨は言い過ぎだろ
ただdbに繋がらなくなっただけに見える
ってか晒す意味がわからない

61:nobodyさん
07/05/29 01:54:43
自演フォロー乙

62:nobodyさん
07/05/29 03:02:43
元がどんなブログかもしらんし何の関係もないが…

63:nobodyさん
07/06/06 10:23:29
いいかんじなので上げ

64:nobodyさん
07/06/06 10:41:39
ユーザガイドの日本語訳出来ているのね。
URLリンク(userguide.cilab.info)

65:nobodyさん
07/06/08 12:02:09
ユーザ少なすぎじゃないのか。いいのに。

66:nobodyさん
07/06/08 14:48:19
初めてのフレームワークに採用する予定。
日本語の解説ページが少ないのは不安だけど。
ユーザーガイドは読みやすくていいと思った。
認証機能を使った会員管理システムを作る予定。


67:nobodyさん
07/06/08 16:23:11
CIって、日本語でも大丈夫? 

68:nobodyさん
07/06/08 17:37:53
問題ないよ。


69:nobodyさん
07/06/09 02:23:16 W+nVmF6j
>>64
おおお!これは助かる!
翻訳途中の方のサイト見ながらで若干不安だったんだ。

ちなみに3年くらい動かしてるらしい顧客のサイト。
度重なる機能追加でカオスになっていたので、
CIつかってリニューアルさせてもらいました。

記号を含むURIで少々はまったものの
ほとんど上記のユーザガイドで事足りました。

検収記念age

70:nobodyさん
07/06/09 04:13:48
どんなサイトなの?
導入事例キボン(死語か

71:nobodyさん
07/06/12 14:05:15
>>70
ショップとかできる? 商品売るやつ。

72:70
07/06/12 17:43:07
意味がわからないんだが

73:nobodyさん
07/06/12 21:03:17
ショッピングカート

74:nobodyさん
07/06/14 01:04:52
できるかどうかはあなた次第

75:nobodyさん
07/06/15 11:50:52
CIを使うとき、自分で追加するPHPファイルの文字コードは何にしてますか?
ダウンロードしたCIのファイルはShift JISになっているみたいですが、自分で追加するファイルはUTF-8Nでもいいですか?


76:nobodyさん
07/06/15 16:48:05
>ダウンロードしたCIのファイルはShift JISになっているみたいですが
( ゚д゚)

77:nobodyさん
07/06/15 19:28:21
おちゃめなジャパニーズがいたもんだな

78:nobodyさん
07/06/15 19:38:23
自分で追加するファイルの文字コードは、UTF-8Nにして正常に動作しました!
ただ今、CodeIgniter ユーザガイド 日本語版 Version 1.5.3を見ながらサンプルコードを動かしています。^^
URLリンク(userguide.cilab.info)
↑日本語訳を作ってくれた方、どうもありがとうございます!

79:nobodyさん
07/06/15 21:21:47
CI最高age

80:nobodyさん
07/06/16 04:50:04
CakePHPの評判が気になってCIから浮気した

81:nobodyさん
07/06/16 09:17:02
俺の知り合いもこのスレを見ている予感

82:nobodyさん
07/06/16 09:27:11
>>81
まさか…お前か?
直接言いにくいからここで言うわ
早く金返せ

83:nobodyさん
07/06/17 01:47:51
認証機能つけるには、Authクラスを自作するのだろうか

84:nobodyさん
07/06/17 02:20:47
>83
URLリンク(tomcode.com)

85:nobodyさん
07/06/18 00:05:15
>>84
おお、wiki以外にもこんなのがあったのか。
まじでありがとう!

86:nobodyさん
07/06/18 00:31:10
>>84
俺もブックマークに入れときました。
ありがとう!

87:nobodyさん
07/06/18 10:25:34
>>84
modelのなかで& get_instance発行して、dbインスタンスを再取得してるのか・・・
・・・・わかってないんだろうこれ作った人。使わないほうが吉だな。


88:nobodyさん
07/06/18 11:22:42
じゃあちゃんとしたやつ作って公開してくれ

89:nobodyさん
07/06/18 12:29:44
CakePHPの中でCodeIgniterのライブラリ使えるらしいのだが、
やっぱり両方試してみたほうがいいかな

90:nobodyさん
07/06/18 13:33:22
CIの中でZend使うってのもありじゃないか?
かく言う俺もcakeとCIで迷っているが。まぁ対象規模が違うわな

91:nobodyさん
07/06/18 15:38:49
>>87
どうするのが正しいの?

92:nobodyさん
07/06/18 18:45:15
>>91
なにもしないのがただしい。既にCIのインスタンスは存在してるから。
親のModel classはそのインスタンスを取得する(だけの)基底クラス。

93:nobodyさん
07/06/18 20:11:08
Modelのコンストラクタにget_instance入ってないから良いんじゃないの??

94:93
07/06/18 20:14:38
やっぱ要らない。見落としてた。

95:87
07/06/18 21:54:19
>>88
なんでこういうようなちゃかしが入るのかわからない。
使ってるFWの実装を押さえないような程度のコードを
単に在るからっていうだけで、使うのは良くないといってるだけ。
特にセキュリティにかかわるclassなんだから慎重であるべき。


96:84
07/06/18 22:09:19
なんか、役になったようで。
けど、これ自分がスレが立ったときに>10の「Code Igniterの情報サイト」
で書いたやつだったのが、、、説明不足だったか。

あと、これ以上に
・リスト表示・登録画面をテンプレート形式で作成できるプラグイン「rapyd」
URLリンク(www.rapyd.com)
 >サンプル
 URLリンク(www.rapyd.com)

ほうが便利っす。どうでもいい検索→一覧→更新
画面をそこそこのデザインで作りたいときはすげえ便利。
CI使っている人は是非w

97:nobodyさん
07/06/19 02:21:28
84さんが紹介してくれた認証クラスは、どこに入れて使うの?
アプリケーションの下に入れとけばいいのかな?

98:nobodyさん
07/06/19 12:45:54
おちょくらないほうがいいよ。真面目な人みたいだから。

99:nobodyさん
07/07/05 22:34:34
CodeIgniterの機能云々は置いといて
このマニュアルめっちゃ見やすいな
URLリンク(userguide.cilab.info)


100:nobodyさん
07/07/14 01:33:13
CodeIgniter 1.5.4 Released

101:nobodyさん
07/07/17 15:06:17
人いないねぇ
Cakeに流れた?

102:nobodyさん
07/07/17 18:13:00
アソシエーション使わないならこっちだな、はやいし。

103:nobodyさん
07/07/19 13:31:27
>>101
邦訳マニュアルが出来た頃から>>99のようなマニュアルサイトの宣伝コピペが
増えて、ちょっと引き気味。

104:nobodyさん
07/07/20 23:11:01 HPTI18nF
この程度で・・・
心のよわいやつだなあ

105:nobodyさん
07/07/21 00:04:05
まぁでも言われて気づいたな。


106:nobodyさん
07/07/21 03:25:50 YySJAyHD
phpはこれまでの経緯からOOP入門者の層が多そうなので
ルールの少ないCIのほうが入りやすそうなんだけどな。
かくいう自分もデザイナ上がり。
日本語サイトが少ないのがイマイチ普及しない原因でしょうか。

前にも書いたけどさんざん張られてるマニュアルサイトの情報だけで
ちょっとしたサイトなら簡単に構築できるからおすすめですにゃ。

107:nobodyさん
07/07/21 11:10:24
OOPとFWなんて関係ないが。なに言いたいんだ元デザイナーは

108:nobodyさん
07/07/22 04:01:25 dxwJT9EH
>OOPとFWなんて関係ないが。
そうか?

109:nobodyさん
07/07/22 10:21:52
>phpはこれまでの経緯からRoR風FW入門者の層が多そうなので
>ルールの少ないCIのほうが入りやすそうなんだけどな。

これならわかる。

110:nobodyさん
07/07/22 16:06:56
ファイルのアップロードやってるんですが、
必須チェックをvalidation使ってどうやってやったら良いでしょうか?
validation内では$_POSTしか見てくれないようで、
ruleにrequiredを設定すると、必ず必須エラーになってしまいます。
callback関数も呼んでもらえないし、みなさんどうされてるんでしょ?
そこだけ自前?


111:nobodyさん
07/07/22 17:46:49
そこで言う必須チェックって、なにを指してるんですか?

112:110
07/07/22 17:57:43
>>111
フォームからファイルが指定されたかどうかです。
$_FILES['xxxx']['name']に値があるかどうかでチェックしようと思ってました。
その後$_FILES['xxxx']['error']をチェックしたり、拡張子の制限を追加したりと
思ってたんですがその前に挫折してしまいました。


113:nobodyさん
07/07/22 18:01:33
file uploadクラスの->data()の値をでチェックすれば済むんでは?

114:110
07/07/22 20:56:00
uploadクラスのdo_upload()関数でエラーチェックまで出来るんですね。

今回は、フォームにはテキストボックス等の入力もあるので、
そのチェックはvalidationでやっています。
if ($this->validation->run() === FALSE) {
  入力エラー
} else {
  正常
}

これを
if (!$this->validation->run() || !$this->upload->do_upload()) {
  入力エラー
}

とする事にしました。
ありがとうございました。


115:nobodyさん
07/07/22 23:17:46
CSSってどうしてる?

system/application/viewsとかにおいてる?(別途controller必要だけど)
それとも
documentroot/css とか?

参考にしたいのでよろしくです。

116:106
07/07/23 02:26:30 rslZzZtP
>>109
ベタ書きされたよそのシステムに手を入れる機会が多いので、
OOP(というかデザパタ?)苦手な人が多いのかなと思ったのです。
自分も「自己流でよくね?」と思ってた時期が長くて、
オブジェクト指向の本をいくつか読むまでFWの恩恵がわからなかったもので。
低レベルな主観で語ってしまいました。ごめんなさい。

117:nobodyさん
07/07/23 06:11:20
>>115
CSSに限らずファイルはすべて前者(viewsにおくかどうか別にして)が可能なように
対応。速度のことを考えて最終公開用に後者に置くことを想定するが、
ファイル変更等は常に前者で。

118:nobodyさん
07/07/27 02:06:10
CodeIgniter ユーザガイド 日本語版 Version 1.5.4
を読んで勉強しています。
誤植と思われる箇所を発見しました。

URLリンク(userguide.cilab.info)
のページの真ん中辺にある文章で、「関数呼び出しの再マッピング」のサンプルコードについてです。
function _remap($method)の中の
 $this->$method();
は、
 $this->method();
ですよね?
=method()の前についている$が不要。

ユーザーガイド日本語版を作成された方は、このスレをご覧になっているでしょうか?
とりいそぎご報告まで(・∀・)

119:nobodyさん
07/07/27 07:53:56 /fnc4AF2
あるcontrollerから別のcontrollerのアクションメソッド使う方法てあったっけ?

120:nobodyさん
07/07/27 07:59:28
>>118
君の頭が誤植

121:nobodyさん
07/07/27 08:09:34
>>119
親でなきゃ無理。でもそれってコントローラーの実装が変だと思うけど。


122:nobodyさん
07/07/27 08:41:48 /fnc4AF2
たとえば「記事 controller」と「ユーザ controller」がすでにつくってあって
記事関連の各ページに「わけありユーザ上位数名」を表示したいとき。
条件が複雑だからできれば今後のために「ユーザ controller」にまとめたくて。

もう眠いからfile関数で取っちゃおうかな。

123:nobodyさん
07/07/27 08:45:35
それはmodelでやることですよ。

124:nobodyさん
07/07/27 09:01:52 /fnc4AF2
でーすーよーねー。あーあ、はずかしー。
サンクスです。

125:nobodyさん
07/07/27 13:44:27
>>120
あああ!意味が分かりました!!!

<?php
$method = "some_method";
$some_method = "name";
echo $$method;//→echo $some_method; と同じ
?>
ってことなんですね。

$this->$method();
にしておけば、実行する関数をその都度指定できると。
私の解釈が間違っていることを気づかせてくれるヒントをいただき、どうもありがとうございました。

126:nobodyさん
07/07/27 21:47:18 kiyCeLtJ
CodeIgniterってサイト毎に設置していく必要あるの?
サイト毎にまとめて設定して、
CodeIgniterをひとつのフォルダにぶっこんで共有したいんだよね…

無理か…
あーバージョン管理大変じゃ。

127:nobodyさん
07/07/27 21:56:52
サイトごとっていう意味がはっきりしないが、
同一サーバで、URL/host名が違うって言う意味か?
それなら全然無理じゃないし普通にできるだろ


128:nobodyさん
07/07/28 09:53:42
>>126
URLリンク(userguide.cilab.info)

129:nobodyさん
07/07/28 09:57:26
>>128
それは質問の主旨とは違うだろう

130:nobodyさん
07/07/28 10:17:24
俺も>>128でOKだと思った。
質問の主旨がわかんね。


131:nobodyさん
07/07/28 10:20:57
まあ、その程度のマルチホスト対応でいいならどうでもいい質問であることは確かだな

132:nobodyさん
07/07/28 10:52:29
indexも一つで、CI自体のフォルダも一切変えないぐらいじゃないと、
そんなに管理の手間はかわらんよ。>>128であろうとCI複数突っ込むのであろうと。
やるならhookつかってconfigクラス拡張+ルータ設定だな。これなら
CI管理はindex.php,applicationも含めて一つでOKだろ。

133:nobodyさん
07/08/01 06:27:52
既出かもしれんが。
徒然なるままにBlog
PHPベンチマーク: Zend Framework vs Symfony vs CakePHP vs CodeIgniter vs PHP on TRAX
URLリンク(www.tsujita.jp)ベンチマーク-Zend-Framework-vs-Symfony-vs-CakePHP-vs-CodeIgniter-vs-PHP-on-TRAX.html

134:nobodyさん
07/08/01 09:56:13
ZF意外と健闘してるな。

135:nobodyさん
07/08/02 17:13:21 S/9lNY0s
$this->load->library('session');
$newdata = array(
  'name'  => 'john',
  'id'   => '1',
  'logged_in' => TRUE
);
$this->session->set_userdata($newdata);

セッションがパソコンに保存しくんねーけど、なぜだーーー!

136:nobodyさん
07/08/02 20:25:34
クッキーが全てを物語っている

137:nobodyさん
07/08/03 10:48:28
CI厨がフレームワーク総合スレで鬱陶しいんですが、
出身地及び引き取り先はここですか?

138:nobodyさん
07/08/03 11:08:37
寂しいのか?

139:nobodyさん
07/08/08 21:51:41
ドキュメントを日本語に翻訳してくれた中の人、GJです。
こういうのって、どうやって効率よく作業するの?
なんか翻訳支援ツールとかあるんでしょうか。
あと、あの翻訳ってどのくらい時間かかりますか。
別のOSSの翻訳をやってみようかなと考えているので、参考にしたいです。
教えて中の人!

140:nobodyさん
07/08/08 21:52:45
自演乙

141:nobodyさん
07/08/08 21:57:40
早速レスがついたと思ったらこんなのかよー
嫌いならわざわざこんなとこくるなよ


142:nobodyさん
07/08/08 21:59:54
そのサイトのほうで聞けばいいじゃん。

143:nobodyさん
07/08/24 15:33:31
質問です。
ActiveRecordで、
AND/ORの優先順位指定は出来ないのでしょうか。
$this->db->where('some = 1');
$this->db->where('any = 2');
$this->db->like(array('foo','codeigniter'));
$this->db->orlike(array('bar','framework'));

こうした場合、WHERE句は、 some = 1 AND any =2 AND foo LIKE "%codeigniter" OR bar LIKE "%framework%"
となりますが、AND ( foo LIKE "%codeigniter" OR bar LIKE "%framework%" )
としたいのです。
CI_DB_active_record クラスを眺めたところ、どうもそのような機能がなさそうなのですが
見落としているかもしれないので、質問しました。

よろしくお願いします。

144:143
07/08/24 16:53:49
自己解決しました。
やっぱり出来そうにないので
URLリンク(codeigniter.com)
のようにやります。

145:nobodyさん
07/09/15 16:58:09
CakeとかSymphonyとかMapleくらいしか知らなかったんだけど、
改めて調べてCodeIgniterを見付けて、いいじゃんと思った。
パフォーマンス重視のシンプル設計というのがいい。
バージョンも1.0越えてリリースになってるし(ベータのフレームワークって多いよね)。
ちょっとやってみる!

146:nobodyさん
07/09/22 11:44:41
いつの間にかできていたみたい。
CodeIgniter in Japan
URLリンク(codeigniter.biz)

RSS検索で「CodeIgniter」と検索したらた出てきた。
今後の情報として、rapyd frameworkの日本語訳に期待。


147:nobodyさん
07/09/22 13:07:40
CodeIgniter in Japan
と聞いて
日本語の公式サイトができたのか。
と思った


148:nobodyさん
07/09/22 13:12:41
>>146のサイト
>CodeIgniter(コードイグニタ)

CodeIgniter(コードイグナイタ)じゃないのか?

149:nobodyさん
07/09/22 17:07:04
RSS検索で見つけたもう一個。

price-change:blog
URLリンク(pricewave.blog110.fc2.com)

携帯対応とかがかなり参考になります。

150:nobodyさん
07/09/24 17:32:06
.bizドメインは何故か怪しいと思ってしまう俺がここにいる


151:nobodyさん
07/09/24 18:12:43
あるあるw
「ビジネス」とか好んで言いたがる奴ってゴミが多いし

152:nobodyさん
07/10/05 23:49:53
今日のネタ投入

Create it!
URLリンク(tuevin.jugem.jp)

こちらのサイトですが、CodeIgniterのTipsを取り扱っています。
使っていて、あれどうやるのかなぁ、と思うネタが結構載っていて重宝します。

153:nobodyさん
07/10/06 01:01:46
いやあの本人なら本人で「こんなサイト作りました!」って言ってくれた方が好感持てるよ。
マトモなサイトなら別に荒らされたりしないから。
とりあえず乙

154:nobodyさん
07/10/19 17:33:20
CodeIgniter for Rapid PHP Application Development
URLリンク(www.amazon.com)

発売されてから2ヶ月半立っても話題に出ないから貼っておく。

155:nobodyさん
07/10/19 20:46:31
俺はソース嫁厨

156:nobodyさん
07/10/23 14:19:22
CI で index って名称のコントローラ作ろうとして、
Indexクラス作って、デフォルトコンストラクタ作って、エントリポイントなメソッド(index())作ったところで
コンストラクタとメソッド名かぶるじゃんって気づいた。
トップページはやっぱり welcome じゃなくて index にしたい、ってだけなんだけど、普通どうしてるもの?


157:nobodyさん
07/10/23 17:28:10
homeで妥協する

158:nobodyさん
07/10/23 17:38:14
>>156
URLリンク(userguide.cilab.info)


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

160:nobodyさん
07/10/26 17:30:20
モチロンソウヨ

161:nobodyさん
07/10/27 21:08:04 stfTQ4kY
URLリンク(ihc.mydisk.jp)

162:156
07/10/28 12:23:43
>>157-158
ありがと。そういうもんなのね。
クラス名をHomeにして/indexにルーティングすることにした。


163:nobodyさん
07/11/22 16:21:00
これからCI使おうと思うんですが、何か不便に感じる部分とかあったら教えてください。

164:nobodyさん
07/11/23 02:05:01
formがしょぼい

165:nobodyさん
08/01/17 10:41:51
これのFork版面白そうだね

166:nobodyさん
08/01/30 01:49:15 2r+EzdWP
Emailクラスの文字化けはまだ直ってないのかな?

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

168:nobodyさん
08/01/30 11:40:14
>>167
当たり前だろ。っていうか、コード内部でURLを使っているのか?

169:166
08/01/30 17:06:19 2r+EzdWP
1.6で直る模様ですね。
バクトラック投げてくれた方に感謝です。

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

171:nobodyさん
08/01/30 19:59:43
>>169
バグ投げてくれたのはいいが、その内容がひどかったけどな

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

173:nobodyさん
08/02/01 08:58:03
これGET使わないとか無茶じゃね?
検索もPOSTでしろと??

174:nobodyさん
08/02/01 09:43:29
$config['enable_query_strings'] = true;
$config['uri_protocol'] = "PATH_INFO";
で出来たわん

175:nobodyさん
08/02/01 09:49:34
機能はシンプルすぎて若干ショボいくらいだけど
ciは基幹クラスを上書きできるのがいいな

176:nobodyさん
08/02/01 10:23:44
アプリケーション固有のデータはどうするのがci流?

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

178:nobodyさん
08/02/01 16:52:09
>>177
どっちでもいいんじゃね。
自分の環境で動くんなら

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

180:nobodyさん
08/02/01 21:20:55
>>179
自分の設計が悪いだけじゃないの?

181:nobodyさん
08/02/01 21:28:10
1.6出たよ!

182:nobodyさん
08/02/01 22:26:18
>>180
なんでそんな話になるんだよw
俺の実装がどうとかいう話じゃねえ
ユーザー全てにおいて起こりうる問題だから言ってんだよ

183:nobodyさん
08/02/01 23:08:14
>>181
ほんまやんけ!

CodeIgniter1.6、キタ━━━(゚∀゚)━━━ !!!!!
URLリンク(codeigniter.com)

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さん
08/02/01 23:34:54
アップデートも簡単なのがいいな

185:nobodyさん
08/02/02 08:15:19 NjVdwivu
>>183
機械翻訳ひどいな

186:nobodyさん
08/02/02 10:44:24
エラーが起きても何も表示されないケースがあるな
ハンドリングがうまくいってないのか…

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

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

188:nobodyさん
08/02/03 23:18:33
名詞と動詞ってどんだけ曖昧な基準だよw

189:nobodyさん
08/02/04 08:32:42
名詞と動詞が曖昧だったら何が曖昧じゃないんだと問いたい

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

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

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

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

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

192:nobodyさん
08/02/04 19:22:45
>>190
の書いたクラスを見てみたい

193:nobodyさん
08/02/04 19:44:52
そうか。
俺はお前のコードは見たくないわ。

194:nobodyさん
08/02/04 23:39:11
クラスを名詞、メソッドを動詞にするのは、この業界の常識だろ。

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


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


195:nobodyさん
08/02/05 00:41:07
で、1.6はどう?
俺としてはAuth関係を標準で入れてほしかったなあ。

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

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

198:nobodyさん
08/02/05 02:28:34
代わりになる言語が出ない限り無理。

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

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


200:nobodyさん
08/02/05 10:53:55
日付だけならヘルパでやれよ

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

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

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

203:nobodyさん
08/02/06 09:59:31
どこで読んだんだ?

204:nobodyさん
08/02/06 10:06:28
いろんなところで。たとえばこれとか。
URLリンク(lists.sourceforge.jp)

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

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

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

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

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

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

206:nobodyさん
08/02/06 11:11:16
>>202
DBに保存する方法もあるよ。

207:nobodyさん
08/02/06 12:14:44
>>205
クッキーに入れるなんて解決になってないよ・・・
珍妙としか言いようがない実装

208:nobodyさん
08/02/06 12:20:16
一方、railsは2.0からデフォルトで
cookieにセッション情報を格納するようにした

209:nobodyさん
08/02/06 12:32:09
まじで?

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

211:nobodyさん
08/02/06 13:21:01 BSm5jPk+
>digestを検証して信用できるかどうかを調べてOKなら受け入れる

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

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

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

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

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

215:nobodyさん
08/02/06 15:48:02
>>207
CIもただCookieに単純に入れてOKとしてるわけじゃなかったと思うよ。
セッションの信頼性のチェックとかしてたと思う。

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

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

217:nobodyさん
08/02/06 15:58:42
>>212
だからそういう携帯や4k超えるような
でかいセッションファイル抱えるような場合は
ファイルやDBのセッション使えばいいって事

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

218:nobodyさん
08/02/06 21:34:26
kohanaってもう実用レベルに達してるの?

219:nobodyさん
08/02/06 21:37:08
URLリンク(kohanaphp.com)
コハナじゃなくてクワナって言ってるな

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

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

222:nobodyさん
08/02/07 06:38:42
URLリンク(d.hatena.ne.jp)
ciの本が出るらしい
売れるのかな…?
個人的には好きだが

223:nobodyさん
08/02/07 19:12:59
例外投げてもほったらかしじゃん
PHP4なんて脂肪してんのに
ハンドリングするのエラーだけってどんだけ~

224:nobodyさん
08/02/07 19:50:59
例外ハンドリングしてエラー投げ直すようにした(´~` )ウーン

225:nobodyさん
08/03/03 23:43:59
attachementのform mail、どうやってこさえてます?
なんだかんだ、uploadして一時ファイルをattacheさせてるんだけど。
もっといい方法ない?

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

227:nobodyさん
08/03/05 17:13:22
cookieをやり取りする為の
データ転送量が増えるけどな。

228:nobodyさん
08/03/05 18:16:46
でも携帯と別処理にしたら汚くならないか?

229:nobodyさん
08/03/16 12:08:31 pwsdbwjT
age

230:nobodyさん
08/03/16 12:33:46
流行ってないね

231:nobodyさん
08/03/20 22:08:46
CIの本っていつでるんだ?春にでるみたいだけど心待ちにしてる。

232:nobodyさん
08/03/20 23:58:19
>>231
オンラインマニュアルに載ってる事に補足を加えてウダウダ書いてるだけ

233:nobodyさん
08/03/21 01:05:34
まあオンラインマニュアル充実してるし、
機能もシンプルだしねぇ

234:nobodyさん
08/03/21 04:14:05
でもなぁ。MVCで一番重要なモデルが軽視されているからなぁ。
まあ小規模向けだね。

235:nobodyさん
08/03/21 12:34:00
???
どのあたりでモデルが軽視されていると思ったの?

236:nobodyさん
08/03/21 18:23:01
必須じゃないってとこじゃない?
わからんけど

237:nobodyさん
08/03/22 00:16:05
安定版にならないとあんまり使う気にならないんだよなあ。
VerUPが頻繁だと遊ぶ分には楽しいけど実務じゃちょっと。

238:nobodyさん
08/03/22 00:16:56
今でも結構安定してね?

239:nobodyさん
08/03/22 00:37:50
scaffoldingが動かないのに安定板?

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


241:nobodyさん
08/03/23 16:49:33
>>240
リリースの頻度で安定している、していないを判定しているやつは素人
中身で判断しろ

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

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

243:nobodyさん
08/03/24 14:41:00
>あまりにも更新が頻繁=すぐ修正されるような問題点がまだまだある

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

244:nobodyさん
08/03/25 00:17:57
>>242
オマエこそもう少し文章の書き方を考えたら?w

245:nobodyさん
08/03/25 00:28:01
ペチパーの質を物語っていますね。とか言われるぞ。
もうちょっと温厚になれないのか。

246:nobodyさん
08/03/25 00:45:11
ぺちぱーだもの
   みつを

247:nobodyさん
08/03/28 15:03:32
静かなこのスレが更新されていた!
と見に来たあなた。

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

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

248:nobodyさん
08/03/29 03:13:12
いくつかご相談

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

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

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


249:nobodyさん
08/03/30 04:44:30
>>248

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

に1票

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

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


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

252:nobodyさん
08/04/08 00:06:53
>>251
>>正社員の中にもサービス残業が嫌だなどという甘え

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

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

253:nobodyさん
08/04/08 01:34:23
SPAMにマジレスww

254:nobodyさん
08/04/08 15:00:18 ozdPGPdu
kohanaPHPのValidationライブラリを強引に移植してみました。

URLリンク(oro9.thick.jp)

255:nobodyさん
08/04/11 11:12:15 YKNdPaTr
もうそろそろ本が出るかな?

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

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

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

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


259:258
08/04/13 20:49:43
うーん、ユーザーガイド読んだ感想だけど、
なんかCIのActiveRecordって変、
ていうかActiveRecordとはいえないような気がする。
ただのGatewayにしか見えない

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

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

261:nobodyさん
08/04/14 00:46:07
>>259

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

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

・テンプレ
PHPTAL使ってる


262:261
08/04/14 00:58:00
>>259

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

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


263:259
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がなくなってね?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch