トップページ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/

小回りの利くフレームワークの話題をひとつ!
07507462009/10/30(金) 12:14:52ID:???
>>749
お前アホか?
>>742-744の流れに対するレスだよ。
0751nobodyさん2009/10/30(金) 12:27:07ID:???
smartyをAjaxライブラリに対する回答だと思うのはさすがに・・・
0752nobodyさん2009/10/30(金) 14:50:51ID:???
>>750
テンプレートエンジンを使うとすればどんなのがいいのでしょう?

使わないのがいいでしょう

客からの指示で、smarty必須ってなってる    ←意味不明
自分で全部やれるなら楽だよな         ←意味不明
(これから採用する人の話であってお前の客の話なんて知ったこっちゃない)
0753nobodyさん2009/10/30(金) 15:25:15ID:???
頭が悪いのがいるな。
0754nobodyさん2009/10/30(金) 15:27:02ID:???
わざわざ蒸し返すなや
誰が正当かなんてどうでもええねん
0755nobodyさん2009/10/30(金) 22:06:59ID:p/L2o0l6
要するにテンプレートエンジンは不要なのですね。

AjaxのほうはjQueryが軽量コンパクトを売りにしてて伸び盛りのようです。
同じく軽量コンパクトを売りにしてるCIとはベストマッチじゃないでしょうか。
0756nobodyさん2009/10/30(金) 22:11:18ID:???
必要かどうかは人それぞれだろ。
0757nobodyさん2009/10/30(金) 23:37:06ID:???
軽量コンパクトがいいのか高機能がいいのかも提示せずに
相性云々言われても困るんだけど
ぶっちゃけAjaxライブラリにとってはサーバサイドのアプリケションが
何で書かれてようが知ったこっちゃ無いんだし相性もクソも何もない
0758nobodyさん2009/10/31(土) 00:32:11ID:???
jQueryは軽量でもコンパクトでもない。
ありがちな操作を、最小のコード量で書く事に特化していて、かつ習得しやすいので普及率が高いだけ。
(そういう意味では、設計思想がPHPに近いのかもな、今思いついたが)
だから、jQueryに「できないこと」に手を出そうとすると非常に面倒になる。

それと、JavaScriptライブラリが軽量でコンパクトである事と、PHPフレームワークが軽量でコンパクトである事の関連性が良く分からない。
軽量フレームワークと軽量JSライブラリで、なんで「相性が良い」という結論になるんだ?
相性が悪いと言ってるわけじゃなく、単に論理展開、関係性が良く分からない。

つうか、ざっと簡単なアプリなり小物ライブラリでも作ってみりゃいいだろ。
机上の空論で初心者がライブラリの良し悪しを判別できるわけがない。
0759nobodyさん2009/10/31(土) 00:51:18ID:???
なんだか、ケチつけたいだけの輩が巣食ってるらしい。
0760nobodyさん2009/10/31(土) 01:07:41ID:???
そうだねjQueryがいいねとか嘘ついても仕方ないだろ
駄目なものは駄目と言うしかない
0761nobodyさん2009/10/31(土) 08:09:34ID:???
駄目なんて誰も書いてないだろ。
わけのわからん基準で良い悪いを決める話じゃないってことだろ?

あれだ、本質を理解した上で用途に合わせて判断しろっていう、
当たり前のことを行ってるだけだ。
0762nobodyさん2009/10/31(土) 09:42:56ID:RCXnHmtW
なるほど、jQueryはダメなのか。
どこがどうダメなんですか?


本質を理解した上で用途に合わせて判断ですか。
ご自身は本質を理解して判断されているのですね。すばらしい。
私には何が本質で何を基準に判断したらいいか皆目見当がつかないのですが
どんなところに注目すれば、本質を理解できるのでしょうか?
判断の基準は、例えばどんなところにおかれているのでしょうか?

0763nobodyさん2009/10/31(土) 09:55:01ID:???
>>762
>>758
0764nobodyさん2009/10/31(土) 10:41:20ID:???
jQueryでいいと思うよ。
というか、prototype.jsとの2択しか無い気がするが。
勉強するんだったら、このどっちかにしとくべき。
結局は、オープン系は何を使うにも主流どこに乗っとかないと
後々面倒だよ。スクラッチで作れるだけの力が無いのであれば。
0765nobodyさん2009/10/31(土) 13:52:37ID:???
で、GET使えるようになったの?
0766nobodyさん2009/10/31(土) 15:11:23ID:RCXnHmtW
>>764
参考になりました。
ありがとうございます。


