トップページphp
983コメント301KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/04/27(金) 23:17:16ID:???
公式:http://www.codeigniter.com/
チュートリアル:http://codeigniter.com/tutorials/

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

小回りの利くフレームワークの話題をひとつ!
0621nobodyさん2009/06/19(金) 16:04:41ID:???
認証は何が定番でしょうか?
FreakAuth? PEAR Auth ? それとも Zend ?
0622nobodyさん2009/06/19(金) 18:01:17ID:???
>>621
native_session使って自前がいいよ。
「CodeIgniter 認証」とかでググるとサンプルがいっぱい出てくるよ
0623nobodyさん2009/06/19(金) 18:09:27ID:???
認証の自作ですか。
CSRF 対策も自作している人多いですね。
まー、楽しいですからね。うーん。
0624nobodyさん2009/06/19(金) 22:52:01ID:???
今ならZFでいいんじゃないですか。pearは古いでしょ。
0625nobodyさん2009/06/20(土) 09:55:52ID:???
>>624
ありがとうござます。
0626nobodyさん2009/06/20(土) 12:17:20ID:???
DX Auth 使ってる。定番かどうかは知らん。
0627nobodyさん2009/06/24(水) 17:18:45ID:???
example.com/page/1
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:gwTYImb7
_remap
or
$route['page/(.+)'] = "page/メソッド/$1";
0629nobodyさん2009/06/24(水) 18:48:25ID:???
>>628
ありがとうございます。
なるほど、メソッドを書けばよかったのですね。

_remap は調べてみます。
0630nobodyさん2009/06/30(火) 09:04:02ID:???
>>621
FreakAuth使ってる

ただ、ユーザー登録のAPI呼ぶとき、ユーザーにメール飛ぶから注意しろよ。
開発中に100人以上の顧客にメールぶちまけたからなw
ソースあまり読まずに使った俺が悪いんだが
0631nobodyさん2009/06/30(火) 19:05:40ID:???
>>630
貴重な情報、どうもです!
0632nobodyさん2009/07/07(火) 13:16:25ID:???
ビューからbase_urlを参照するのって、
いちいちコントローラからビューに渡してあげないとダメ?

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:???
$this->config->config['base_url'] で Ok
0634nobodyさん2009/07/07(火) 13:45:34ID:U3S+Yk0a
base_url()
でとれる
06356342009/07/07(火) 13:47:23ID:U3S+Yk0a
途中で送っちゃった。
その前に↓ね。
$this->load->helper('url');
0636nobodyさん2009/07/07(火) 15:06:52ID:???
>>633-635
$configで参照したり、ビューから直接base_url()を呼べるのね。
サンクス、勉強になった。
0637nobodyさん2009/07/08(水) 16:27:42ID:???
system/libraries は application/libraries に My_ を置くことで継承できるけど、
$this->db-> のはどうすれば継承できるでしょうか?

いくつかメソッドが追加したいのです。
0638nobodyさん2009/07/08(水) 16:33:21ID:???
database/DB.php を見る限り不可能なんでしょうか。
$this->db->query() にいろいろと追加したいのです。
0639nobodyさん2009/07/08(水) 16:36:22ID:???
カスタマイズなしには出来なさそう
ヘルパー作って$this->dbを引数とする関数とかが無難かな?
0640nobodyさん2009/07/08(水) 16:42:26ID:???
>>639
なるほど!
ヘルパー利用するのいいですね。
ありがとうございます。
0641nobodyさん2009/07/09(木) 01:20:59ID:7LA+1qZQ
日本版サイトしんでるな
0642nobodyさん2009/07/13(月) 14:09:48ID:???
Windows+xamppの環境でメール送信しているのですが、
「451 See http://pobox.com/~djb/docs/smtplf.html.」で送信に失敗します。
間違いがあれば教えて下さい。

