[PHP][フレームワーク]CodeIgniterスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/04/27(金) 23:17:16ID:???チュートリアル:http://codeigniter.com/tutorials/
ユーザガイド日本語訳:http://ci-user-guide-ja.nought-point-999.net/
小回りの利くフレームワークの話題をひとつ!
0543nobodyさん
2009/03/01(日) 20:30:49ID:???0544nobodyさん
2009/03/02(月) 00:25:39ID:???0545nobodyさん
2009/03/02(月) 00:29:17ID:???最初はオンラインのリファレンスを見てやってたけど、全体を俯瞰するのにページの切り替えが面倒に感じた
徹底入門はオフラインでどんどん読み進めるので役に立ったよ
最初慣れるまでリファレンスとして首っ引き
ActiveRecordクラスのメソッド名や、よく使うヘルパー関数を覚えたら、あとはほとんど見なくてもアプリを作れるようになった
時給1000円としても3時間分程度のコスト
CIで生産性アップしたらすぐに元は取れるし、本は読み終わったら売り払えばOK
最近買った本の中では元が取れた1冊だったと思います
0546nobodyさん
2009/03/02(月) 00:31:56ID:???あと携帯のセッション管理かな
この二つはネットで検索してフォローしました
(このスレの情報も役に立ちました^^)
0547nobodyさん
2009/03/02(月) 00:34:43ID:???ちょっとしたWEBアプリを作っているんですが、一緒に作ってみませんか?
=2chの過去ログを保存するWEBアプリです。
DATファイルからHTMLページを作成する機能をこれから作る予定なんですが、良かったらアドバイスとか勉強の材料にでも
0548nobodyさん
2009/03/02(月) 09:59:03ID:???今から始めるなら1.6とどっちがいいですか?
0549nobodyさん
2009/03/02(月) 10:55:51ID:???MLの方に 1.7の日本語化パックあったはず。完全じゃなかったとおもうけど
0550nobodyさん
2009/03/02(月) 13:52:32ID:???自分のアプリを作るときは1.7でやってます。
0552nobodyさん
2009/03/02(月) 19:18:28ID:???0554547
2009/03/03(火) 13:09:25ID:KbYnBJGq週末+αの4日くらいで作れた。
CIは便利!(・∀・)
0555nobodyさん
2009/03/03(火) 13:14:37ID:???1個だったら、POSTやGET(URLのセグメント)に入れて次ページに持ち越せると思うけど、
条件が複数個ある場合は、セッションに入れて持ち回りするのが楽ですかね?
条件をいったん配列に入れて、シリアライズして、エンコードして、無理矢理POSTやGETに埋め込むということもできるだろうけど、スゴク面倒くさそうです><
0556nobodyさん
2009/03/03(火) 14:43:08ID:???アドバイスありがとうございます。
検索項目が動的に増える作りなので、セッションにしようと思います。
もうひとつ質問なんですが、セッションの保存先をデータベースにした場合、
セッションテーブル内のデータはどのタイミングで破棄されるのでしょうか?
0557556
2009/03/03(火) 17:48:35ID:???お騒がせしました。
0558nobodyさん
2009/03/03(火) 22:28:40ID:???CodeIgniterのActiveRecord使った時に、SQL実行エラーが発生した場合の記述ってどうやるんでしょうか?
直書きのPHPだと以下のような記述ができるみたいなんですが・・・。
if (!$res = mysql_query($sql)) { //エラー処理 }
0559nobodyさん
2009/03/04(水) 12:21:43ID:???自己レス。
config.phpのdb_debugをFALSEにしたらエラー画面にリダイレクトしなくなりました。
が、エラーログも出力しなくなりました・・・。
運用時はこのDBデバッグ設定はOFFにするのが普通ですか?
0561nobodyさん
2009/03/18(水) 15:42:05ID:0CAtxxAV今ドライバに代わっちゃってるんだけど、俺なんか変なことしちゃってるんかな。
0562nobodyさん
2009/03/22(日) 16:03:22ID:???$_POST['name']を直接取得して、EUC-JPからUTF-8に変換すると、ちゃんと表示されます。
レンタルサーバで、標準の文字コードがEUC-JPです。
CIの文字コードはUTF-8を指定しています。
バリデーション以外は、特に文字化けしないんだけど、どうしたらいいでしょうか?
とりあえずなら、表示前にいったん文字コード変換すれば対応できるけど、こんなやり方はスマートじゃないですよね?><
0563nobodyさん
2009/03/22(日) 18:38:20ID:???0564nobodyさん
2009/03/27(金) 21:05:38ID:???どうもありがとうございます。
最初、.htaccessファイルをindex.phpがあるpublic_htmlフォルダにだけ置いていました。
CIが入っている別フォルダにも.htaccessを置いたら、文字コードを変えることができました。
まるっと解決!(・∀・)
0565564
2009/03/27(金) 21:11:08ID:???CIからお知らせメールを送信するとき、メールのsubjectが文字化けしていた。
.htaccessでinternel_encodingを変更するのは別に、文字コード指定の処理を入れたらメールの文字化けを回避できました。
↓↓↓
PHPのmb_encode_mimeheaderは事前にmb_internal_encodingが必要
http://www.akiyan.com/blog/archives/2006/03/phpmb_encode_mi.html
文字化けはもうイヤ><
0566nobodyさん
2009/04/08(水) 08:38:18ID:???0567nobodyさん
2009/04/10(金) 02:57:28ID:???今のところCIに落ち着いてます^^
次はkohanaかな?
0568nobodyさん
2009/04/10(金) 07:42:12ID:???0569nobodyさん
2009/04/10(金) 10:10:33ID:???0570nobodyさん
2009/04/10(金) 18:15:52ID:???0571nobodyさん
2009/04/10(金) 19:22:00ID:???趣味PGは無料PHPサーバでサコッとやる派の俺にはCIのほうが向いてる
業務だったらどうなるかは知らん
0572nobodyさん
2009/04/10(金) 22:57:20ID:???0573nobodyさん
2009/04/11(土) 06:45:27ID:???0574nobodyさん
2009/04/11(土) 10:02:49ID:???0575nobodyさん
2009/04/11(土) 12:36:26ID:???0576nobodyさん
2009/04/11(土) 13:00:06ID:???0577nobodyさん
2009/04/11(土) 14:24:33ID:???0578nobodyさん
2009/04/12(日) 17:02:08ID:???セッションは不評だし、
なんなのこれw
0579nobodyさん
2009/04/12(日) 17:04:06ID:???0580nobodyさん
2009/04/12(日) 22:51:09ID:???0581nobodyさん
2009/04/13(月) 07:37:14ID:???コンストラクタにでも以下を放り込めばいいw
$this->output->enable_profiler(TRUE);
俺は足りないから出力フックして、print_a(というライブラリがある)とかで任意にデータ構造を出力できるようにしたりしてた。
cakeのは俺は知らんのだけど、期待すると多分…
0582nobodyさん
2009/04/13(月) 07:52:00ID:???わざわざprintせんでも
0583nobodyさん
2009/04/13(月) 20:15:34ID:???一番余計なことをするFWはCI。
0584nobodyさん
2009/04/15(水) 16:53:53ID:???ドキュメントは英語だけど…(・∀・)
0585nobodyさん
2009/04/17(金) 22:01:40ID:???いや、CIのPHP4対応べったりにぶち切れて、Kohanaをメインに使って見てたんだが。
最近のCIのバージョンアップとか追いかけてないな・・・
なんだかんだ言って、CIの方が継続的に人がついてるわけだしなあ
CIがPHP4を切り捨てる方向性さえ出してくれれば、と切に思う。
0586nobodyさん
2009/04/18(土) 12:11:12ID:???0587nobodyさん
2009/04/18(土) 18:39:53ID:???0588nobodyさん
2009/04/18(土) 20:36:11ID:zinmsTt6PEARから追加してるんだけど、
ZFのを追加した方がいいの?
0589nobodyさん
2009/04/18(土) 23:45:48ID:???何もかも中途半端な感じがする。
0590nobodyさん
2009/04/19(日) 00:19:05ID:???CIも他のFWも使ったこと無いだろw
0592nobodyさん
2009/04/23(木) 19:07:21ID:???もしかして開発チームはユニットテストをしていないんでしょうか。
0593nobodyさん
2009/04/27(月) 09:06:35ID:???そもそも、CodeIgniter周りってテスト技法さっぱりわからん。
CodeIgniter流で言えば他のライブラリと組み合わせて使えということなのかもしれんけど
それにしても標準のユニットテストはオマケだよなw
0594nobodyさん
2009/04/27(月) 12:59:04ID:???ユニットテストって便利なんですか?
変数のプロファイリングは、echoやprint_rで十分なんで、Xdebugとか使ったことないです
PHPUnit3で始めるユニットテスト
http://gihyo.jp/dev/feature/01/php-test
…後で読んでみるか
0595nobodyさん
2009/04/27(月) 13:34:31ID:???うちは、TDD(Test Driven Developoment)でテスト書いてから実装してる
0596nobodyさん
2009/04/29(水) 12:02:37ID:SeoCUIVmユーティリティクラスで最適化とかしたいんですがどうしたらいいですか?
上手く言えないですが、
■ config/database.php
$db["default"]["database"] = "test1";
...
$db["my_db"]["database"] = "test2";
...
で、
$my_db = $this->load->database("my_db");
この$my_dbに対して、テーブルの最適化を行いたいです
普通に
$this->load->dbutil();
$this->dbutil->some_function();
だと、$db["default"]の接続設定先となるので困っています
0597nobodyさん
2009/04/29(水) 15:24:07ID:???単なる思い付きですが、DSN(データベース接続情報)を配列にして、条件によって、$db["default"]["database"]に代入する値を切り替えるという方法では無理でしょうか?
CIじゃないけど、複数のサーバを使用しているとき、サーバによって接続先DB変える方法をやったことがあるので、そのイメージで。
0598nobodyさん
2009/05/02(土) 00:31:30ID:???でいけるかも
0601nobodyさん
2009/05/13(水) 21:55:40ID:XGYdQTNGとかだと、正しく読み込んでくれず、404エラーが返されるけど、なんで?
0602nobodyさん
2009/05/13(水) 23:00:13ID:???configファイルの
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
でURLに使用可能な文字が制限されてる
ちなみに俺だったら
$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;
に設定して、
http://www.example.com/test/?method=http%3A%2F%2F2ch.net%2Findex.html
で対応する
0603nobodyさん
2009/05/14(木) 06:49:11ID:???Apache使えないサーバはわからんが。
0604nobodyさん
2009/05/15(金) 10:24:33ID:???> テスト書いてから実装
もう何万回説明したか分からんが、それはTDDではなくテストファーストだ。
wikipediaの説明が腐ってるのが定着しない原因かなぁ。
TDDでは、「テストが先にある」わけじゃない。
いや、確かにテストは先にあるんだが、長くとも1分後には対応するコードが存在する状態になっているのがTDD。
TDDでは「テスト記述(=仕様決定)とテスト実行、実装を同時進行で進める」がニュアンスとして正しい。
0605nobodyさん
2009/05/15(金) 10:26:37ID:???それを書かないとどう違うのか伝わらないと思う。頑張れ
0606595
2009/05/16(土) 09:15:49ID:???角谷氏のプレゼンとか記事とか見てるくらいだから俺は勘違いしているかもしれん。
TDDつーか、BDDなんだが、
考える→テストを書く(失敗)→実装を書く(テストを成功)→リファクタリング→最初に戻る、
という一連のイテレーションじゃないのかな?
なんにしろテストが先だろうと思うけど。
まずテスト書いてから、実装。
もちろん、実装がない状態でテストかけないなら、実装もやらないといけないけど。
0607nobodyさん
2009/05/16(土) 11:14:55ID:???TDDの場合、最初のテストは明らかに不十分なものから始まる
0608nobodyさん
2009/05/31(日) 01:08:41ID:nZt0u9JQどうするのが一番スマート?
0609nobodyさん
2009/05/31(日) 08:06:41ID:???0610nobodyさん
2009/05/31(日) 19:02:52ID:nZt0u9JQの存在チェックしてあるなら、
エラー用のCSSクラスを出力するようにしました。
CodeIgniter標準でやってくれればいいのに。
0611nobodyさん
2009/05/31(日) 19:06:33ID:ksNoV5PQそのくらいヘルパ関数作れと
0612nobodyさん
2009/05/31(日) 19:10:56ID:nZt0u9JQ誰にいってる?
0615nobodyさん
2009/06/01(月) 19:16:43ID:VRCsDIyG誰ににている?
0617nobodyさん
2009/06/06(土) 12:50:27ID:/u9OVmVhいや、それはないよ
0618nobodyさん
2009/06/09(火) 13:43:10ID:???↓こいつで指定されているやつは実行されるんですけど・・・。
system/application/config/routes.php。
config.phpの設定が何か足りないんだろうか。
0619nobodyさん
2009/06/09(火) 13:54:32ID:???/hoge/index.php/コントローラ
だと動くんですよね。
0620nobodyさん
2009/06/09(火) 14:00:23ID:???設置鯖はsakuraかxserverか?
CGI版PHPを使ってるならphp.iniでfixpathinfoを有効にしないとだめかも。
もしDSO版PHPでダメなんだったら、.htaccessの記述ミスの可能性大。
0621nobodyさん
2009/06/19(金) 16:04:41ID:???FreakAuth? PEAR Auth ? それとも Zend ?
0622nobodyさん
2009/06/19(金) 18:01:17ID:???native_session使って自前がいいよ。
「CodeIgniter 認証」とかでググるとサンプルがいっぱい出てくるよ
0623nobodyさん
2009/06/19(金) 18:09:27ID:???CSRF 対策も自作している人多いですね。
まー、楽しいですからね。うーん。
0624nobodyさん
2009/06/19(金) 22:52:01ID:???0626nobodyさん
2009/06/20(土) 12:17:20ID:???0627nobodyさん
2009/06/24(水) 17:18:45ID:???example.com/page/2
という URL で page コントローラに 1 や 2 の引数を取りたいのですが
config/routes.php の $route にどう書けばいいでしょうか。
$route['(.+)/(.+)'] = "$1/$2";
だと page コントローラの function 1() だし、
$route['(.+)/:any'] = "$1";
だと 1 や 2 単体で取得できなくて…。
( $_REQUEST['REQUEST_URI'] には page/1 みたいにはあるけれど )
0628nobodyさん
2009/06/24(水) 18:27:23ID:gwTYImb7or
$route['page/(.+)'] = "page/メソッド/$1";
0630nobodyさん
2009/06/30(火) 09:04:02ID:???FreakAuth使ってる
ただ、ユーザー登録のAPI呼ぶとき、ユーザーにメール飛ぶから注意しろよ。
開発中に100人以上の顧客にメールぶちまけたからなw
ソースあまり読まずに使った俺が悪いんだが
0632nobodyさん
2009/07/07(火) 13:16:25ID:???いちいちコントローラからビューに渡してあげないとダメ?
controller:
$this->load->helper('url');
$data['base_url'] = base_url();
$this->load->view('index',$data);
view:
<?php echo $base_url; ?>
0633nobodyさん
2009/07/07(火) 13:37:23ID:???0634nobodyさん
2009/07/07(火) 13:45:34ID:U3S+Yk0aでとれる
0635634
2009/07/07(火) 13:47:23ID:U3S+Yk0aその前に↓ね。
$this->load->helper('url');
0636nobodyさん
2009/07/07(火) 15:06:52ID:???$configで参照したり、ビューから直接base_url()を呼べるのね。
サンクス、勉強になった。
0637nobodyさん
2009/07/08(水) 16:27:42ID:???$this->db-> のはどうすれば継承できるでしょうか?
いくつかメソッドが追加したいのです。
0638nobodyさん
2009/07/08(水) 16:33:21ID:???$this->db->query() にいろいろと追加したいのです。
0639nobodyさん
2009/07/08(水) 16:36:22ID:???ヘルパー作って$this->dbを引数とする関数とかが無難かな?
0641nobodyさん
2009/07/09(木) 01:20:59ID:7LA+1qZQ■ このスレッドは過去ログ倉庫に格納されています