>>765
jQueryはGET使えないの?

だとしてもCIはデフォルトでGETを使わないようになってるから
問題ないと思います。

07677582009/10/31(土) 17:33:58ID:???
>762
> どんなところに注目すれば、本質を理解できるのでしょうか?
何かができるものは、絶対に何かを犠牲にしている、という点。
俺の書き込みが「jQueryはダメ」に見えたのなら、それはお前の経験不足。俺はjQuery信者だからな。
あと、理解したいならガタガタ抜かさずコード書け。

protojsとjQueryは併用できるしどっちかを選ぶようなものじゃないが、単独で込み入ったものを作るならprotojsが圧倒的に強い。
ただし>758でも書いたように、8割方のケースではjQueryのほうが圧倒的に早く作れる。
つまりどっちが向いているかは、どこまでをJSで処理し、どこからをサーバーサイドで処理するかによる。
0768nobodyさん2009/10/31(土) 20:31:41ID:???
>>766

>>765はCIの話だろう
0769nobodyさん2009/10/31(土) 20:41:12ID:RCXnHmtW
>>767
よくわかりました。ありがとうございます。
八割方のケースでjQueryが早くできること、
込み入ったことはprotojsが向いていることがわかって助かりました。
まあ、GoogleがjQueryを採用しているらしいので、
できないことというのも相当特殊なものかもしれません。


あと、その、サーバサイドでやることが、CIで補完しやすいとは限らないということですね。
0770nobodyさん2009/10/31(土) 23:32:42ID:???
>>767
この手のが一番疲れる。ある程度はできるから。
0771nobodyさん2009/10/31(土) 23:50:09ID:???
>>768
CIではGETを使えるので、そこを問題にしていたとは気づきませんでした。
デフォルトではセキュリティ上の理由から使えないようにしてあると
初期設定のチュートリアルにかかれてます。
0772nobodyさん2009/11/01(日) 21:33:49ID:???
mootoolsも忘れないで

っていうかスレ違いなんだぜ
0773nobodyさん2009/11/02(月) 14:12:06ID:???
CIのGETの話題が出たので便乗させていただきます。

CodeIgniterの検索ページで、ページ送りするとき、検索条件をどうやって次のページに持っていってますか?
=PCサイトと携帯サイトの違いをうまく処理したいです。
(携帯サイトは作ったことがないので、これからチャレンジすることになります。)

・日本のガラパゴス携帯のサイトは、基本的にクッキー無しという前提で作る。
・ページ間の遷移で、何らかの方法でセッションIDを持たせる。
・セッションIDに基づいて、サーバー側でセッション情報を保持しておき、セッション情報の中に検索条件を持たせておく。
こんな感じでOKでしょうか?

それで問題は、CIでセッションIDをどこに持たせるのか?
(1) POSTの場合
・デフォルトのCI設定で問題なし

(2) GETの場合
(2-1)・GETをOKの設定に変更する。 →これだとCIのURLヘルパーが使えなくて嬉しくない?

(2-2)・base64方式で、検索条件をエンコードして、URLのセグメントに無理やり埋め込む →URLに使える文字列長は上限があるので限度がある。
ttp://sourceforge.jp/projects/codeigniter/lists/archive/users/2009-March/001786.html
ttp://support.microsoft.com/default.aspx?scid=kb;ja;208427
GET メソッドを使用する場合、最大文字数は 2,083 文字に制限されます (実際のパスも含めた文字数)。

(2-3)・hookを使って、GETをPOSTに入れてしまう。→何かセキュリティーを考慮しなきゃいけない?=独自のバリデーターを用意するとか?
ttp://www.ryuzee.com/contents/blog/734

今のところ(2-2)で対応できていますが、検索条件が多くなったらどうしよう…><
07747072009/11/02(月) 14:19:16ID:???
自己解決しました。
=CI1.7.2のマニュアルに説明がありました。

ttp://codeigniter.jp/user_guide_ja/database/active_record.html#chaining
メソッドの連結を使えば、複数のメソッドをつなぐのがシンプルになります。
Note: メソッドの連結はPHP5 でのみ動作します。