$this->load->library('email');
$config['protocol'] = 'smtp';
$config['smtp_host'] = '[SMTPサーバ]';
$config['smtp_user'] = '[ユーザ名]';
$config['smtp_pass'] = '[パスワード]';
$config['smtp_port'] = 587;
$this->email->initialize($config);
$this->email->from([メールアドレス]);
$this->email->to([メールアドレス]);
$this->email->subject('お問い合わせ');
$this->email->message('メッセージ');
if (!$this->email->send()) {
echo $this->email->print_debugger();
}
0643nobodyさん2009/07/13(月) 17:00:49ID:???
>>642
Qmailならこれを追加してみて。
$config['crlf'] = "\r\n";
$config['newline'] = "\n";
0644nobodyさん2009/07/22(水) 20:45:33ID:???
CI に DB の継承と、継承可能なビューがほしい><
0645nobodyさん2009/07/24(金) 01:07:54ID:???
>>644
つ Kohana
06466442009/07/24(金) 10:52:33ID:???
Kohana、心動かされる…。
Kohana 2.4 が出たら移植を検討してみる。
0647nobodyさん2009/07/29(水) 16:16:43ID:???
1.7.1 を使ってます。
ケータイで session 使いたいのですが、いいライブラリありませんか?

ttp://codeigniter.jp/archives/91
ttp://sourceforge.jp/projects/codeigniter/lists/archive/users/2008-January/000240.html

は古くて名前や構造が異なり、そのまま継承できなくって。
0648nobodyさん2009/08/02(日) 15:57:38ID:???
ra_sessionってやつがあったような。
ただHttpsがアレだった希ガス。

06496472009/08/03(月) 11:22:05ID:???
>>648
ありがと
0650nobodyさん2009/08/06(木) 17:01:14ID:???
Rapyd Frameworkなんだけど、これ、インスコ方法もろくに書いてないのな。
ぐぐるとCI1.5用のインスコ情報は出てくるんだけど、1.7はドキュメント無いの?
0651nobodyさん2009/08/06(木) 17:12:58ID:???
1.7てなんだ。
1.6だた。
0652nobodyさん2009/08/06(木) 17:36:06ID:???
失礼、rapydはCIのサポートをやめてたのね。が〜ん。
http://codeigniter.com/forums/viewthread/71419/
0653nobodyさん2009/08/26(水) 11:24:27ID:???
Kohana 2.3.4 の質問です。
あるライブラリを毎回読むにはどうすればいいでしょうか。
CI でいうところの autoload です。

ttp://blog.setunai.net/20080203/kohana%E3%81%AEautoload/

の方法は今のバージョンでは動かなくて。
0654nobodyさん2009/08/28(金) 03:55:27ID:???
>>653
KohanaはModel・Libraryの取り回し重視の設計思想、いわゆるautoloadは廃止の方向で動いてるね。

おれもKohana使いだけど、

・ちょこちょこ小技的につかうものはstaticな「Library」として用意
・controller内複数methodで使い回す「Model」があるなら、controllerのconstructorでpublicなオブジェクト変数へModel代入、同controller内で$this->objとかで使い回し
してる。

複数controllerで特定のModel使い回したいなら、MY_ControllerクラスでContorollerをextendsして、Model代入。

どですか。
06556532009/08/28(金) 10:47:51ID:???
>>654
ありがとうございます。
『staticな「Library」として用意』とは具体的にどういうことでしょうか。

Kohana が用意している session や、
自作ライブラリを読み込みたいのです。

# Kohana 3 が楽しみ。
0656nobodyさん2009/09/01(火) 16:58:23ID:???
フォームに name='hoge[moge]' とかの配列使いたい場合はValidationはどうすればいいんでしょうか?
0657nobodyさん2009/09/03(木) 06:30:29ID:4RGaiYfn
Kohana使い結構いるのかもしかして?

>>655
Moduleにしてconfigで設定すればよくね?
06586532009/09/03(木) 10:48:17ID:???
>>657
そういうことですか。ありがとうございます。
0659nobodyさん2009/09/04(金) 19:02:54ID:???
CIのコントローラ、モデルで共通に使いまわす機能を作ったとして、どこにおけば良いでしょうか?
自作ライブラリを作って、コントローラー、モデルから呼び出せば良いんでしょうか?
06606592009/09/04(金) 19:34:42ID:???
CI1.7.1で実験してみて、自作ライブラリの機能は、コントローラーからでも、モデルからでも呼び出して使えることが分かりました。
共通して使う機能は、自作ライブラリに入れてみます。

