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/ 小回りの利くフレームワークの話題をひとつ!
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/ でアクセスできるようにすると、動かないのですかね・・・
474 名前:nobodyさん mailto:sage [2008/11/30(日) 21:27:31 ID:???] PHP5.0+MySQL4.0で、CI1.6.3だとDBのエラーが出ますね。 >クライアント接続文字エンコードを設定できませんでした 検索したら対策がヒット ttp://manno.jugem.jp/?eid=500 system/database/DB_driver.php の 178〜188 をコメントアウト(強引にTRUEを返す)したらとりあえず動いた。 ttp://blog.livedoor.jp/dango22/archives/51056076.html /system/database/DB_driver.php // 178行目からコメントアウト CodeIgniter入門6章の機能拡張の方法のように、元のファイルを変更しないで、自分で別ファイルを用意して、 /system/database/DB_driver.phpを継承する方法で対応できないでしょうか? 用意されたDBがMySQL4.0で変更できないので、とりあえずこの方法で乗り切る予定ですが^^
475 名前:nobodyさん mailto:sage [2008/11/30(日) 21:35:36 ID:???] 呼び出されたコントローラーとメソッド名取得することって出来ませんかね。
476 名前:nobodyさん [2008/12/01(月) 13:31:05 ID:4yAH9v9b] >>475 URIクラスを使えばOK? codeigniter.jp/user_guide_ja/libraries/uri.html URIセグメントの文字列は、URIクラスにより配列にセットされます。 segment_array()メソッドを使うことで、この配列にアクセスできます。
477 名前:nobodyさん [2008/12/09(火) 14:53:50 ID:3E19WexF] Rapyd使っている人いる? 貧弱なCRUDを補おうと思って使ってみようとしたんだけど、 公式ページのdocumentaionみても全然情報がなくて困ってる・・・ Rapyd: Minimalistic, Open source, Secure, and Small PHP 5 Framework www.rapyd.com/
478 名前:nobodyさん mailto:sage [2008/12/17(水) 20:08:15 ID:???] >>475 いまさらだが $this->CI =& get_instance(); $this->CI ->router->fetch_class(); $this->CI ->router->fetch_method(); でもできるみたい。 コントローラやモデル内なら $this->router->fetch_class(); でアクセス可
479 名前:nobodyさん [2008/12/19(金) 18:01:27 ID:egThtXwj] みなさんログイン認証は何つかってますか? >>10 にある、UserAuth? それとも、FreakAuth_lightでしょうか? simpleloginはさすがに機能がなさ過ぎる感・・・
480 名前:nobodyさん mailto:sage [2008/12/19(金) 19:09:31 ID:???] >>479 自前です。MY_Contoroller作る方法で。
481 名前:nobodyさん [2008/12/19(金) 20:16:08 ID:f2L1j1eM] >>480 同じく。それが安心だね。掛け忘れもおきないし。
482 名前:nobodyさん mailto:sage [2008/12/20(土) 23:58:43 ID:???] >>479 私も最近、ログイン認証のやり方をどうしたらいいか悩みました。 (1)CodeIgniter徹底入門で紹介されていたsimplelogin (2)もうちょっと高機能なFreakAuth等のライブラリ (3)自作のMY_Controllerクラスの用意 (2)はまだ試してないけど、今のところ(3)でやってます。 <参考になったサイト> * LinuxなWEBデザイナーの覚書き。 | CodeIgniterでユーザー認証 php-sql-gdgd.jugem.jp/?eid=56 (↑if($this->session->userdata('next'))は、if(!〜)の間違いかな?) * CodeIgniterで管理ページを作成する dxd8.com/archives/142/ * 日本CodeIgniterユーザ会 - シンプルな認証 codeigniter.jp/archives/92 * CI:ユーザー認証 o2studio.blog81.fc2.com/blog-entry-306.html
483 名前:nobodyさん mailto:sage [2008/12/22(月) 20:02:23 ID:???] みなさんありがとう。 MY_Controllerでログイン処理を自前実装?ということでしょうか? 私はリマインダーとかアカウント管理画面を1からは作るの面倒だなーと思ったので、 (というか今の案件で時間がないw) はてなダイアリーで FreakAuth_light を入れてみた人のを参考にして、 それを試してみています。
484 名前:nobodyさん mailto:sage [2008/12/22(月) 22:43:33 ID:???] ログイン認証のライブラリについてですが、 CIのMLで紹介されていたDX Authは、今度試してみたいです^^ dexcell.shinsengumiteam.com/dx_auth/
485 名前:nobodyさん mailto:sage [2008/12/23(火) 14:50:17 ID:???] >>484 CL_Authの派生版なんですね。 FreakAuth_light 入れようとしたら、結局 1.7.0 だと改造必要なので困ってしまいました。 DX Auth は1.7.0対応してるみたいなのでよいですね。
486 名前:nobodyさん mailto:sage [2008/12/23(火) 19:30:01 ID:???] Using Zend_Acl with CodeIgniter ttp://devzone.zend.com/article/4115-Using-Zend_Acl-with-CodeIgniter
487 名前:nobodyさん mailto:sage [2008/12/26(金) 06:39:47 ID:???] 簡単な認証なら自作した方が早いよ。
488 名前:nobodyさん mailto:sage [2008/12/29(月) 00:23:40 ID:???] 1.7のドキュメント日本語化、がんばってください。 他力本願で申し訳ないけど、早く日本語で読みたいw 翻訳作業に限らず、ユーザ会の皆さんには本当に感謝!
489 名前:nobodyさん mailto:sage [2008/12/29(月) 01:22:24 ID:???] 口語訳→ 「ドキュメントマダー? 俺のためにみんな頑張れ」
490 名前:488 [2008/12/29(月) 12:21:19 ID:L94/Z1Ym] >>489 はい、そのとーりですw 100点!
491 名前:nobodyさん mailto:sage [2008/12/29(月) 15:23:16 ID:???] 英語できないなら冗談抜きでプログラマにならないほうがいいと思うよ。
492 名前:nobodyさん mailto:sage [2008/12/29(月) 20:26:52 ID:???] まず先にver1.6.3の日本語ドキュメントを読んでおけば、 そのあと英語のドキュメントを読んでも理解しやすいよね? CodeIgniterと英語の勉強になれば一石二鳥だ!
493 名前:みなさん来年も良いお年を! mailto:sage [2008/12/29(月) 20:31:46 ID:???] 翻訳してくれた方々には感謝してます。 おかげでCodeIgniterの学習コストが少しで済んだ。 本も買って、何度も読み返している。 WEBアプリを作るのが楽しいと思える今日この頃。 今もプログラミングしてるし。^^ CodeIgniter日本語版のおかげで、デスマの日々を過ごしたトラウマから立ち直れそうです。(・∀・)
494 名前:nobodyさん mailto:sage [2009/01/15(木) 21:00:02 ID:???] web関係やったことなかた、俺には本は正直かなりよかった。 願わくば 1.7 の差分を公開を! 今は、Form ValidationやDBのセッション使うみたいだしね
495 名前:nobodyさん mailto:sage [2009/01/15(木) 21:02:33 ID:???] Form Validationの質問を1つしていいですか? Validation後の値をとるときってどうすればいいんですかね? DX_authとか見てるとプログラム中で(controller/auth.phpとかで) set_value() 使っているんだけど、メソッド名的になんか変なんですが、こんなもんでしょうか? フォーラムとか見ると、 $this->input->post('mage'); 使えってあったけど、これって直接入れた値なんじゃないのかな?不安なんですが・・
496 名前:nobodyさん mailto:sage [2009/01/15(木) 22:08:30 ID:???] Validationは基本的に正しい値かどうかをチェックする機能だから、データの修正は別に行うものだと思いますよ。
497 名前:nobodyさん mailto:sage [2009/01/15(木) 22:25:21 ID:???] >>495 たぶん、サニタイズ?とごっちゃになってるんだろうなー というか、入力データをとりあえず変換するっていう発想はなかなかなくならないのな。 実際、入力値を変換するっていう処理が本当に必要なのは文字コードの変換くらいだろうと 思うんだが・・・ どうも質問で想定されてるのが、例えば数字・記号の全角半角変換や検索キーワードの 平仮名←→カタカナ変換等の親切処理とか、メール送信等を考えての半角カナ・機種依存 文字や絵文字などを置換・削除する処理などではない雰囲気なのが、なんだかなあ
498 名前:nobodyさん mailto:sage [2009/01/15(木) 22:45:47 ID:???] >>495 form_validation->run実行してtrueだったらvalidationを通った値ということなので、そのまま$this->input->post使えばいいと思うよ。 それでも心配なら自分でコード書いてテストすればよろし。 という話だと解釈したんだが間違ってたらすまん。
499 名前:495 mailto:sage [2009/01/18(日) 15:11:26 ID:???] あああ、そうか理解した。 Validateつまり検証するだけだから、検証にパス(runでTRUEが返る)したら、 その時点でOKだから、input->post使えばいいのか。 修正とか変換するわけではないのね・・・。 set_value() はviewのformに前の入力値をデフォルト表示するためのものだから、 そう使うべきのもの。
500 名前:nobodyさん mailto:sage [2009/01/19(月) 18:08:58 ID:???] >>499 でもよい子のみんなは、"出力の時"には変換しようね! お兄さんとの約束だ!
501 名前:nobodyさん mailto:sage [2009/01/19(月) 21:52:16 ID:???] >>600 いやあ、指南役のお兄さん頼もしいわ。 ほれた
502 名前:nobodyさん mailto:sage [2009/01/20(火) 14:45:10 ID:???] Active Recordについて少し質問です。 updateメソッドを、事前のwhereなしで呼ぶとテーブル内のデータを全部更新してしまって、 アボンしますよね? これ、よくやらかしてしまうのですが、よい回避方法ないでしょうか? マニュアル見ると、 $this->db->update('mytable', $data, "id = 4"); みたいに、引数でwhereを追加するように決めてしまえばいいのですが、 うっかり引数を省略すると、アボンしてしまいます。 引数省略しないようないい方法ないですかね?
503 名前:nobodyさん mailto:sage [2009/01/20(火) 18:20:44 ID:???] まじすか
504 名前:nobodyさん mailto:sage [2009/01/20(火) 19:23:54 ID:???] >>502 ActiveRecordの使い方としてそれはどうなんだ find()で取ってきたものをupdate()なら、そうはならんのでは? と、CIを使ったことのない俺が書いてみる
505 名前:502 mailto:sage [2009/01/21(水) 10:29:58 ID:???] >>504 私の場合、すでにあったら上書き、なかったらinsertという風な処理を書いていたのですが、 たまに、insert()をupdate()に置き換えただけで実行してしまい、テーブルごとアボンしてしまうのです。 まあ、アフォといえばアフォなのですがw 普通は >>504 の意図するように、get_where()->result(); なりしてupdateしたいidを得て、 そのidをupdateにつっこむもんですよね・・・。
506 名前:nobodyさん mailto:sage [2009/01/21(水) 23:55:24 ID:???] ciのActiveRecordって、save()でidがあればupdate, なければinsertって判断しないのか・・・ リファレンス見たけど、SQLが透けて見えそうな薄い実装だね。だから速いんだろうけど。 >>502 常にwhere()呼んだら駄目か?insert()なら無視してくれない? すごく間抜けに見えるだろうけど。 あるいは、ラッパーかぶせてidを指定しないupdate()を隠すとか。 もしくは配列からidをとって勝手にwhereに入れるupdate()ラッパーを書くとか。
507 名前:nobodyさん mailto:sage [2009/02/02(月) 17:00:10 ID:???] 1.7ドキュメントの翻訳作業が進んでいるみたいですね。 lists.sourceforge.jp/mailman/archives/codeigniter-users/2009-February/001699.html 俺も手伝いたいんだが、こういのっていきなり着手しちゃっていいもんなのかな? 皆さんの訳がとても上手いので、なんか気が引けてしまう。
508 名前:nobodyさん [2009/02/03(火) 00:20:37 ID:U0x1Z73i] おっと、ちいたんの悪口はそこまでだ。
509 名前:nobodyさん mailto:sage [2009/02/03(火) 01:44:51 ID:???] >>507 翻訳してる人乙です。 俺もちょっとくらいオープンソースに関わってみたいな…なんて思ってる^^
510 名前:nobodyさん mailto:sage [2009/02/11(水) 12:25:10 ID:???] 1.7.1
511 名前:nobodyさん [2009/02/11(水) 13:34:24 ID:632VXucI] sessionで簡単なユーザ認証を作ってるんですが 最後ログアウト時に $this->session->sess_destroy(); でセッションを破棄してるんですが ブラウザの戻るボタンを押すと 破棄する前のページが表示されてしまいます。 読み込み直すと会員ページは表示されずキチンと動作します。 戻るボタンを押しても会員ページが表示されないようにするには どうしたらいいですか? すいませんがアドバイスよろしくお願いします。
512 名前:nobodyさん mailto:sage [2009/02/11(水) 13:41:31 ID:???] >>511 デフォ(コントローラのコンストラクタ等)でno-cacheにしとくのではだめなん?
513 名前:nobodyさん mailto:sage [2009/02/11(水) 14:15:46 ID:???] >>512 アドバイスありがとうございます。 デフォというのは $this->output->set_header();で設定するという事ですかね。 今からマニュアル見てやってみます!
514 名前:nobodyさん [2009/02/12(木) 20:18:30 ID:RECSJFEg] ちょいとお聞きしたいのですが、view内で冗長性のある部分を関数化しているのですが、 関数 (function)を定義した中だと、viewに渡した変数が使えません orz 例えば、 controller側: $this->data["hage"] = "mage"; $this->header = $this->load->view('hoge_view', $this->data, TRUE); view側: function show_mage($title) { echo "<h1>$title<h1>"; echo $mage; // エラー:Undefined variaぶる } show_mage("mage 1"); show_mage("mage 2"); show_mage("mage special"); view内ではfunctionは使わないものなのでしょうか? HTMLが絡む表示部分はなるべくcontroller じゃなくて、view側に入れたいので、 view側で処理したいものなのですが・・・
515 名前:nobodyさん mailto:sage [2009/02/12(木) 21:08:20 ID:???] >>514 CIだとかフレームワークだとか言う以前の問題として、少なくともPHPの基本を覚えるべきかと。 ○ show_mage 内の $mage ってどこから出てきたのでしょうか。 ○ ↑が $hage のタイポとして、関数内から外部の変数をそのまま参照することはできません。 CIのviewをデフォルトで使ったことが無いので確実ではないですが、show_mage関数内で global $hage; とかやってみてはどうでしょうか。 あと、viewファイル内で関数を定義するというのも、それがview関連処理だったとしても、 コーディングとしてどうかと思います。まあこれは異論もあるかもですが。 view ヘルパーや部分テンプレートとして切り出すことも可能な場合も多いかと。
516 名前:514 mailto:sage [2009/02/12(木) 23:38:27 ID:???] >>515 ごめん。最小限のコードに直して書こうとしてtypoした。 $mageでなく、$hageです。 globalではダメでした。 view内functionの扱いはどうなってるんだろ?グローバル関数になるんだろうか。 > あと、viewファイル内で関数を定義するというのも、それがview関連処理だったとしても、 > コーディングとしてどうかと思います。まあこれは異論もあるかもですが。 そんなもんなんでしょうか?MVCフレームワークは不慣れな門で・・・ viewは見栄えを定義するもんだと思ってました。 viewは変数付きHTMLにちかく、ロジックが含まれるなら ヘルパーとかのライブラリ側や別のテンプレートにもっていく、ということなんでしょうか? というか、CodeIgniterというよりもMVC一般論の話になりますね
517 名前:nobodyさん mailto:sage [2009/02/13(金) 00:25:52 ID:???] 別にviewにfunction置いても良いと思うけど、viewの可読性を落とさないためにhelperがあるんだから、 使えるならhelper定義すればいい。 その場限りならviewでも良いんじゃないの? $hogeはshow_mage($title, $hoge)って引数に渡さないと駄目だろ。 functionが呼び出された時点でスコープが変わるんだから。他所のローカル変数は見えない。 話は変わるけど、誰かODBCの設定database.phpにどう書くか教えてくれない?
518 名前:514 mailto:sage [2009/02/14(土) 14:38:53 ID:???] >>517 ありがとう。とりあえずは引数に渡していけました。 helperも使ってみます。
519 名前:nobodyさん mailto:sage [2009/02/15(日) 14:39:09 ID:???] >>516 viewファイルで関数定義ってことは、結局クラスメソッド内で関数定義するのと同じ、なのかな class Hoge { function say() { echo "hoge\n"; function say_page() { echo "page\n"; } say_page(); } } $c = new Hoge(); $c->say(); #=> "hoge\npage\n" say_page(); #=> "page\n" say(); #=> (Fatal error) なにこのPHPの仕様。関数の中で関数を定義するとグローバル関数になるのかな? まあ名前がかぶったらFatal errorになるだろうけど、気持ち悪いのでできるだけviewで ごにょごにょしない方がいいような。 だれか詳しい人解説してくれないかな・・・
520 名前:nobodyさん mailto:sage [2009/02/15(日) 19:37:53 ID:???] viewがクラスだと思ってないか?ありゃただのスクリプトだ。 JSPやASPみたいにクラス定義と一体化してるわけじゃない。 PHPではclassと明示しない限り、上から順番に処理される。関数はクラス内ならメソッド、そうでなきゃグローバル。
521 名前:nobodyさん mailto:sage [2009/02/15(日) 20:22:34 ID:???] >>520 その「ただのスクリプト」がどう実行されているか、ってのを問題にしてるわけなので。 脊髄反射いくない。
522 名前:nobodyさん mailto:sage [2009/02/16(月) 00:01:29 ID:???] ユーザガイド見てくるといいと思うよ。
523 名前:nobodyさん mailto:sage [2009/02/16(月) 00:31:53 ID:???] >>522 ユーザガイドにそんな記述あるの? ソース見てみたので一応書いてみる。Kohanaだけどw ・標準のviewは CI_Loader::view メソッドで表示処理? ・そこから呼び出される _ci_loadメソッドでob_startされた後 echo eval( ごにょごにょ file_get_contents(〜〜) ) もしくは include(〜〜) ・んで結果をreturn もしくは $OUT->output() この仕組みなら、viewファイル内での関数定義は、CI_Lorder::_ci_loadメソッド内で 関数定義するのと同等かな。だから、同じテンプレートを2回読み込むと、多分Fatal Error どこまでCIの現行バージョンで一緒か知らんし、実際に動かして確認してないので大嘘かも。 また、PHPで関数内で関数が定義できることやその動作については ml.php.gr.jp/pipermail/php-users/2005-June/026279.html ← このツリーを ml.php.gr.jp/pipermail/php-users/2005-June/026322.html ← この辺まで読んで納得。 PHP5でも仕様はこの当時のままっぽい? 以上、適当で嘘くさいので、間違ってたら誰か教えて・・・
524 名前:nobodyさん mailto:sage [2009/02/16(月) 13:51:05 ID:???] remapに関して質問です。 remapした場合関数の引数に当たる部分はuri->segment以外で とる方法はないのでしょうか? サイトに載っている例では function _remap($method) { if ($method == 'some_method') { $this->$method(); } else { $this->default_method(); } } となっていて、引数部分がありませんよね。 現状switchで$methodの内容からsegmentで値引っ張って回してますが、 もうちょっとスマートな書き方はない物ですかね・・・
525 名前:nobodyさん mailto:sage [2009/02/16(月) 14:47:15 ID:???] 興味ないだろうけどオレ流_remap function _remap($method) { if (method_exists($this, $method)) { call_user_func_array(array(&$this, $method), array_slice($this->uri->rsegments, 2)); } else if (method_exists($this, $method.'_')) { call_user_func_array(array(&$this, $method.'_'), array_slice($this->uri->rsegments, 2)); } else { call_user_func_array(array(&$this, 'index'), array_slice($this->uri->rsegments, 1)); } } なんでこうなったか忘れたけど、これ書いたとき結構調べたから $this->uri->からとってくる以外ないと信じたい。
526 名前:nobodyさん mailto:sage [2009/02/19(木) 14:54:17 ID:???] Kohanaスレないので近縁のこちらで質問させてください。 ファイルアップロードについてなんだが、 コントローラ/モデル/ビュー内で$_FILES受け取れないのは仕様? ◆ちなみにフォームはこんな感じ <form method="post" action="/admin/update/" enctype="multipart/form-data"> <input type="text" name="name" /> <input type="file" name="photo" /> <input type="submit" name="submit" value="アップロード" /> </form> ◆Controller/admin.phpはこんな感じ public function update(){ print_r($_POST); // 正常に出力 print_r($_FILES); // 空のArrayが出力される print_r($_FILES["photo"]); // エラー「Undefined index: photo」 } Kohanaフォーラムだと$_FILESで動いている投稿はあるんだけどなぁ。 完全手詰まりしてしまった。
527 名前:526 mailto:sage [2009/02/19(木) 15:42:52 ID:???] うんこでした。 先ほどペーストしたコードで気づきました。 enctypeの直前スペースが全角でした。 うんこでした。 うんこでした。スレ汚しサーセンorz
528 名前:nobodyさん mailto:sage [2009/02/20(金) 14:07:46 ID:???] ここでうんこ禁止! ケツの穴にコルク栓をしておこう^^
529 名前:nobodyさん mailto:sage [2009/02/20(金) 15:01:30 ID:???] あの、「コードイグニッター」って読んでたんですけど・・・
530 名前:nobodyさん mailto:sage [2009/02/20(金) 15:21:31 ID:???] >>528 「イグニッション!」(点火!) シュポーーーン!!
531 名前:528 mailto:sage [2009/02/22(日) 20:33:01 ID:???] 念のため、元ネタはマカロニほうれん荘です^^
532 名前:nobodyさん mailto:sage [2009/02/27(金) 20:37:16 ID:???] これってクッキー以外のセッション使うにはどうすればいいの? ZFのセッションとか使うようにできますか?
533 名前:nobodyさん mailto:sage [2009/02/27(金) 20:52:19 ID:???] >>532 これ ttp://codeigniter.com/wiki/Native_session/ 使うかZendのセッションライブラリをapplication/librariesにおいて使えばおk
534 名前:nobodyさん mailto:sage [2009/02/27(金) 21:05:04 ID:???] >>533 迅速なレスありがとうございます!助かりました。
535 名前:nobodyさん mailto:sage [2009/03/01(日) 10:39:27 ID:???] モデルクラスの命名規則なんですが、コントローラークラスと同じ名前にするとエラーになりますか? Fatal error: Cannot redeclare class Bbs in /usr/local/www/htdocs/.../system/application/models/bbs.php on line 100
536 名前:535 mailto:sage [2009/03/01(日) 10:40:15 ID:???] (例)掲示板のコントローラークラス <?php class Bbs extends Controller { //コンストラクタ function Bbs() { parent::Controller(); $this->load->model('bbs');//bbsのモデル読み込み } //トップページ function index() { echo "bbs menu"; } //タイトル表示 function title() { echo $this->bbs->get_title(); } } ?>
537 名前:535 mailto:sage [2009/03/01(日) 10:41:07 ID:???] (例)掲示板のモデルクラス <?php class Bbs extends Model { //コンストラクタ function Bbs() { parent::Model(); $this->load->database(); } //タイトル取得 function get_title() { $query = $this->db->get('bbs'); return $query->result_array(); } } ?>
538 名前:535 mailto:sage [2009/03/01(日) 10:46:22 ID:???] コントローラークラスですでに「Bbs」というクラス名を使用していると、 モデルクラス名として「Bbs」は使えないということでしょうか? =Bbsというコントローラーの中で、Bbsというモデルを使うことができない? みなさんは、モデルクラス名を付けるとき、どうしてますか? =モデルを使うコントローラーのクラス名を重複しないように命名しないとダメなの? 「Bbs_model」とかだと、なんか長ったらしい><
539 名前:【裂く裸ノ雨】初音ミク虐待スレ [2009/03/01(日) 10:50:35 ID:fSY3QkVN] 最近無いのでたてました。
540 名前:nobodyさん mailto:sage [2009/03/01(日) 10:51:05 ID:???] すまん、誤爆したw
541 名前:nobodyさん mailto:sage [2009/03/01(日) 13:57:56 ID:???] CodeIgniterちょっと触ってみた。 チュートリアルやったんだけど、この後は何をすべきなんだろうか。 徹底入門って本どう?役に立ちます?
542 名前:nobodyさん mailto:sage [2009/03/01(日) 14:09:29 ID:???] >>541 掲示板でも作ってみればいいのではないかと。 って10年前から同じ事言われてる様な気もする
543 名前:nobodyさん mailto:sage [2009/03/01(日) 20:30:49 ID:???] CIもcakeぐらいのフォーラムに成長して欲しいなあ・・・。
544 名前:nobodyさん mailto:sage [2009/03/02(月) 00:25:39 ID:???] CIでシェルスクリプトを使いたいのだが、どうやればいいのでしょうか。
545 名前:nobodyさん mailto:sage [2009/03/02(月) 00:29:17 ID:???] >>541 最初はオンラインのリファレンスを見てやってたけど、全体を俯瞰するのにページの切り替えが面倒に感じた 徹底入門はオフラインでどんどん読み進めるので役に立ったよ 最初慣れるまでリファレンスとして首っ引き ActiveRecordクラスのメソッド名や、よく使うヘルパー関数を覚えたら、あとはほとんど見なくてもアプリを作れるようになった 時給1000円としても3時間分程度のコスト CIで生産性アップしたらすぐに元は取れるし、本は読み終わったら売り払えばOK 最近買った本の中では元が取れた1冊だったと思います
546 名前:nobodyさん mailto:sage [2009/03/02(月) 00:31:56 ID:???] 徹底入門で物足りないのは、ログイン認証の作り方 あと携帯のセッション管理かな この二つはネットで検索してフォローしました (このスレの情報も役に立ちました^^)
547 名前:nobodyさん mailto:sage [2009/03/02(月) 00:34:43 ID:???] >>541 ちょっとしたWEBアプリを作っているんですが、一緒に作ってみませんか? =2chの過去ログを保存するWEBアプリです。 DATファイルからHTMLページを作成する機能をこれから作る予定なんですが、良かったらアドバイスとか勉強の材料にでも