CIは、PHP5とPHP4の違いを吸収するような便利な機能が提供されてますね。
ttp://codeigniter.jp/user_guide_ja/helpers/compatibility_helper.html
互換性ヘルパファイルには、PHP 5でしか実装されていないネイティブな関数と定数を、PHP 4でも実行できるものが含まれています。
これを使うことでPHP 4にしか対応していないサーバー上のアプリケーションでも、PHP 5のネイティブ関数を使うことができるようになります。

WebサーバがPHP4だから助かるな〜
0775nobodyさん2009/11/02(月) 14:19:28ID:???
GETを有効にするに3票
0776nobodyさん2009/11/02(月) 14:24:46ID:???
>>741
CIには簡易のテンプレート機能が用意されてるから、それ使ってみれば?

ttp://codeigniter.jp/user_guide_ja/libraries/parser.html
テンプレートパーサクラスを使うと、ビューファイルに含まれる擬似変数を解析できます。
ビューページで純粋なPHPを使う方が少し早いので、CodeIgniterでは、このクラスを必ずしも 必要としません。しかし、PHPのコードで混乱してしまうデザイナーと一緒に仕事をしている場合、開発者の中には、テンプレートエンジンを使用したい人もいると思います。

ドリームウィーバーでHTMLが崩れなければ、Smartyは要らないよ(^^)v
0777nobodyさん2009/11/02(月) 22:26:52ID:???
GET使えないとか不便なんだよな。
別に禁止にしなくても・・・。
0778nobodyさん2009/11/02(月) 22:48:46ID:WSpfQV0j
>>777
デフォルトでオフなだけで禁止はされてないよ?
オフのままでもセグメントで指定できるから不便もないと思うけど。
0779nobodyさん2009/11/03(火) 03:12:02ID:???
?guid=onさえなければ、良い設計だと思うよ…
PC版のみのサイトなら安心して使える。

今、携帯対応するのにindex.phpの冒頭で$_GET['guid']がセットされていたらunsetする処理を
足して使ってる。我ながら情けないけど、他にうまい手段が見つからない。
0780nobodyさん2009/11/03(火) 12:01:34ID:???
スレ先を悩んだのですが、
Kohana をさくらで動かしている方がいそうなここで伺います。

さくらインターネットのマルチドメインでサブドメインの
ディレクトリを /home/myaccount/www/sub で指定しています。
( sub/ のように後ろに / は付けていません )

/home/myaccount/www/sub/index.html は
ttp://sub.example.com/ でちゃんと見えています。

ここに Kohana を入れて下記 mod_rewrite を設定しました。

$ cat /home/myaccount/www/sub/.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule .* index.php/$0 [PT,L]
RewriteRule ^(.*)$ index.php/$1 [PT,L]

ttp://sub.example.com/index.php/test/ は正しく出るのですが、
ttp://sub.example.com/test/ では「No input file specified. 」と出てしまいます。

CI を真似て php.ini に cgi.fix_pathinfo=1 を設定しています。
CI では $config['uri_protocol'] = "PATH_INFO"; なんてあるらしいのですが、Kohana では見当たらず。

Kohana をさくらで動かしている方、アドバイスお願いします!
0781nobodyさん2009/11/03(火) 12:20:06ID:???
RewriteRule ^(.*)$ ./index.php/$1 [PT,L]
これでどうだろ
07827802009/11/03(火) 12:44:55ID:???
>>781
ありがとうございます。
やはり「No input file specified. 」です…。
07837802009/11/03(火) 12:57:34ID:???
いろいろと試行錯誤中です。
RewriteBase をコメントアウトさせると

The requested URL /sub/index.php/ranking/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

となりました。何かこれで分かる方とかいらっしゃいますか。

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule .* index.php/$0 [PT,L]
#RewriteRule ^(.*)$ index.php/$1 [PT,L]
RewriteRule ^(.*)$ ./index.php/$1 [PT,L]
0784nobodyさん2009/11/03(火) 13:04:21ID:???
ttp://hero-kick.com/linux/entry-738.html
07857802009/11/03(火) 13:13:37ID:???
>>784
ありがとうございます。
blog を参考に

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
#RewriteRule ^(.*)$ ./index.php?/$1 [L]
RewriteRule ^(.*)$ /index.php?/$1 [L]