どうもありがとうございました。>>660
0661nobodyさん2009/09/05(土) 19:09:27ID:8sV7cZ1f
結局xss_cleanって何してる関数なの?
htmlspecialcharsじゃなんでいかんの?
0662nobodyさん2009/09/05(土) 23:30:12ID:38IFG8Qi
>>661
JSに罠がいっぱいあるから
0663nobodyさん2009/09/15(火) 16:59:10ID:???
1.7.2が出てるぽぃ。
0664nobodyさん2009/09/24(木) 07:16:33ID:???
2年で1スレも消費してないなんて
0665nobodyさん2009/09/24(木) 10:15:11ID:???
いいフレームワークだし、使ってる人はそれなりにいると思うんだけど、
初心者はこんなマイナーなの使わないだろうから質問が少ないんだろうな。
0666nobodyさん2009/09/24(木) 10:31:59ID:???
さらにマイナーなKohanaがv3.0公開

つってもDocs英語ですらまとまってない状態だけど。。
0667nobodyさん2009/09/24(木) 11:59:52ID:???
Kohana v3、ディレクトリ構成も随分と変わったなぁ。
もはや別物。
エラー画面でソースが出るのが便利。
0668nobodyさん2009/10/06(火) 12:00:18ID:o5fGVlDs
>>179
スコープ内でライブラリ呼ぶ限りは無問題
0669nobodyさん2009/10/08(木) 21:36:50ID:???
日本語サイトから1.7.1を落としたらsystemフォルダにほとんど
ファイルが入ってないけどこれって差分ファイル?
0670nobodyさん2009/10/09(金) 07:51:44ID:???
>>669
そら日本語のメッセージファイルじゃねえ?
本サイトから落とさないとダメかと。
0671nobodyさん2009/10/09(金) 09:41:50ID:pt4+2DyF
>665
質問しなきゃならないような、
使い勝手の悪さがないからねえ。


「専門家」はそれでは困るんだろうけど。
0672nobodyさん2009/10/09(金) 14:40:46ID:wOhLydxi
簡単すぎると質問がなくなって、スレがもりあがらなくて
廃れていくというのも何か悲しいもんだな。
0673nobodyさん2009/10/11(日) 02:46:39ID:SfXKxhoo
>>672
ダメなものの方がやり取りがあって盛り上がるってのもおかしな話なんだけどね。

俺はGentooにLighttpdにCIにPostgresql使ってる異端児だけど
こんな使いやすい組み合わせはないと思ってる。
泣き所は、問題が起こったとき、解決策を見つけにくいことだけど
問題そのものがあまり起こらないので、不便もあまりない。
でも、世のひとは解決策がたくさん検索できる、使いにくいシステムの方を好むらしい。
より多くの時間とお金をかけたい理由ってなんだろう?と考えてみたら
要はこういうことじゃないかという結論になった。
趣味は手がかかった方が楽しいからダメシステムがむいてる。
仕事なら、他人にはできなかったりめんどくさい方が自分のニッチを守りやすいから、
ある程度のダメシステムが都合がいい。
だからいいシステムは盛り上がらない。
そんな見方は穿ちすぎですか?

そういえば、qmailは秀逸でシェアが高いけど、
簡単すぎるのとマニュアルが必要十分なので、あまり盛り上がらない。
まあ、ダメシステムのsendmail派は、設定ファイルを共有できる
postfixを好むようだけど。
0674nobodyさん2009/10/12(月) 10:01:42ID:5Z3pkv5p
「codeigniter徹底入門」て本読んで試したみたけど、参考書として
あまりわかりやすくない。
もっとわかりやすい参考書がどんどん出てくれば日本で流行るのかも。

0675nobodyさん2009/10/12(月) 10:22:41ID:???
>>674
編集側がサボっている感じ。
はじめて本を書いた人ばかりのようだから
コードがページをまたがないようにとか、
もっとフォローをするべきだよなぁ。
0676nobodyさん2009/10/12(月) 17:27:37ID:dQEfU/HG
著者じゃないが、なんか済まない。
0677nobodyさん2009/10/12(月) 18:55:58ID:/S6pjLQj
>>676
なんで、謝るんだよw
0678nobodyさん2009/10/12(月) 18:58:53ID:???
アマゾンでは絶賛だったからちょっとこっち使ってみようかなと思ったりしてたけど・・・
CAKE入門中
0679nobodyさん2009/10/13(火) 08:49:30ID:nKWEiPKF
>>678
IBMのひとが書いてるオンライン記事がわかりやすいよ。
ひととおり読んだら概略がつかめる。
0680nobodyさん2009/10/13(火) 10:20:48ID:sLQo61tu
>>674
そう?一通りのことは書いてたのであれで十分かと思ったが。
著者にあったことあるけど、まじめそうな人ではあった
0681nobodyさん2009/10/13(火) 12:31:36ID:???
マトモだし分かりやすいと思ったけどな。
もっと分かりずらかったりと嘘ばっかの本なんて、いくらでもあるよ。
0682nobodyさん2009/10/13(火) 22:18:03ID:UwuOzcz/
>680