としたのですが、 /index.php?/ の ? があるためか
「Disallowed key characters in global data.」が出ます。

? を外すと、やはり「No input file specified. 」に…。
0786nobodyさん2009/11/03(火) 13:25:22ID:???
「Disallowed key characters in global data.」でいろいろググって
ttp://forum.kohanaphp.com/comments.php?DiscussionID=1723
を見つけました。

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [L]

で一部表示!
「一部表示」というのは CSS や JavaScript のパスが解釈できていないため
デザインなどがガタガタなのです。とはいえ一歩前進です。
RewriteCond などを見直してみたいと思います。

いろいろとアドバイスをくれた皆様、本当にありがとうございます。

mod_rewrite は苦手なので試行錯誤をしていますので、
もし、こうだよ、とあれば引き続きよろしくお願いいたします。
07877802009/11/03(火) 13:45:23ID:???
さくらインターネットのマルチドメインのサブドメイン環境で、
/ で動かす mod_rewrite は下記でうまくいきました。

RewriteCond %{HTTP_HOST} sub\.example\.com
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [PT,L]

アドバイスを頂いた皆様には重ねてお礼申し上げます。
ありがとうございました。
0788nobodyさん2009/11/04(水) 09:25:44ID:qw3iX5XK
>>758
> jQueryは軽量でもコンパクトでもない。

ホームページ冒頭にかいてあるけど?

jQuery is a fast and concise Javascript library...


自己宣伝だから全面的に信じるべきとはいわないが
この宣伝は無根拠なわけでもない。

ケチつける前に勉強した方がいい。
07897732009/11/04(水) 14:30:18ID:???
>(2-2)・base64方式で、検索条件をエンコードして、URLのセグメントに無理やり埋め込む

追記です。
base64でエンコードした文字列のままだと、デフォルトのCIのURLで使えない文字が含まれてしまいます。

http://ja.wikipedia.org/wiki/Base64
Base64は、データを64種類の印字可能な英数字のみ
A?Z, a?z, 0? までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。

CI → $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
なので、base64の「+」「/」「=」をそれぞれ「-」「_」「:」等に置換すれば、CIのURLのセグメントとして使えます。=URLのセグメントをGETとして利用可能

(例)CI用にカスタマイズしたBASE64(ヘルパー関数に配置)
if ( ! function_exists('my_base64_encode'))
{
 function my_base64_encode($str)
 {
  $str = base64_encode($str);
  $str = str_replace('+', '-', $str);
  $str = str_replace('/', '_', $str);
  $str = str_replace('=', ':', $str);
  return $str;
 }
}

これと同様にデコードする関数を用意すればOK
0790nobodyさん2009/11/04(水) 18:22:08ID:???
>>789
普通にURLエンコードじゃなんでダメなの?

検索条件の保持は、検索条件内容をDBにぶちこんで、そのIDを連れ回す方がしっくり来ると思う。
CIのフォーラムでもそんな感じだったと思った。
07917892009/11/04(水) 20:23:11ID:???
>>790 アドバイスありがとうございます。

↓BASE64でエンコードする方法を参考にしてみたのですが、URLエンコードも試してみようと思います。
http://sourceforge.jp/projects/codeigniter/lists/archive/users/2009-March/001786.html

http://ja.wikipedia.org/wiki/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
URIにASCIIの非予約文字以外の文字データを用いる場合には、「%xx」(xxは16進数)という形でコードを表記する
スペースを含む記号(=,&,%,+)は使用できないので「%20」などのASCIIコードの16進表記に置き換えられる。
スペースは JavaScript の場合には %20 に変換されるが、CGIでは + に変換される。

URLエンコード後の文字列に「+」が現れる場合は、$config['permitted_uri_chars']に「+」を追加すればOKですね。その方が手軽でしたorz
07927892009/11/05(木) 13:06:07ID:???
>>790
urlencode方式でうまくいきました。ありがとうございました。

・FireFoxで見ると、エンコード後の文字列データは、日本語の場合、日本語のままでURLに表示されました。

ttp://pricewave.blog110.fc2.com/blog-entry-26.html を参考にして、
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-';

・エンコードする文字列に半角スペースがある場合
urlencodeで半角スペースが「+」に置換されて、CI1.7.2でエラーになりました。

$config['permitted_uri_chars']に「+」を追加してOK = ★追加する位置★に注意

(1) $config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-+'; // 末尾に「+」を追加
↓エラーになる
Message: Compilation failed: range out of order in character class at offset 63
Filename: libraries/URI.php
Line Number: 191

Message: Cannot modify header information - headers already sent by (output started at /home/mobilebest/usedbest.net/script/CodeIgniter/system/libraries/Exceptions.php:166)
Filename: codeigniter/Common.php
Line Number: 356

An Error Was Encountered
The URI you submitted has disallowed characters.

(2) $config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_+-'; // 末尾じゃない場所に「+」を追加
=これだと、文字列に半角スペースが入っていてもOKでした。
0793nobodyさん2009/11/06(金) 17:05:09ID:u54flEvH
CIのEmailライブラリを使ってメールを送信しているのですが、本文が文字化けしていまいます。

なので、 MY_Email クラスを作り mail()関数を mb_send_mail() にして、
mb_language("ja"), mb_internal_encoding('UTF-8') を記述して送信すると、今度は題名が文字化けしていまいます。

ソースはUTF-8で、Emailの"charset"設定は ISO-2022-JP にしています。


エスパーさせて申し訳ありませんが、どなたかスマートな解決法をご教授くださいm(__)m
0794nobodyさん2009/11/06(金) 17:40:13ID:???
>>793
qdmail使えば幸せになれるよ
0795nobodyさん2009/11/06(金) 18:09:30ID:u54flEvH
>>794
レスありがとうございます。
現在Postfixが使われています。
しかし、メールサーバーの変更は事情によりできないので、別の対処法をご存知でしたら教えて頂けると幸いです。
0796nobodyさん2009/11/06(金) 18:14:39ID:u54flEvH
スミマセン、qdmail を qmail と見間違っていました

CIのライブラリに qdmail をぶち込んで使ってみることにします。
情報ありがとうございました!
0797nobodyさん2009/11/09(月) 13:46:17ID:???
>>793

$config['charset'] = 'iso-2022-jp';

$subject = mb_convert_encoding($subject, 'iso-2022-jp', 'utf-8');
$this->email->subject($subject);

$message = mb_convert_encoding($message, 'iso-2022-jp', 'utf-8');
$this->email->message($message);
$this->email->send();

で大丈夫だよ。
0798nobodyさん2009/11/10(火) 21:00:29ID:???
>>797
おいおい。Subjectそのままで送るのか?
MIMEエンコードしろよ
0799nobodyさん2009/11/11(水) 10:32:59ID:???
>>798
と思う前にやってみろ。
0800nobodyさん2009/11/12(木) 10:48:35ID:???
>>799
ハア?
既にやってんだが
無知は黙ってろks
0801nobodyさん2009/11/12(木) 10:59:46ID:???
>>800
797のコードだとCIのEmailクラス通すからMIMEエンコードはやってくれるんじゃないの?
0802nobodyさん2009/11/12(木) 11:48:00ID:???
質問です.

現在ヘルパ関数を自作していて,ヘルパ関数内でセッションクラスを使いたいと考えています.
しかし,$this->session->userdata('hoge')のように書くとエラーになります.

どのようにすればヘルパ関数内でセッションクラスを使えるのでしょうか?
0803nobodyさん2009/11/12(木) 12:00:12ID:???
>>800
2重にエンコーディングされなかったか?Email.php使うと。
0804nobodyさん2009/11/12(木) 12:25:12ID:???
>>802
$CI =& get_instance();
$CI->session->userdata('hoge');
でどうでしょ
08058022009/11/12(木) 12:58:15ID:???
>>804
ありがとうございます.
使えるようになりました.
0806nobodyさん2009/11/13(金) 01:38:44ID:RfEeqTfm
テスト
08077932009/11/16(月) 12:24:50ID:???
規制に巻き込まれてしまい返信できずスミマセン。

>>797
レスありがとうございます。
そのやり方は質問をする前に確かめたのですが、本文の一部に文字化けがみられました。

で、あれからずっと調べていたのですが
http://blog.livedoor.jp/lax34volvic/archives/1062690.html
ここにある問題(特定の文字「目」や「本」などが文字化けする)と同じようです。
メール本文に「本メール」という単語があり、その行が見事に文字化けしていたのです。