俺のスキルが低すぎるせいかな。

googleのトレンド検索で見ると良い傾向で増えてるね。

ttp://www.google.co.jp/trends?q=codeigniter%2Ccakephp%2Czendframework%2Csymfony&ctab=0&geo=all&date=all&sort=0

zendframeworkが低すぎる気がする
0683nobodyさん2009/10/13(火) 23:58:54ID:nKWEiPKF
ホームページでマニュアルを見ようとすると、
上の方からずりずりっと降りてくる感じになってるけど
あれはどうゆう技をつかってるのですか?
0684nobodyさん2009/10/14(水) 00:00:56ID:???
ajax
0685nobodyさん2009/10/14(水) 03:25:54ID:???
>>682
zend framework
   ↑
だから
0686nobodyさん2009/10/14(水) 04:13:48ID:???
>>684
ちゃんと意味分かってajaxって単語使ってる?
0687nobodyさん2009/10/14(水) 04:15:03ID:???
>>686
略さないで言えって言われたらよくわからんが・・・まぁだいたい
0688nobodyさん2009/10/14(水) 06:14:36ID:???
>>687
CIにそうゆう機能があるの?
0689nobodyさん2009/10/14(水) 07:15:01ID:???
>>688
さぁ・・・CIユーザーじゃないのでわかりません。
でもだいたいのframeworkにはあるんじゃないかな
0690nobodyさん2009/10/14(水) 07:49:01ID:???
ajaxなのか!と驚いてソースみたら違った。
0691nobodyさん2009/10/14(水) 10:23:41ID:???
ただのjsだな
0692nobodyさん2009/10/14(水) 10:55:58ID:???
でもかっこいいな。
0693nobodyさん2009/10/14(水) 11:18:28ID:t3/QQLCE
ajaxと只のjs4どう違んですか?
0694nobodyさん2009/10/14(水) 11:23:30ID:???
ググレカス
0695nobodyさん2009/10/14(水) 22:38:32ID:t3/QQLCE
ケチ
0696nobodyさん2009/10/15(木) 05:53:06ID:???
アシンクロナス
ジャバスクリプト
XML


要するに埋め込み画像の要領でXMLをとってくるわけだね?
0697nobodyさん2009/10/16(金) 09:04:01ID:oQRbn+uE
ほんっとに話題ないの〜
0698nobodyさん2009/10/18(日) 22:35:11ID:tagphLPV
アクティブレコードって使う?
クエリをそのまま書くのに比べてご利益があるようには思えないんだけど
デバッグしやすいとかあんのかな?
0699nobodyさん2009/10/18(日) 23:06:05ID:???
DBアクセスは結局どっかのクラスに隔離するわけで。
それを洗練させていった結果がああなる、というだけだろう。
俺もあまり使わないな、SQLがベタで書いてあったほうが分かりやすい。
0700nobodyさん2009/10/19(月) 10:13:06ID:???
以前見たソースで、アクティブレコードの記述の上に
SQLでコメントが書いてあったのを見たことがある。
全くもって意味無し。
0701nobodyさん2009/10/19(月) 10:45:46ID:9ICBcuC7
CIを使ったレイアウトについて質問があります。

header,
body,
footer

というレイアウトは簡単にできますが、

header
left center right
footer

というようなレイアウトを作るには
どうしたらよいのでしょうか。

ググレカスと言われそうですが、
どういうキーワードでググればいいのかも
見当がつかないで困っています。
よろしくお願いします。
0702nobodyさん2009/10/19(月) 10:55:53ID:???
float使え
0703nobodyさん2009/10/19(月) 11:17:37ID:???
助かりました。CSS の float 勉強してみます。
0704nobodyさん2009/10/23(金) 08:18:34ID:4xcNwzE4
質問です。


画像データから直接画像を生成する方法ありませんか?