現在はEmailクラスを拡張して使っていますが、他にやりようがあるなら教えてください。
0808nobodyさん2009/11/16(月) 13:06:14ID:???
Qdmail使ったら。ソースコード汚くて萎えるけど。
08097932009/11/16(月) 17:22:18ID:???
>>808
qdmailは上記で教えてもらった時に使ってみました。
が、せっかくCIにEmailの処理があるのにそれが使えないのはおかしいので調べていた次第であります。

現在、MY_Emailクラスを作り
function subject() の $subject = $this->_prep_q_encoding($subject); の記述を除去。
mail()が使われているところをmb_send_mail()に変更しています。
(CIのversionは1.7.2です)

これで大丈夫なのか今はそれだけが不安です。(特にsubject()の>_prep_q_encoding()を使わなくてもいいのか辺り)
0810nobodyさん2009/11/16(月) 18:03:26ID:???
>>809
俺も大方そんなところだよ。
_prep_q_encodingなんて気持ち悪い物も、ムリに使う必要は無いと思う。
mb_send_mailは信用してないから、mailを使ってるけど。

というか、これ以上はスレチな気もするので。
http://pc11.2ch.net/test/read.cgi/php/1249778720
0811nobodyさん2009/12/01(火) 16:52:40ID:n2Un74VI
しかしスレが落ちそうな勢いだな。

みんなまだこれ使ってる?
0812nobodyさん2009/12/01(火) 16:57:48ID:???
使ってるよー
djangoも使ってるし、どっちもスレは過疎化
FW使うような人はある程度知識がすでにあるから聞くことないんだろね
0813nobodyさん2009/12/01(火) 17:01:55ID:???
同じく使ってるよ。でも最近はKohana。
PHP5使っているならCIじゃなくてKohanaお勧め。
0814nobodyさん2009/12/04(金) 22:00:44ID:???
pre_controller
コントローラが呼ばれる直前に呼ばれます。すべて基本クラスのロード、ルーティング、そしてセキュリティチェックが終わっています。

ってあるんですが、具体的にCIがやってるセキュリティチェックって何?
0815nobodyさん2009/12/18(金) 10:44:51ID:REAaVtDl
保守
0816保守2009/12/23(水) 21:11:17ID:???
俺は初めて彼女とMMXした。
「もうそろそろiiyama? 君のI/ODATAを確かめたいんだ。XT」
MITSUMIあうと、彼女のMECはALBATRONとしていた。
緊張した俺は焦り彼女のソケット478をAOpenしようとした。
「ちょ、ちょっとRADEON!何をSis」もう俺は既にエレコム。
Sound Blasterのホックを外すとはちきれそうなPioneerがBarracuda
でもBIOSTARは意外と玄人志向だった。
「恥ずかしいわ。あまりミネベア・・・」
SCSIをTORICAるとKEIANをSOLTEKした痕がアルファデータ。
あそこはSUPERMICROだった。OMEGAドライバも少し鼻についた。
しかし、彼女のCREATIVEを刺激しつつ俺のセレロンを
彼女のSerial-ATAからASUSに這わせると、「FireWire〜ン」
「もう、ATI」「COREGA欲しいんだろ?」「早くリテール」
俺は激しくTSUKUMO。「インテルはいってるっ!IEEE!1394!」
「あぁ・・・もうDell!」
0817nobodyさん2010/01/08(金) 22:13:29ID:???
回転寿司でお稲荷さんが回ってなかったから注文したら、
渡されるところで隣に座ってた人に横からお稲荷さん取られた
それは私のお稲荷さんだ!って言ったら反対側に座ってた人がイクラを噴出した
私も一瞬後で気づいて、たぶん顔真っ赤になってたろうけど全部食べた
0818nobodyさん2010/01/10(日) 17:48:15ID:???
「私みたいで残せないから全部食べた」
というフレーズを思い出した
0819nobodyさん2010/01/30(土) 22:57:36ID:/kADIv2E
そして会話がなくなった
0820nobodyさん2010/01/30(土) 23:11:41ID:???
すいません。このスレ建てた人間なんですが、PHPのNameSpaceのSeparatorに
嫌気がさしてRubyのSinatraに乗り換えました。
0821nobodyさん2010/01/31(日) 01:23:17ID:???
しらんがな
0822nobodyさん2010/01/31(日) 13:14:25ID:???
逆に、Codeigniter使ってる人で、Rubyのフレームワークのおススメとかありますか?
08238202010/01/31(日) 17:37:08ID:???
>>822
>>820
0824nobodyさん2010/02/01(月) 14:56:28ID:???
>>820
私はPHPをやりつつもPythonにも手を出しました。
目的はGoogle App Engineです。
0825nobodyさん2010/02/17(水) 01:37:21ID:???
セッションデータの保存にDBを使っててset_userdataで値を入れても次のページに行くとset_userdataしていないのに新たなセッションデータが生成されてuser_dataが空になって困っていた。
デフォルトのままだった$config['sess_expiration']の値を0にしたら解決した。
なんでだろ…PHPを5.2.xから5.3.1にしたのが悪かったのかな。
0826nobodyさん2010/03/21(日) 11:30:44ID:???
cakephpに挫折した僕でもCodeIgniterは僕にとってフレームワーク入門になりますか?
インストールまではなんとかできました
0827nobodyさん2010/03/21(日) 11:54:51ID:???
ユーザーガイドを読んでみたら面白いほどに分かりやすいのでCodeIgniter様に弟子入りさせて頂きたいと思います
本当はMVCで会社とかでよく使われるcakephpを覚えたいけど
CodeIgniterもMVCですしガイドがわかりやすくて面白いのでお世話になります
0828nobodyさん2010/03/21(日) 14:00:50ID:???
ぶっちゃけcakephpは話題になるほど良いものではないよ。
0829nobodyさん2010/03/21(日) 14:12:02ID:???
Zend>CodeIgniter>>>>Cake>Symfony
くらいだと思う個人的には
ただSymfonyは新版で変わったらしいからジャンプアップするかもしれん
0830nobodyさん2010/03/21(日) 16:58:25ID:???
CodeIgniter最高!!
0831nobodyさん2010/03/21(日) 17:28:31ID:???
CodeIgniterをインストールして初めてアクセスすると、「CodeIgniterへようこそ!」のページが表示されます。

このページを編集したい場合は以下のファイルを編集したらいいみたいな説明がありました
system/application/views/welcome_message.php
system/application/controllers/welcome.php

CodeIgniterではデフォルトでこれら2つのファイルを読み込んで出力するのでしょうか?
また、この2つのファイルは消しても問題ないでしょうか?
0832nobodyさん2010/03/21(日) 17:57:57ID:???
マニュアル嫁
0833nobodyさん2010/03/21(日) 17:59:30ID:???
>>832
(;;)
0834nobodyさん2010/03/21(日) 19:35:06ID:kAKa3jAa
軽量フレームワークということでCI試してみたいんだけど、1.6系と1.7系どっちを使おうか迷ってます。
1.6系と1.7系では、ファイルサイズが4倍くらい違いますよね?1.7で何がそんなに追加されたのでしょうか??
08358342010/03/21(日) 19:39:22ID:???
おっと失礼、ファイルサイズ4倍は言語ファイルに関してでした。
コアパッケージも、倍以上違いますよね。
0836nobodyさん2010/03/21(日) 19:43:19ID:???
>>835
こんにちは843さん、僕も数時間前に始めた初心者です
僕は1.7を利用してます
0837nobodyさん2010/03/21(日) 19:58:25ID:???
controllersディレクトリ内にtest.phpを作り、以下のコードを記述しました
<?php

class Test extends Controller {
function otameshi($id1, $id2){
echo $id1;
echo $id2;
}
}

http://localhost/index.php/test/otameshi/100/200/でアクセスすると正常に表示されます。

それで、http://localhost/index.php/test/otameshiにアクセスするとA PHP Error was encounteredが出るのですが
このエラーを表示させない方法ってございませんか?

0838nobodyさん2010/03/21(日) 20:05:05ID:???
引数にデフォルト値入れれば?
0839nobodyさん2010/03/21(日) 20:44:24ID:???
>>838さんありがとうございます
デフォルト値はどのようにいれるのでしょうか?
0840nobodyさん2010/03/21(日) 21:01:09ID:???
>>839
>838じゃないけど、PHP自体初心者なの?
もしそうなら、いきなりCIやらないで、1回でいいから普通のPHP独習本でも
見ながら普通のスクリプトを書いてみることを勧める。