画像操作ライブラリはファイルからの生成しかできないようなのです。
よろしくお願いします。
0705nobodyさん2009/10/23(金) 09:00:38ID:???
PHPから勉強した方が
0706nobodyさん2009/10/23(金) 10:22:44ID:4xcNwzE4
>>705
PHPにその機能があるのですね。
ありがとうございました。
0707nobodyさん2009/10/23(金) 14:22:48ID:???
レンタルサーバー(PHP4+MySQL4.0)にCI1.7.2日本語版を入れて使ったら、ちょっとエラーが出ました。

(1)データベース関係のエラー
MySQL4.0は文字コードを指定できないので、
/CodeIgniter/system/database/DB_driver.php
の145行目から150行目の「文字コード」の処理をコメントアウトしました。
具体的には↓
if ( ! $this->db_set_charset($this->char_set, $this->dbcollat))
{
 return FALSE;
}
という部分です。

(2) アロー演算子の使い方
PHP5でCI1.7.2を使った場合、
$sql = "SELECT name FROM user WHERE id = ?";
$param = array($user_id);
$query = $this->db->query($sql, $param);
$name = $query->row()->name; // ※アロー演算子(->)を連結して使用可能

という具合にアロー演算子を連結して使用できたのですが、PHP4だとエラーになりました。
$name = $query->row()->name;
ではなくて、
$row = $query->row();
$name = $row->name;
と2行に分けて、アロー演算子を連結しなければOKでした。

PHPのマニュアル見ても説明が見つけられないorz
http://jp.php.net/manual/ja/language.oop5.basic.php
オブジェクト内のメソッドやプロパティを指定する際の、ポインタやスコープが違うんでしょうか?
解説ページがあったら教えてください。
0708nobodyさん2009/10/23(金) 22:37:02ID:4v117FRK
質問があります。

DBに入っている画像データのバイナリから、
ファイルを介さず直接サムネールを生成する方法はないでしょうか。

画像そのものを出力したり、ファイルやURLからサムネールを
生成する方法はあちらこちらに書いてあるのですが、
バイナリを直接GDに食わせる方法の記述を見つけられません。

Perlでは簡単にできるのに、PHPではできないということなのでしょうか。
0709nobodyさん2009/10/24(土) 00:37:23ID:???
>>708
imagecreatefromstringはどう?
0710nobodyさん2009/10/24(土) 10:26:53ID:???
日本CodeIgniterユーザ会にある
「日本語言語パック」というパッチのような物をあてないと
ちゃんと使えないんですかね?

今利用を検討しているんですが、できるならパッチをあてないで利用したいんですが。。。
0711nobodyさん2009/10/24(土) 18:08:33ID:???
パッチ当てなければいいと思うよ
0712nobodyさん2009/10/24(土) 20:38:49ID:???
>>711
パッチを当てない場合、日本語のサイトを作る時どんな問題がありますか?
0713nobodyさん2009/10/24(土) 20:48:02ID:???
やってみたらええねん
0714nobodyさん2009/10/24(土) 20:50:41ID:???
うむおれKohanaに移行済みでCIはうろ覚えだがメール関係にパッチされてたよーな気がする
0715nobodyさん2009/10/24(土) 22:15:23ID:???
>>714
と言う事はcodeigniter本家からの
ダウンロード版では日本語を正しくメールできないという事???

もしそうなら、本当にダサ 何だそれって感じだ。
0716nobodyさん2009/10/24(土) 22:25:43ID:???
むしろ日本語メール正しく送信できるフレームワークがあるのかと
どのフレームワークも件名化けたりする
0717nobodyさん2009/10/24(土) 22:31:08ID:???
>>716
UTF-8で送信してもかい?

0718nobodyさん2009/10/24(土) 22:38:00ID:???
全部UTF8にすればいいだけで可能だな
0719nobodyさん2009/10/24(土) 22:54:19ID:TTN2cu8l
>>709
できました。
ありがとうございました。
0720nobodyさん2009/10/24(土) 22:57:13ID:TTN2cu8l
>>709
補足です。
できたんですが、データベースドライバが余計なことして
バイナリをエスケープ文字列にエンコードしてたので、
デコードして渡してやる必要がありました。
0721nobodyさん2009/10/25(日) 12:12:30ID:???
CakePHPと比べた場合CodeIgniterが勝る所と劣る所を調査中です。
ご協力を。。。

■ このスレッドは過去ログ倉庫に格納されています