function otameshi($id1=100,$id2=200)
{
}
0841nobodyさん2010/03/21(日) 21:10:37ID:???
>>840さんありがとうございます
http://localhost/index.php/test/otameshi/100/200/
でアクセスしたときに、この100と200の値を出力したいのですが値が固定ではないです
300のときもあれば400もありのでそのように変数に格納することはできません
もしhttp://localhost/index.php/test/otameshi/でアクセスした場合でも、引数が空でもそのまま出力処理させる・・・空の値を出力させるってことはできませんか?

以下のように書き換えてみたのですがダメでした
<?php
class Test extends Controller {
function otameshi($id1, $id2){
if ($id1 != "") echo $id1;
if ($id2 != "") echo $id2;
}
}
0842nobodyさん2010/03/21(日) 21:16:08ID:???
>>841
だから、
function otameshi($id1=100,$id2=200)
と置くことで、$id1,$id2が空の場合のデフォルト値を指定しているんだけど。
そんな状態でCIやってホントに大丈夫?
ttp://www.php.net/manual/ja/functions.arguments.php#functions.arguments.default

別解として
function otameshi()
{
$id1 = $this->uri->segment(3);
$id2 = $this->uri->segment(4);
echo $id1;
echo $id2;
}
というのもできるけど。


0843nobodyさん2010/03/21(日) 21:25:05ID:???
すいませんでした勉強になりました
ご教示頂いた方法で解決できました
お手間かけてしまい失礼いたしました
コードありがとうございます
0844nobodyさん2010/03/21(日) 22:07:48ID:???
PHPの初心者本買って一通りやったほうがいいな。
話にならん。
どの本がいいかって?
ググれ。
0845nobodyさん2010/03/21(日) 23:04:54ID:???
超上から目線w
0846nobodyさん2010/03/24(水) 14:11:46ID:???
>>843
PHPというか、プログラミングは初めてですか?

プログラミング未経験なら、
http://www.amazon.co.jp/dp/4774141046
文法解説 → 「ゼロからわかる PHP超入門」
http://www.amazon.co.jp/dp/4798119865
サンプルコード集 → 「PHP 逆引きレシピ」
あたりを読むといいと思います。

あとCodeIgniterを使うなら、
http://www.amazon.co.jp/dp/4798116769
「CodeIgniter徹底入門」
も役に立ちます。

学生さんでお金がないなら、図書館で借りればOK
仕事でプログラミングやるなら、本代なんてすぐに回収できるからバンバン買えばOK
0847nobodyさん2010/03/24(水) 14:20:35ID:???
>>843
プログラミングをまったくやったことがないなら、最初に練習してみる言語としては、
今ならPHPじゃなくて、Python(パイソン)を勉強した方がいいかも

・Google App Engine(グーグルのレンタルサーバ)でPythonが使える。
・安いレンタルサーバ(XREAなど)でもPythonが使えるものもある。
・Djangoやweb.pyなど、Pythonのフレームワークもいろいろある。

Pythonは、PHPよりも簡単ですよ。
=もともと教育用途で開発された言語だから、PHPよりも覚えることが少なくて、文法も簡単です。
Pythonを1ヶ月くらい使ってみたあとに、PHPをやってみたらいいんじゃないかな?

http://www.amazon.co.jp/dp/4797353953
「みんなのPython 改訂版」→この本なら1〜2週間くらいでPythonをマスターできます。
0848nobodyさん2010/03/24(水) 14:32:19ID:???
>>846-847
スレチ
0849nobodyさん2010/03/24(水) 14:32:47ID:???
>>834
CI1.6から1.7の変更点は、変更履歴を見ればわかりますよ。
http://codeigniter.jp/user_guide_ja/changelog.html

今なら1.7で良いと思います。
=バリデーターの使い方がシンプルになった。
=1.7用の日本語パックも提供されている。

CIの使い勝手に不満を感じたら、CIから派生した類似のFWも比較対象にしてみればいいと思いますよ
・Kohana
http://clinic.mond.jp/kohana/
・CIEX
http://ciex.levallois.biz/
■ このスレッドは過去ログ倉庫に格納されています