[PHP][フレームワーク]CodeIgniterスレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2007/04/27(金) 23:17:16ID:???チュートリアル:http://codeigniter.com/tutorials/
ユーザガイド日本語訳:http://ci-user-guide-ja.nought-point-999.net/
小回りの利くフレームワークの話題をひとつ!
0002nobodyさん
2007/04/27(金) 23:18:05ID:???0003nobodyさん
2007/04/28(土) 01:15:05ID:???0004nobodyさん
2007/04/28(土) 01:38:57ID:???CIにNet_URL_Mapper組み込んだ人いる?
どう手を付けたらいいのか迷うな
と書いたものだが
Routerクラスの_set_route_mappingメソッドを
オーバーライドするのが普通かな
あまりキレイではないが…
0005nobodyさん
2007/04/28(土) 02:34:36ID:???/:module/:action/*
みたいな書き方できない?
なんだこの中途半端なルータは・・・
0006nobodyさん
2007/04/28(土) 14:41:50ID:???出来るにきまってるだろ。
$obj -> connect('/f:oo/:bar/*(wild)','',array('wild"=>'*'));
0007nobodyさん
2007/04/28(土) 15:53:48ID:???0008nobodyさん
2007/04/28(土) 16:03:48ID:???おまいらみんなソース読んでんの?
0009nobodyさん
2007/04/28(土) 17:25:45ID:???>>7
wildという文字が大切じゃなくて、connectの第三引数 arrayでrule(s)が指定できるってこと。
connect(....../*(hoge),array('hoge'=>'*'));
0010nobodyさん
2007/04/28(土) 18:07:37ID:???○セットアップ関連
・基本セットアップ情報
ttp://adultnews.blog14.fc2.com/blog-entry-50.html
・配置変更
ttp://blog.nought-point-999.net/index.php/site/2007/03/29/
・index.phpの配置の変更方法
ttp://blog.nought-point-999.net/index.php/site/2007/03/21/
○ライブラリ関連
・xajaxの使用方法
ttp://hain.jp/index.php/tech-j/2006/07/24/code_igniter_xajax_php_ajax
・CakePHPのACLライクな認証プラグイン「UserAuth」
ttp://tomcode.com/inside/code-igniter/userauth/userauth_0.9.2t52/
・Railsチックなレイアウトを設定できるプラグイン「layout_library」
ttp://codeigniter.com/wiki/layout_library/
・リスト表示・登録画面をテンプレート形式で作成できるプラグイン「rapyd」
ttp://www.rapyd.com/
>サンプル
ttp://www.rapyd.com/rapyd/samples
0011nobodyさん
2007/04/29(日) 03:57:47ID:???○○0とか○○1とかいうメソッド名はねーだろよ
0013nobodyさん
2007/05/02(水) 00:11:47ID:???どこに書く?
0014nobodyさん
2007/05/02(水) 00:22:08ID:???ここだね
0015nobodyさん
2007/05/02(水) 23:30:19ID:???いまいちだよな・・・
凝りたいのは分かるがここは普通にした方がいい
0016nobodyさん
2007/05/03(木) 20:15:34ID:???class_existsの第二引数をちゃんと書くように!
自前autoload書くといちいち飛んでくるから困る
0017nobodyさん
2007/05/03(木) 20:25:44ID:???0018nobodyさん
2007/05/03(木) 20:29:17ID:???0019nobodyさん
2007/05/03(木) 20:39:32ID:???0020nobodyさん
2007/05/03(木) 20:43:35ID:???そんなことより自分の能力不足を「作者」のせいにするってのはやめたほうがいいな。
0021nobodyさん
2007/05/03(木) 20:49:33ID:???0022nobodyさん
2007/05/03(木) 21:02:02ID:???>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)) {;}
?>
0023nobodyさん
2007/05/03(木) 21:32:06ID:???組み込みの関数だと、チェックしてるんだな。
0024nobodyさん
2007/05/04(金) 02:04:41ID:???対応しようと思えばできるがそもそもの設計がおかしいだろ
0025nobodyさん
2007/05/04(金) 02:24:46ID:???0026nobodyさん
2007/05/04(金) 02:29:13ID:???別の対応はしてほしいところだな
0027nobodyさん
2007/05/04(金) 05:13:31ID:???将来の拡張もありうるんだから
パラメータ多すぎでエラー出すのはおかしいよな。
実際おかしなことになってるし。
0028nobodyさん
2007/05/04(金) 10:24:04ID:???0029nobodyさん
2007/05/04(金) 10:37:03ID:???PHP5以降のclass_existsの拡張のデザインが失敗なんだ思うよ
だいたいclass_existsする時点でオートロードするなんて
ありがた迷惑以外のなにもんでもないだろう
PHP4とのcompatibility考慮したら第2引数省略した時は
何もしないでTRUEの場合にオートロードを試みるべきだった
FW本スレでもそういう話が出てたはず
0030nobodyさん
2007/05/04(金) 11:00:23ID:???0031nobodyさん
2007/05/04(金) 12:12:13ID:???命名規則で回避できるならそれはそうなんだろうけど
class_existsの挙動についてっていう点でね
0032nobodyさん
2007/05/04(金) 12:49:21ID:???__autoloadを一旦見に行くじゃん。記述した未知のクラス名を見に行くのが悪いって
いってしまったら、newに、new(True) ClassNameとか「引数」実装しろって話しにもなるぜ。
0033nobodyさん
2007/05/04(金) 14:13:49ID:???class_existsを使う局面の意味合いを考えてみてよ
newやextendsで未知のクラスを使わないよう
未知のクラス名でないかどうか調べるためにclass_existsするわけでしょ
確実にクラスが存在するか書き手は保証を行うためにclass_existsする
なのにclass_existsのデフォルト(第2引数無し)が
autoloadを見に行くのはどう考えてもお節介でしょ
autoloadに期待しているなら書き手はclass_existsなんてしないはず
それこそnewやextendsをいきなりやってしまってautoloadに任せる
newやextendsにも引数実装しろなんて話にはならない
0034nobodyさん
2007/05/04(金) 14:55:44ID:???そうすると、autoloadを使っているコードでもしクラスが見つからなかった場合はどうやってエラー回避すればいいの?
0035nobodyさん
2007/05/04(金) 15:15:02ID:???0036nobodyさん
2007/05/04(金) 15:28:12ID:???なぜ、おせっかいなのか不明だな。なきゃそこで戻るんだから。
version 5で、autoload想定していない4との互換物を走らせるのに
デフォルトでautoloadにやってくるから意味があるわけで。
0037nobodyさん
2007/05/04(金) 15:51:51ID:???例えば、フレームワーク自体を製作する側から見ると、アクションコントローラやビューのクラスをフレームワークの仕組みに従ってロードしたい場合。
フレームワークの作者は、ユーザがautoloadを定義している場合に備えて、class_existsの第二引数に気を遣わないといけない。
で、autoloadとclass_existsが共存するようなシチュエーションは、フレームワーク製作のこういう部分でしかまず見られないよね、って話になると、ああデフォルトではautoloadを見に行かないほうがいいわなってなるわけよ。
autoloadでロードされる「その他一般の自作クラスライブラリ」たちとは別の、特別な専用ディレクトリからロードしたい時が、まさにclass_existsの使いどころだから。
まあ他にclass_existsを有意義に使える場面があるなら、また話は違ってくるんだろうけど。
ここまで書いてふとスレタイを見たら、今頃CIスレであることに気付いた・・・orz
0038nobodyさん
2007/05/04(金) 16:28:51ID:???まあ今どきのフレームワーク作者ならspl_autoload()とか使うと思うけど。
0039nobodyさん
2007/05/04(金) 16:35:16ID:???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のデフォルトはよくないんじゃないかってこと
0040nobodyさん
2007/05/04(金) 16:40:24ID:???仮に何か理由があろうとなかろうと、
あれのおかげで、__autoload()が絶妙に使いにくくなってしまった。
リリースしてしまったものは、今更しょうがないけど、
Zendクオリティに萎えたのは事実。
0041nobodyさん
2007/05/04(金) 18:30:31ID:???PHP4使い→class_exists()に擁護的
いろいろ語られてるが突き詰めればこれだけの違いじゃね
PHP5使っててclass_exists()の仕様を「これでいい」と思ってる奴は
かなりのマゾ野郎だけだろう
0042nobodyさん
2007/05/04(金) 19:22:58ID:???ver5と「class_exists拡張」とautoloadは同時なのに。
ver5ベースでやってる奴は、今の仕様でいいに決まってるじゃん。
0043nobodyさん
2007/05/04(金) 21:23:14ID:???0044nobodyさん
2007/05/04(金) 22:21:29ID:???ちなみに、 5のみに特化したsymfonyの場合、grep |wc で単純計算すると
class_existsで引数falseつけてるのは12、つけてないのは32。前者は当然core関係、後者はvendor関係が多い
0045nobodyさん
2007/05/04(金) 23:13:08ID:???お前の方が意味不明だっつの
てかclass_exists()擁護派は総じて論拠が柔すぎて反論する気すらおきん
対話自体にならないレベルだ。
まあ現実問題として改正が必要なんだからエリックに言ってやらないとな
英語に達者な奴頼む
0046nobodyさん
2007/05/08(火) 22:41:46ID:???0047nobodyさん
2007/05/09(水) 03:42:29ID:???view(template)名はどうしてる?
俺はsymfonyの真似で
hogehoge_inputとかhogehoge_successにしてるが
0048nobodyさん
2007/05/09(水) 10:33:05ID:???0049nobodyさん
2007/05/09(水) 22:21:52ID:???0050nobodyさん
2007/05/09(水) 23:53:49ID:???0051nobodyさん
2007/05/10(木) 14:14:44ID:???なんか違くね…?
違うのになんでActiveRecordを名乗ってるんだ…?
0053nobodyさん
2007/05/11(金) 22:06:54ID:???50と変わらんとは思うけど
class/files
method/files
filesは結構沢山あるな。view用のcss/js設定ファイルとか、基本画像用gifもそこにおいてあるし
0054nobodyさん
2007/05/27(日) 00:20:32ID:???ここci使ってなかったっけ?悲惨だな…
0055nobodyさん
2007/05/27(日) 00:34:45ID:???0056nobodyさん
2007/05/27(日) 00:42:16ID:???0057nobodyさん
2007/05/27(日) 00:45:55ID:???有名どころ?
0058nobodyさん
2007/05/27(日) 00:55:09ID:???0059nobodyさん
2007/05/27(日) 01:52:52ID:???errorメッセージってちゃんと作りこんでおいたほうがいいよね。
0060nobodyさん
2007/05/27(日) 01:57:10ID:???ただdbに繋がらなくなっただけに見える
ってか晒す意味がわからない
0061nobodyさん
2007/05/29(火) 01:54:43ID:???0062nobodyさん
2007/05/29(火) 03:02:43ID:???0063nobodyさん
2007/06/06(水) 10:23:29ID:???0064nobodyさん
2007/06/06(水) 10:41:39ID:???http://userguide.cilab.info/index.html
0065nobodyさん
2007/06/08(金) 12:02:09ID:???0066nobodyさん
2007/06/08(金) 14:48:19ID:???日本語の解説ページが少ないのは不安だけど。
ユーザーガイドは読みやすくていいと思った。
認証機能を使った会員管理システムを作る予定。
0067nobodyさん
2007/06/08(金) 16:23:11ID:???0068nobodyさん
2007/06/08(金) 17:37:53ID:???0069nobodyさん
2007/06/09(土) 02:23:16ID:W+nVmF6jおおお!これは助かる!
翻訳途中の方のサイト見ながらで若干不安だったんだ。
ちなみに3年くらい動かしてるらしい顧客のサイト。
度重なる機能追加でカオスになっていたので、
CIつかってリニューアルさせてもらいました。
記号を含むURIで少々はまったものの
ほとんど上記のユーザガイドで事足りました。
検収記念age
0070nobodyさん
2007/06/09(土) 04:13:48ID:???導入事例キボン(死語か
007270
2007/06/12(火) 17:43:07ID:???0073nobodyさん
2007/06/12(火) 21:03:17ID:???0074nobodyさん
2007/06/14(木) 01:04:52ID:???0075nobodyさん
2007/06/15(金) 11:50:52ID:???ダウンロードしたCIのファイルはShift JISになっているみたいですが、自分で追加するファイルはUTF-8Nでもいいですか?
0076nobodyさん
2007/06/15(金) 16:48:05ID:???( ゚д゚)
0077nobodyさん
2007/06/15(金) 19:28:21ID:???0078nobodyさん
2007/06/15(金) 19:38:23ID:???ただ今、CodeIgniter ユーザガイド 日本語版 Version 1.5.3を見ながらサンプルコードを動かしています。^^
http://userguide.cilab.info/toc.html
↑日本語訳を作ってくれた方、どうもありがとうございます!
0079nobodyさん
2007/06/15(金) 21:21:47ID:???0080nobodyさん
2007/06/16(土) 04:50:04ID:???0081nobodyさん
2007/06/16(土) 09:17:02ID:???0083nobodyさん
2007/06/17(日) 01:47:51ID:???0084nobodyさん
2007/06/17(日) 02:20:47ID:???ttp://tomcode.com/inside/code-igniter/userauth/userauth_0.9.2t52/
0087nobodyさん
2007/06/18(月) 10:25:34ID:???modelのなかで& get_instance発行して、dbインスタンスを再取得してるのか・・・
・・・・わかってないんだろうこれ作った人。使わないほうが吉だな。
0088nobodyさん
2007/06/18(月) 11:22:42ID:???0089nobodyさん
2007/06/18(月) 12:29:44ID:???やっぱり両方試してみたほうがいいかな
0090nobodyさん
2007/06/18(月) 13:33:22ID:???かく言う俺もcakeとCIで迷っているが。まぁ対象規模が違うわな
0092nobodyさん
2007/06/18(月) 18:45:15ID:???なにもしないのがただしい。既にCIのインスタンスは存在してるから。
親のModel classはそのインスタンスを取得する(だけの)基底クラス。
0093nobodyさん
2007/06/18(月) 20:11:08ID:???009493
2007/06/18(月) 20:14:38ID:???009587
2007/06/18(月) 21:54:19ID:???なんでこういうようなちゃかしが入るのかわからない。
使ってるFWの実装を押さえないような程度のコードを
単に在るからっていうだけで、使うのは良くないといってるだけ。
特にセキュリティにかかわるclassなんだから慎重であるべき。
009684
2007/06/18(月) 22:09:19ID:???けど、これ自分がスレが立ったときに>10の「Code Igniterの情報サイト」
で書いたやつだったのが、、、説明不足だったか。
あと、これ以上に
・リスト表示・登録画面をテンプレート形式で作成できるプラグイン「rapyd」
ttp://www.rapyd.com/
>サンプル
ttp://www.rapyd.com/rapyd/samples
ほうが便利っす。どうでもいい検索→一覧→更新
画面をそこそこのデザインで作りたいときはすげえ便利。
CI使っている人は是非w
0097nobodyさん
2007/06/19(火) 02:21:28ID:???アプリケーションの下に入れとけばいいのかな?
0098nobodyさん
2007/06/19(火) 12:45:54ID:???0099nobodyさん
2007/07/05(木) 22:34:34ID:???このマニュアルめっちゃ見やすいな
http://userguide.cilab.info/toc.html
0100nobodyさん
2007/07/14(土) 01:33:13ID:???0101nobodyさん
2007/07/17(火) 15:06:17ID:???Cakeに流れた?
0102nobodyさん
2007/07/17(火) 18:13:00ID:???0104nobodyさん
2007/07/20(金) 23:11:01ID:HPTI18nF心のよわいやつだなあ
0105nobodyさん
2007/07/21(土) 00:04:05ID:???0106nobodyさん
2007/07/21(土) 03:25:50ID:YySJAyHDルールの少ないCIのほうが入りやすそうなんだけどな。
かくいう自分もデザイナ上がり。
日本語サイトが少ないのがイマイチ普及しない原因でしょうか。
前にも書いたけどさんざん張られてるマニュアルサイトの情報だけで
ちょっとしたサイトなら簡単に構築できるからおすすめですにゃ。
0107nobodyさん
2007/07/21(土) 11:10:24ID:???0108nobodyさん
2007/07/22(日) 04:01:25ID:dxwJT9EHそうか?
0109nobodyさん
2007/07/22(日) 10:21:52ID:???>ルールの少ないCIのほうが入りやすそうなんだけどな。
これならわかる。
0110nobodyさん
2007/07/22(日) 16:06:56ID:???必須チェックをvalidation使ってどうやってやったら良いでしょうか?
validation内では$_POSTしか見てくれないようで、
ruleにrequiredを設定すると、必ず必須エラーになってしまいます。
callback関数も呼んでもらえないし、みなさんどうされてるんでしょ?
そこだけ自前?
0111nobodyさん
2007/07/22(日) 17:46:49ID:???0112110
2007/07/22(日) 17:57:43ID:???フォームからファイルが指定されたかどうかです。
$_FILES['xxxx']['name']に値があるかどうかでチェックしようと思ってました。
その後$_FILES['xxxx']['error']をチェックしたり、拡張子の制限を追加したりと
思ってたんですがその前に挫折してしまいました。
0113nobodyさん
2007/07/22(日) 18:01:33ID:???0114110
2007/07/22(日) 20:56:00ID:???今回は、フォームにはテキストボックス等の入力もあるので、
そのチェックはvalidationでやっています。
if ($this->validation->run() === FALSE) {
入力エラー
} else {
正常
}
これを
if (!$this->validation->run() || !$this->upload->do_upload()) {
入力エラー
}
とする事にしました。
ありがとうございました。
0115nobodyさん
2007/07/22(日) 23:17:46ID:???system/application/viewsとかにおいてる?(別途controller必要だけど)
それとも
documentroot/css とか?
参考にしたいのでよろしくです。
0116106
2007/07/23(月) 02:26:30ID:rslZzZtPベタ書きされたよそのシステムに手を入れる機会が多いので、
OOP(というかデザパタ?)苦手な人が多いのかなと思ったのです。
自分も「自己流でよくね?」と思ってた時期が長くて、
オブジェクト指向の本をいくつか読むまでFWの恩恵がわからなかったもので。
低レベルな主観で語ってしまいました。ごめんなさい。
0117nobodyさん
2007/07/23(月) 06:11:20ID:???CSSに限らずファイルはすべて前者(viewsにおくかどうか別にして)が可能なように
対応。速度のことを考えて最終公開用に後者に置くことを想定するが、
ファイル変更等は常に前者で。
0118nobodyさん
2007/07/27(金) 02:06:10ID:???を読んで勉強しています。
誤植と思われる箇所を発見しました。
http://userguide.cilab.info/general/controllers.html
のページの真ん中辺にある文章で、「関数呼び出しの再マッピング」のサンプルコードについてです。
function _remap($method)の中の
$this->$method();
は、
$this->method();
ですよね?
=method()の前についている$が不要。
ユーザーガイド日本語版を作成された方は、このスレをご覧になっているでしょうか?
とりいそぎご報告まで(・∀・)
0119nobodyさん
2007/07/27(金) 07:53:56ID:/fnc4AF20122nobodyさん
2007/07/27(金) 08:41:48ID:/fnc4AF2記事関連の各ページに「わけありユーザ上位数名」を表示したいとき。
条件が複雑だからできれば今後のために「ユーザ controller」にまとめたくて。
もう眠いからfile関数で取っちゃおうかな。
0123nobodyさん
2007/07/27(金) 08:45:35ID:???0124nobodyさん
2007/07/27(金) 09:01:52ID:/fnc4AF2サンクスです。
0125nobodyさん
2007/07/27(金) 13:44:27ID:???あああ!意味が分かりました!!!
<?php
$method = "some_method";
$some_method = "name";
echo $$method;//→echo $some_method; と同じ
?>
ってことなんですね。
$this->$method();
にしておけば、実行する関数をその都度指定できると。
私の解釈が間違っていることを気づかせてくれるヒントをいただき、どうもありがとうございました。
0126nobodyさん
2007/07/27(金) 21:47:18ID:kiyCeLtJサイト毎にまとめて設定して、
CodeIgniterをひとつのフォルダにぶっこんで共有したいんだよね…
無理か…
あーバージョン管理大変じゃ。
0127nobodyさん
2007/07/27(金) 21:56:52ID:???同一サーバで、URL/host名が違うって言う意味か?
それなら全然無理じゃないし普通にできるだろ
0128nobodyさん
2007/07/28(土) 09:53:42ID:???http://userguide.cilab.info/general/managing_apps.html
0131nobodyさん
2007/07/28(土) 10:20:57ID:???0132nobodyさん
2007/07/28(土) 10:52:29ID:???そんなに管理の手間はかわらんよ。>>128であろうとCI複数突っ込むのであろうと。
やるならhookつかってconfigクラス拡張+ルータ設定だな。これなら
CI管理はindex.php,applicationも含めて一つでOKだろ。
0133nobodyさん
2007/08/01(水) 06:27:52ID:???徒然なるままにBlog
PHPベンチマーク: Zend Framework vs Symfony vs CakePHP vs CodeIgniter vs PHP on TRAX
http://www.tsujita.jp/blojsom/blog/default/PHP/2007/07/13/PHPベンチマーク-Zend-Framework-vs-Symfony-vs-CakePHP-vs-CodeIgniter-vs-PHP-on-TRAX.html
0134nobodyさん
2007/08/01(水) 09:56:13ID:???0135nobodyさん
2007/08/02(木) 17:13:21ID:S/9lNY0s$newdata = array(
'name' => 'john',
'id' => '1',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
セッションがパソコンに保存しくんねーけど、なぜだーーー!
0136nobodyさん
2007/08/02(木) 20:25:34ID:???0137nobodyさん
2007/08/03(金) 10:48:28ID:???出身地及び引き取り先はここですか?
0138nobodyさん
2007/08/03(金) 11:08:37ID:???0139nobodyさん
2007/08/08(水) 21:51:41ID:???こういうのって、どうやって効率よく作業するの?
なんか翻訳支援ツールとかあるんでしょうか。
あと、あの翻訳ってどのくらい時間かかりますか。
別のOSSの翻訳をやってみようかなと考えているので、参考にしたいです。
教えて中の人!
0140nobodyさん
2007/08/08(水) 21:52:45ID:???0141nobodyさん
2007/08/08(水) 21:57:40ID:???嫌いならわざわざこんなとこくるなよ
0142nobodyさん
2007/08/08(水) 21:59:54ID:???0143nobodyさん
2007/08/24(金) 15:33:31ID:???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 クラスを眺めたところ、どうもそのような機能がなさそうなのですが
見落としているかもしれないので、質問しました。
よろしくお願いします。
0144143
2007/08/24(金) 16:53:49ID:???やっぱり出来そうにないので
http://codeigniter.com/forums/viewthread/45922/
のようにやります。
0145nobodyさん
2007/09/15(土) 16:58:09ID:???改めて調べてCodeIgniterを見付けて、いいじゃんと思った。
パフォーマンス重視のシンプル設計というのがいい。
バージョンも1.0越えてリリースになってるし(ベータのフレームワークって多いよね)。
ちょっとやってみる!
0146nobodyさん
2007/09/22(土) 11:44:41ID:???CodeIgniter in Japan
ttp://codeigniter.biz/
RSS検索で「CodeIgniter」と検索したらた出てきた。
今後の情報として、rapyd frameworkの日本語訳に期待。
0147nobodyさん
2007/09/22(土) 13:07:40ID:???と聞いて
日本語の公式サイトができたのか。
と思った
0148nobodyさん
2007/09/22(土) 13:12:41ID:???>CodeIgniter(コードイグニタ)
CodeIgniter(コードイグナイタ)じゃないのか?
0149nobodyさん
2007/09/22(土) 17:07:04ID:???price-change:blog
ttp://pricewave.blog110.fc2.com/
携帯対応とかがかなり参考になります。
0150nobodyさん
2007/09/24(月) 17:32:06ID:???0151nobodyさん
2007/09/24(月) 18:12:43ID:???「ビジネス」とか好んで言いたがる奴ってゴミが多いし
0152nobodyさん
2007/10/05(金) 23:49:53ID:???Create it!
ttp://tuevin.jugem.jp/
こちらのサイトですが、CodeIgniterのTipsを取り扱っています。
使っていて、あれどうやるのかなぁ、と思うネタが結構載っていて重宝します。
0153nobodyさん
2007/10/06(土) 01:01:46ID:???マトモなサイトなら別に荒らされたりしないから。
とりあえず乙
0154nobodyさん
2007/10/19(金) 17:33:20ID:???http://www.amazon.com/dp/1847191746/
発売されてから2ヶ月半立っても話題に出ないから貼っておく。
0155nobodyさん
2007/10/19(金) 20:46:31ID:???0156nobodyさん
2007/10/23(火) 14:19:22ID:???Indexクラス作って、デフォルトコンストラクタ作って、エントリポイントなメソッド(index())作ったところで
コンストラクタとメソッド名かぶるじゃんって気づいた。
トップページはやっぱり welcome じゃなくて index にしたい、ってだけなんだけど、普通どうしてるもの?
0157nobodyさん
2007/10/23(火) 17:28:10ID:???0158nobodyさん
2007/10/23(火) 17:38:14ID:???http://userguide.cilab.info/general/routing.html
0159nobodyさん
2007/10/26(金) 16:49:25ID:WZ/kPbo7いろんな有名どころのフレームワーク試したけど導入で躓いた・・・
DB関連も良さそうだ
これ使う前はZendが一番使いたかったけど、もうこれで十分だな
0160nobodyさん
2007/10/26(金) 17:30:20ID:???0161nobodyさん
2007/10/27(土) 21:08:04ID:stfTQ4kY0163nobodyさん
2007/11/22(木) 16:21:00ID:???0164nobodyさん
2007/11/23(金) 02:05:01ID:???0165nobodyさん
2008/01/17(木) 10:41:51ID:???0166nobodyさん
2008/01/30(水) 01:49:15ID:2r+EzdWP0167nobodyさん
2008/01/30(水) 09:57:56ID:tmBsdMJoURLヘルパでこの設定使わなかったら片手落ちもいいとこなんだが…
0169166
2008/01/30(水) 17:06:19ID:2r+EzdWPバクトラック投げてくれた方に感謝です。
0170nobodyさん
2008/01/30(水) 19:40:03ID:???当たり前じゃねーよ
・ルールに従ってスマートなURLをパースし、パラメータにする機能
・パラメータを元に、ルールに従ってスマートなURLを組み立てる機能
これはペアだ
0172nobodyさん
2008/02/01(金) 08:03:32ID:???<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
って書いてる?
0173nobodyさん
2008/02/01(金) 08:58:03ID:???検索もPOSTでしろと??
0174nobodyさん
2008/02/01(金) 09:43:29ID:???$config['uri_protocol'] = "PATH_INFO";
で出来たわん
0175nobodyさん
2008/02/01(金) 09:49:34ID:???ciは基幹クラスを上書きできるのがいいな
0176nobodyさん
2008/02/01(金) 10:23:44ID:???0177nobodyさん
2008/02/01(金) 11:37:18ID:???ciに習ってphp4式(プロパティーはvar、アクセス修飾子なし)で書くか、
php5式で書くか、dotch?
0179nobodyさん
2008/02/01(金) 19:41:43ID:???って仕様ダサくね?
methodとぶつかりまくりじゃん
というよりも、methodにプレフィックス付けるようにするべきだろ
常識で考えて
0181nobodyさん
2008/02/01(金) 21:28:10ID:???0182nobodyさん
2008/02/01(金) 22:26:18ID:???なんでそんな話になるんだよw
俺の実装がどうとかいう話じゃねえ
ユーザー全てにおいて起こりうる問題だから言ってんだよ
0183nobodyさん
2008/02/01(金) 23:08:14ID:???ほんまやんけ!
CodeIgniter1.6、キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
http://codeigniter.com/news/codeigniter_1_6_hits_the_streets/
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日にデリック・アラードによって掲示されます。
0184nobodyさん
2008/02/01(金) 23:34:54ID:???0185nobodyさん
2008/02/02(土) 08:15:19ID:NjVdwivu機械翻訳ひどいな
0186nobodyさん
2008/02/02(土) 10:44:24ID:???ハンドリングがうまくいってないのか…
0187nobodyさん
2008/02/03(日) 21:28:38ID:???> って仕様ダサくね?
> methodとぶつかりまくりじゃん
メソッド名は動詞、クラス名は名詞になるから
普通に作っていたら、まずありえないな。
0188nobodyさん
2008/02/03(日) 23:18:33ID:???0189nobodyさん
2008/02/04(月) 08:32:42ID:???0190nobodyさん
2008/02/04(月) 10:13:31ID:???というよりもメソッドが動詞になるということ自体勝手なマイルールじゃん
そんな心くばりに依存するような実装はセンスがないと言っている
最初から名前空間を分ければいいこと
0191nobodyさん
2008/02/04(月) 13:00:32ID:???>曖昧な基準
英語を勉強したことがあれば知ってることだが、英会話の中では基本的に、名詞と動詞は区別できる。
>名詞と動詞が同型の単語は?
set
【名】一組{ひとくみ}、ひとそろい、一式
【自動】(ゼリーなどが)固まる、(骨が)くっつく[固定{こてい}する]
【他動】〜を正しい位置{いち}に置く[取り付ける]、整える、定める、配置{はいち}する、設定{せってい}する
こういう単語は気をつけないといけない。
メソッド名には動詞+目的語という形にして動詞単独で使わなければ、動詞と名詞が重複することはない。
>名前空間を分ければいい
PHP6では名前空間によって、重複が少なくなる?
0193nobodyさん
2008/02/04(月) 19:44:52ID:???俺はお前のコードは見たくないわ。
0194nobodyさん
2008/02/04(月) 23:39:11ID:???http://www.atmarkit.co.jp/farc/rensai/goodmodel01/goodmodel01.html
>
> 名詞・動詞分析法
> ユースケースや用語集から、名詞、名詞句を探し出して、クラスの候補とし、
> 動詞、動詞句を探し出して、メソッドの候補として作成していく方法。
たしかに名詞と動詞が同じものもあるから完全には決まらないが、
こんなの大体でいい。メソッドの場合は() 括弧がつくのだから
たとえ同じでも動作に不都合は無い。人間がわかりやすくするためのものなのだから
大体それで区別できれば問題ないわけだよ。
0195nobodyさん
2008/02/05(火) 00:41:07ID:???俺としてはAuth関係を標準で入れてほしかったなあ。
0196nobodyさん
2008/02/05(火) 01:35:22ID:???なんかPHPってC++とJavaを足して2で割ったような言語になってきているような気がする。
お手軽な言語から敷居の高い言語に変わっていくような気が・・・。
やだな〜。
0197nobodyさん
2008/02/05(火) 02:23:24ID:???後方互換性=PHP4、PHP5の文法で書かれたコードが実行できる状態で拡張、改善されるなら問題ないと思うけど。
0198nobodyさん
2008/02/05(火) 02:28:34ID:???0199nobodyさん
2008/02/05(火) 07:27:59ID:???ASPでもJSPでもそうなんだが。
まあ実際にはやらないけど、例えば1行で日付だけ表示させるようなプログラムでも
前ならHTMLの表示させたい場所に<phpで埋め込めば一瞬だったけど
MVCとかにすると表示する関数をモデルに用意して、テンプレに表示用用意しておいてコントローラーからビューにアサインしてみたいな面倒なことになる。
デザインとコードを分離できるのはメリットでもあるが、関係箇所が分離される事により
関連を探す手間も増えて見る場所も増えてでデメリットもあるのがなあ。
0200nobodyさん
2008/02/05(火) 10:53:55ID:???0201nobodyさん
2008/02/05(火) 13:48:11ID:???CodeIgniterなら、テンプレートファイルに無理やりロジック(PHPコード)を入れられるんじゃないですか?
http://userguide.cilab.info/general/alternative_php.html
CodeIgniter の テンプレートエンジンを利用したくない場合は、ビューファイルで純粋なPHPを利用することができます。
0202nobodyさん
2008/02/06(水) 09:14:57ID:4yRuvbwoクッキーなんて4Kくらいしかないし
それほど安全でもないし
毎回送信されるしでありえないんだが…
0203nobodyさん
2008/02/06(水) 09:59:31ID:???0204nobodyさん
2008/02/06(水) 10:06:28ID:???http://lists.sourceforge.jp/mailman/archives/codeigniter-users/2007-December/000048.html
0205nobodyさん
2008/02/06(水) 11:08:34ID:???PHP独自セッションは、スケーラビリティを考慮されていない設計になっていることと、
セキュリティの問題の2点からCIでは独自のセッションデータを保持するようにしていると思われる。
簡単に言うと、(うそ書いてるかも知れないからごめんね、一応自分で調べてみてください)
1.スケーラビリティの考慮漏れ
PHPはセッションデータをサーバの内部に保存する為、負荷分散を考えてサーバを2台に増設したと仮定した場合、
直接アクセスがあった1台のサーバには対象ユーザーのセッションデータが保存され、
もう一方のサーバにはセッションデータが保存されない、負荷分散時のロードバランサー、サーバなどの設定によっては、
2つのサーバ同士でセッションデータ共有がされずにセッション情報がうまく引き継がれない可能性がある。
なので、PHPのセッションを利用しているときに1度目と2度目のユーザーのアクセスが異なるサーバに行った場合にセッションデータが引き継がれない・・・。
2.セキュリティの観点
PHPSESSIONID(こんなんだったけ?)をキーにサーバにセッションデータを登録するから
適当な値で他人のセッションデータが簡単に盗めてしまう可能性がある。(改善されたのかな?)
例えば、ログイン情報をセッションに持っている作りのサイトで、
「http://????.com/login.php?PHPSESSIONID=aaaa」見たいなリンクが張られていてこのリンクをたどってログインした場合に、
他人が「http://????.com/info.php?PHPSESSIONID=aaaa」とアクセスすると
セッションタイムアウトが発生していない限り他人のセッション(この場合「aaaa」というPHPSESSIONIDでログインした人のセッション)をのっとる事が出来る脆弱性があってこれについて、
独自に解決をしていると思われる。
たしか、こんな感じだったと思う。
間違えているかもしれないので、申し訳ないですがPHP独自セッションのまずい点は色々なサイトに載っているからあさって調べてみて・・・。
俺も、だいぶ前に調べたから・・・。
0208nobodyさん
2008/02/06(水) 12:20:16ID:???cookieにセッション情報を格納するようにした
0209nobodyさん
2008/02/06(水) 12:32:09ID:???0210nobodyさん
2008/02/06(水) 13:02:45ID:???うん
cookieに突っ込むsession内容全体のdigestをアプリ固有のキーで生成して
そのdigest自体もcookieに入れておいて、サーバ側で受け付けた時には
そのdigestを検証して信用できるかどうかを調べてOKなら受け入れる、
という感じの実装みたい
0211nobodyさん
2008/02/06(水) 13:21:01ID:BSm5jPk+ここがほんとに安全なら楽になるな。
ユーザ側保存に不安があって自前で作るの面倒だったから。
0212nobodyさん
2008/02/06(水) 14:52:10ID:???それに携帯だったらどうするんだ?
クッキー使える機種だとしても、一アクセスごとに
最大4Kものパケット料がかかるよな?
0213nobodyさん
2008/02/06(水) 15:03:08ID:BSm5jPk+あと、バリデート済みのPOSTデータをセッションにつっこんで、
確認ボタン押したらそのままinsertとかができなくなるね。
データを一度ユーザ側に預けちゃってるわけだし。おっかない。
0214nobodyさん
2008/02/06(水) 15:08:08ID:BSm5jPk+吊ってきます。
0215nobodyさん
2008/02/06(水) 15:48:02ID:???CIもただCookieに単純に入れてOKとしてるわけじゃなかったと思うよ。
セッションの信頼性のチェックとかしてたと思う。
0216nobodyさん
2008/02/06(水) 15:53:03ID:???「PHPSESSIONID」をそのまま信用するようなことをしない対処を行うのはセキュリティ上今のPHPでは必要だと思うのだが。
それをやりやすくCIがやってくれていたはず。
DB使った場合だけだったかも知れないけど・・・。
0217nobodyさん
2008/02/06(水) 15:58:42ID:???だからそういう携帯や4k超えるような
でかいセッションファイル抱えるような場合は
ファイルやDBのセッション使えばいいって事
でも基本はセッションで扱うデータ量なんてしれてるし、
だったらcookieだけでやってしまえばいいんじゃね、って事
0218nobodyさん
2008/02/06(水) 21:34:26ID:???0219nobodyさん
2008/02/06(水) 21:37:08ID:???コハナじゃなくてクワナって言ってるな
0220nobodyさん
2008/02/07(木) 05:27:35ID:???定数定義とかinclude_pathの設定するのはアリ?
ここで関数の定義とかまで出来ちゃうのがphpのすごいとこだけど
0221nobodyさん
2008/02/07(木) 05:32:29ID:???ダイジェスト生成のロジックが割れたら
いじったデータをセッションに入れられるかもしれない
ユーザには知られたくないデータをセッションに入れることもありうるから
やっぱり抵抗あるなー
0222nobodyさん
2008/02/07(木) 06:38:42ID:???ciの本が出るらしい
売れるのかな…?
個人的には好きだが
0223nobodyさん
2008/02/07(木) 19:12:59ID:???PHP4なんて脂肪してんのに
ハンドリングするのエラーだけってどんだけ〜
0224nobodyさん
2008/02/07(木) 19:50:59ID:???0225nobodyさん
2008/03/03(月) 23:43:59ID:???なんだかんだ、uploadして一時ファイルをattacheさせてるんだけど。
もっといい方法ない?
0226nobodyさん
2008/03/05(水) 10:07:19ID:wSWuSxOd扱うデータ量なんてしれてるならsessionの方がいいよ
cookieを使う利点はサーバー側に負荷がかからないことだよ
扱うテータ量が多いほどcookieを使えばサーバー負荷にならないんだよ
0227nobodyさん
2008/03/05(水) 17:13:22ID:???データ転送量が増えるけどな。
0228nobodyさん
2008/03/05(水) 18:16:46ID:???0229nobodyさん
2008/03/16(日) 12:08:31ID:pwsdbwjT0230nobodyさん
2008/03/16(日) 12:33:46ID:???0231nobodyさん
2008/03/20(木) 22:08:46ID:???0233nobodyさん
2008/03/21(金) 01:05:34ID:???機能もシンプルだしねぇ
0234nobodyさん
2008/03/21(金) 04:14:05ID:???まあ小規模向けだね。
0235nobodyさん
2008/03/21(金) 12:34:00ID:???どのあたりでモデルが軽視されていると思ったの?
0236nobodyさん
2008/03/21(金) 18:23:01ID:???わからんけど
0237nobodyさん
2008/03/22(土) 00:16:05ID:???VerUPが頻繁だと遊ぶ分には楽しいけど実務じゃちょっと。
0238nobodyさん
2008/03/22(土) 00:16:56ID:???0239nobodyさん
2008/03/22(土) 00:37:50ID:???0240nobodyさん
2008/03/22(土) 18:01:21ID:???いや、安定してないと言ってるわけじゃないんだけど
更新が頻繁だと嬉しくもあるけどあんまり業務で使いたいと思わなくね?
あまりにも更新が頻繁=すぐ修正されるような問題点がまだまだある
と思えるし。
更新しないから安定してるってわけじゃないけどね。
中身バグだらけだけどただ単に更新止まってるだけとかあるし。
機能の追加の更新ならともかく、あんまり頻繁にBugFixで更新多いと心配になる。
致命的なのがあって、それを更新したから業務で使ってるのも更新しなきゃ→動かなくなった
とかが一番困るし。
0241nobodyさん
2008/03/23(日) 16:49:33ID:???リリースの頻度で安定している、していないを判定しているやつは素人
中身で判断しろ
修正でも不具合でも深刻具合による
リリーススケジュールの話ならここでしても無駄だ
本家で議論してこい
0242nobodyさん
2008/03/24(月) 12:26:43ID:???お前はもう少し>>240の書き込みをよく読め。
文盲か。
リリースの頻度で安定度してるかどうかを判断してるなんて書いていないだろ。
0243nobodyさん
2008/03/24(月) 14:41:00ID:???これを書いている時点で何もわかっちゃないだろ
0245nobodyさん
2008/03/25(火) 00:28:01ID:???もうちょっと温厚になれないのか。
0246nobodyさん
2008/03/25(火) 00:45:11ID:???みつを
0247nobodyさん
2008/03/28(金) 15:03:32ID:???と見に来たあなた。
書き込んでいるのは俺ですよ! 俺!
中身は何にもありません。ざーんねーんw
0248nobodyさん
2008/03/29(土) 03:13:12ID:???1, CIってモデルはオマケと言われてるけど、
CLIベースでモデル開発して、あとはコントローラから呼び出すというスタイルは
一般的ではない?
理由:モデルの開発をわざわざCI上でやりたくない
2, プラグインからモデルのデータセット取得して表示を返すようにしておいて、
それをビュー上で呼び出すようにしようかと思うのだけど、無作法?
理由:表示を構築するだけのコードだったらコントローラに書きたくない
3, 定義されてないコントローラクラスがURIセグメントで指定されたら
「クラス名.html」を自動的に表示する方法ってない?
理由:ロジックがないページまでわざわざコントローラを定義するのは面倒
0250248
2008/03/30(日) 14:38:56ID:???後から乗っけるだけでいいのかなあと思ってたけど、
CIでもできる限りフレームワークの流儀には沿うのね。
確かに、自分がご相談で書いた内容は、
他人がメンテする上で解読が困難になるか・・・
0251nobodyさん
2008/04/05(土) 16:57:53ID:???その通り。
努力が足りない非正規雇用の増加や、
正社員の中にもサービス残業が嫌だなどという甘えた輩が増えていることは
その証拠でしょうね。
0252nobodyさん
2008/04/08(火) 00:06:53ID:???>>正社員の中にもサービス残業が嫌だなどという甘え
おまえアホか
サービス残業が嫌だと思う事がなぜ甘えに繋がるの?w
サービス残業をさせる = 違法 って事ぐらいはオツムに入れとけ
0253nobodyさん
2008/04/08(火) 01:34:23ID:???0254nobodyさん
2008/04/08(火) 15:00:18ID:ozdPGPduhttp://oro9.thick.jp/doku.php?id=php:codeigniter:kohana_validate
0255nobodyさん
2008/04/11(金) 11:12:15ID:YKNdPaTr0256nobodyさん
2008/04/11(金) 13:56:30ID:DluuZ7jC他のコントローラで生成したHTMLを部分的にはめ込みたいんです。
よろしくお願いします。
0257nobodyさん
2008/04/13(日) 17:54:13ID:???画像(自前で用意するdefault imageとか、ユーザがuploadするものとか)は、
どこに置くのがスマートなんでしょうか。
あとCSSは、views/cssに突っ込んでみたんですが、
htmlのヘッダで呼び出す時に、system/application/views/cssみたいなフルパス書いてて、
なんか使い方間違ってる気がしますorz他のやりかたありますか?
0258nobodyさん
2008/04/13(日) 19:11:41ID:???ぶっちゃけCIは今日から始めたところだけど、
俺だったら画像とかは
/images
cssは
/styles
とかに置くかな。
viewsと同じフォルダにおく必要は全く無いし、
system以下はHTTPアクセスさせないほうが良いだろうね
0259258
2008/04/13(日) 20:49:43ID:???なんかCIのActiveRecordって変、
ていうかActiveRecordとはいえないような気がする。
ただのGatewayにしか見えない
これみんな我慢して使ってるの?
それともこのActiveRecordは使ってない?
0260nobodyさん
2008/04/13(日) 20:51:19ID:???ありがとうございやっす!
同じ事思ってました>system以下はHTTPアクセスさせないほうが良い
けど、applicationに含めるのが作法なのかな?とかも思ってて。
さっそく/imagesとかにしてみます。
0261nobodyさん
2008/04/14(月) 00:46:07ID:???・ActiveRecord
使ってない。PDOのラッパライブラリ作って使ってる
・セッション
PHPSESSIONなライブラリ使ってる
・テンプレ
PHPTAL使ってる
0262261
2008/04/14(月) 00:58:00ID:???使ってる使ってないは漏れの話ね
一般的なCI使いがどうしてるかは知らない
とりあえず漏れはCIでECサイト開発したけど、
CIの機能はMVCのCしか基本的に使ってないし、
ちょこちょこカスタマイズしてる
0263259
2008/04/14(月) 07:16:21ID:???レスありがとう。
やっぱり使ってないんだね。
俺も自作ライブラリ引っ張り出して使うことにするよ。
セッションはログイン中かどうかのフラグだけ、
テンプレも触るのは自分だけだから
とりあえずそのまま使ってみる。
0264nobodyさん
2008/04/14(月) 14:01:23ID:???テンプレは生PHP。(小さい会社でコーダー兼務なので)
セッションは$_SESSIONを直で。
0265nobodyさん
2008/04/14(月) 19:30:24ID:???0266nobodyさん
2008/04/15(火) 00:00:22ID:???ttp://kokoromo.jugem.cc/?eid=196
ttp://kokoromo.jugem.cc/?eid=197
この本でadodbが紹介されてて、いろいろメリットが書かれてました。
↓
PHPによるWebアプリケーションスーパーサンプル 活用編
ttp://www.amazon.co.jp/dp/4797332638/
0267nobodyさん
2008/04/15(火) 00:13:08ID:???日本語マニュアルが分かりやすくて、すぐに使えました!!!
翻訳作業やってくれている方、どうもありがとうございます(・∀・)
簡単に出来ることを複雑にやる必要はない
コマンドでスケルトン生成したり、設定ファイル書かなくてもすぐに使えて便利
0268nobodyさん
2008/04/15(火) 14:09:30ID:???DBのAPI関数使うよりも良さげそう
0269nobodyさん
2008/04/29(火) 07:16:47ID:???自動で生成する方法ってないですかねー?
いったい何画面作ればいいんだ
スレ違いだったらスルーよろ
0270nobodyさん
2008/04/29(火) 08:42:50ID:AjJ+5S6v0271nobodyさん
2008/04/29(火) 09:57:50ID:???言葉足らずすまそ。
実際にはフォーム画面から入力値を受け取ってバリデーションして
DBに格納するというのが面倒だというのを言いたかった
こんなんできたらいいな、というのがあって、
・フォームのINPUTなどの入力が連想配列で一括取得できる(POSTされたデータ用)
・バリデーションをフィルター的な感覚でやりたい(POSTされたデータ用)
・連想配列でフォームオブジェクトに渡せば対応するNAMEのINPUTなどに自動で値がセットされる(確認画面用)
・フォームからのデータを対応するテーブルにそのまま流し込みたい(バリデーションはするけど)
取りまとめないが、こんな感じ
まあ、画面設計の問題もあるんだが、
工数の内訳として画面処理:ロジック=5:1とかうんざりする
0272nobodyさん
2008/04/30(水) 02:10:32ID:???0273271
2008/04/30(水) 04:48:09ID:???CI以外のフレームワークは作法がガチガチに決まってるから嫌だ
潰しが効かないというか。まあ、フレームワークだから当然なんだが
それに対して、CIはプラットフォーム程度でしかないところが気に入っている
まあ、ライブラリ作るなり、カスタマイズするなりして頑張るよ
0274nobodyさん
2008/04/30(水) 04:54:08ID:???つぶしが利かない
0275271
2008/04/30(水) 05:44:11ID:???漏れの「潰しがきかない」と言ってるのは、
CIでなければ部分的な代替え手法を使うのが難しい、意味がない
という話のつもり
さすがにフレームワークまでは自作せんわ
0276nobodyさん
2008/04/30(水) 12:41:32ID:???0277nobodyさん
2008/04/30(水) 12:49:41ID:???0279nobodyさん
2008/05/01(木) 13:52:23ID:???0280nobodyさん
2008/05/02(金) 23:01:08ID:???http://pc11.2ch.net/test/read.cgi/php/1205475360/765
>>765 名前:nobodyさん[sage] 投稿日:2008/04/29(火) 00:30:20 ID:???
>>一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
0281nobodyさん
2008/05/02(金) 23:14:38ID:???0282nobodyさん
2008/05/03(土) 01:05:09ID:???これはどのFWのスレに貼っても釣れるだろうなw
0283nobodyさん
2008/05/03(土) 04:58:57ID:???Defaultだと予約語みたいでクラス名にできないし
0286nobodyさん
2008/05/03(土) 07:12:58ID:???処理済みのデータは、$this->output->get_output() を呼べば利用可能ですので、留意しておいてください。
ってあるけど
この$thisって何?
フックの文脈でなんで$thisが出てくるのかわからんちん
0287nobodyさん
2008/05/03(土) 12:34:10ID:???こういうざっくばらんさがアメ公っぽい
セッションも変だし…
0288nobodyさん
2008/05/03(土) 16:45:47ID:???FW関係のスレに貼ったら百発百中で釣れる
さすがに罪悪感が・・・w
0289nobodyさん
2008/05/03(土) 23:28:28ID:???http://pc11.2ch.net/test/read.cgi/php/1186096518/161
161 名前:nobodyさん[sage] 投稿日:2008/05/03(土) 10:18:16 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
0290nobodyさん
2008/05/04(日) 00:54:40ID:???まあそれはいいとして
rapydってスタンドアロンのPHP5用フレームワークになっちゃったんだな。
0291nobodyさん
2008/05/04(日) 22:51:42ID:QrBYi/l0セッションの仕様見て萎えた…
結局、ベストプラクティスはどれ???
クッキーなんてPCでもオフになってることあるよね…
入門者向けにベストプラクティスがほしい…
あとページングするのにはURLルーティング変えないとだめなん?
標準だとGETオフになってるし…
0292nobodyさん
2008/05/04(日) 23:17:37ID:???セッションは本家のwikiに使い方ほぼ同じでクッキーじゃなくネイティブの$_SESSION使う
プラグイン(自作ライブラリ?)が公開されてる。
他にも色々あるから英語が苦手じゃなければwiki内探索をオススメ。
0294nobodyさん
2008/05/05(月) 05:31:30ID:???クッキーだと携帯に対応できないのが致命的だわ
0295nobodyさん
2008/05/05(月) 07:01:33ID:1KRQrRZRアクセスコントロールは自前で実装しないといけないの?
0296nobodyさん
2008/05/05(月) 18:26:57ID:???テラしょぼす
0297nobodyさん
2008/05/05(月) 18:48:09ID:???シンプルでダサくないFWはないか!
0298nobodyさん
2008/05/05(月) 18:49:13ID:???0299nobodyさん
2008/05/05(月) 19:32:45ID:???余計なアソシエーションとか
そういうのがないシンプル版がでればいいんだな…
CIのインプットとかビュー周りとかその辺はシンプルですきなんだが
(CI + CakePHP) / 2
なFWないのか
0300nobodyさん
2008/05/05(月) 19:33:40ID:???0301nobodyさん
2008/05/05(月) 19:34:03ID:???0302nobodyさん
2008/05/05(月) 21:58:20ID:???欲しい子もありで。
・・・考えてみたら、欲しい子、要らない子ばかりで
要る子がいなかった・・・orz
0303nobodyさん
2008/05/05(月) 22:30:04ID:???0304nobodyさん
2008/05/05(月) 23:56:22ID:???CIだけではないが。
コントローラーのディレクトリ内ファイル名を読み出してbaseurlにくっつければいいのかな。
でも全部出てくるのも困るからやっぱり手動か。
テンプレでの表示とカスタマイズはCMS的に管理画面からいじれれば一番ラクだな。
CSSや画像も含めて、まず専用の管理画面を自作するべきなのかもしれないな。
0306nobodyさん
2008/05/06(火) 03:22:16ID:???ページコンテンツが日々どんどん更新され増えていく(と勘違いしている)ようなサイトが多いと思う。
そうなるとやっぱり、更新されたページ含めてサイト内ナビを自動で出したくなる。パンくずも出したい。
デザインのCSSや画像は、後戻りのない更新というより、素人管理者でも一発ですぐ元に戻せる「切り替え」という形にしたい。
新旧別内容の同名ファイル群をftpで切り替えるというのはこれも間違いの元で、稼動中の商用サイトに多用するのは危険。
まあ結局そこまでの機能が出来合いで欲しければExpressionEngineとやらを買え、ということなのかもしれないが。
0307nobodyさん
2008/05/06(火) 09:57:12ID:???ブログを使った方がいいんでない?
あと、ナビというのを漏れは勘違いしているのかもしれないが、増えるページというのは
「DBにデータが入る&グルーピングされる&管理画面から追加する」と思っているので、
ページリスト的なものを一つ作れば終わりかなあと思ってる
グルーピングされてるからパンくずも固定だし
(パンくずはセグメントとラベルの対応テーブルから引用するプラグインを作って
テンプレに埋め込んで表示させてるけど)
話変わるが、ACLもユーザグループと権限の対応テーブルで制御してて、
メニューを非表示にしたり、直打ちされたら404を返すようにしている
0308nobodyさん
2008/05/06(火) 12:13:58ID:???実用で使うには、自前でpukiwikiやワードプレスやxoopsをつくるくらいのプランニングと実装が必要になるてこと。
つまり、ルーティングシステムから各ヘルパ関数までフルスクラッチで自作するよりは簡単で、
テンコ盛りの無駄機能に縛られるxoopsよりは圧倒的に融通が効いて軽量だな。
仕様はともかくサイト内ナビ・リンク管理機能を売り文句に加えればdreamweaver並に売れるw
0309nobodyさん
2008/05/06(火) 12:24:25ID:???もともとCIを含んだフレームワークは、
pukiwikiやxoopsなどを作るための
プログラム用のツールだろ。
サイト内ナビ・リンク管理機能とか意味不明だっつーのw
0310nobodyさん
2008/05/06(火) 12:44:40ID:???1.フレームワークの段階で<li>で出てくる程度のものを用意するか。
2.各現場プログラマーが自作するか。
3.デザイナーやコンテンツライター、素人管理者がしこしこ手打ちするか。
てこと。
まあ縄張り争いにもなるので結論は期待していないが。
0311nobodyさん
2008/05/06(火) 13:32:18ID:???デザイナー様にはformの要素のnameの付け方ぐらい覚えて欲しいな。
name書かないとか""にしておくぐらいならDBテーブルのフィールドと
同じ名称をつけておくぐらいして欲しいよう
俺が出会ったフリーのデザイナーなんて上記ばっかりなのだが、
そういうものなの?
0312nobodyさん
2008/05/06(火) 14:00:56ID:???触らぬウンコにたたりなし。
0314311
2008/05/06(火) 14:12:16ID:???0316311
2008/05/06(火) 14:36:00ID:???被る部分は事前打ち合わせするぐらいの責任感は欲しいわけですよ
0318nobodyさん
2008/05/06(火) 15:32:17ID:???0319nobodyさん
2008/05/06(火) 17:35:07ID:???むしろ HTMLすらまともに書けないプログラマーのほうが多い…
なんでもかんでも div や p とか
CIとは関係ないけど FWでもヘルパの吐き出すHTMLが糞
っていうのはよくある
0320nobodyさん
2008/05/06(火) 18:15:51ID:???完全W3C準拠じゃないとダメとか言い出す潔癖症みたいなのまでいるしな。
それこそデザイナーの仕事。
プログラマはデザイナーの作った見た目だけで論理構造の破綻しているコードを手直ししてるんだから
デザイナーはプログラマの書いた表示上整ってるだけでHTML的に糞なコードを手直しすればいい。
0321nobodyさん
2008/05/06(火) 18:18:30ID:???0322nobodyさん
2008/05/06(火) 19:26:21ID:???cakeのスレみたら
なんかthreadとかいうクラスあるみたいな
PHP自体がthreadセーフじゃないのに何がthreadなんだか
そんなセンスのないフレームワークなんかいいはずがない
0323nobodyさん
2008/05/06(火) 19:31:57ID:???0324nobodyさん
2008/05/06(火) 19:35:22ID:???cakeはナンセンス
0326nobodyさん
2008/05/06(火) 19:42:52ID:???0327nobodyさん
2008/05/06(火) 20:38:03ID:???しかも、2ちゃんねるの「スレ」の意味の
スレッドじゃねーか。
0328nobodyさん
2008/05/06(火) 21:46:43ID:???0329nobodyさん
2008/05/06(火) 21:53:50ID:???0330nobodyさん
2008/05/07(水) 17:38:33ID:???…てか、結構まだ先ですねorz
http://codeigniter.jp/archives/102
2008年6月9日「CodeIgniter徹底入門」が発売されます!
翔泳社より発売されます。徹底入門シリーズとして、約600ページの内容となります。
サンプルコードやレシピなど内容も充実しています。
0331nobodyさん
2008/05/07(水) 17:47:54ID:???O/Rマッパーとか使ったことないんですけど、カラム名の命名は規則があった方がいいもんですか?
(1) id int型 auto_increment = 各テーブルの主キーのカラム名
(2) レコードのCRUDに関するデータを入れておくカラム名
insert_datetime datetime型
update_datetime datetime型
delete_datetime datetime型 (論理削除の場合にフラグとして使用)
0332nobodyさん
2008/05/07(水) 20:48:40ID:xkEge6Njセッションとかそういう
デメリットの部分をカバーしてくれてるなら買うが・・
そうでなければ買う意味なさそうだな
0333nobodyさん
2008/05/07(水) 22:47:19ID:???0334nobodyさん
2008/05/08(木) 03:22:49ID:???0335nobodyさん
2008/05/08(木) 04:02:34ID:???0336nobodyさん
2008/05/08(木) 06:34:10ID:???0337nobodyさん
2008/05/08(木) 10:10:07ID:???セグメントベースって何なんだよ
ci以外にあんのかこんなの
0338nobodyさん
2008/05/08(木) 10:29:41ID:???痒いところに手が届く解説が欲しいな。
0339nobodyさん
2008/05/08(木) 11:13:39ID:???ちいたんも本が出たら…(・∀・)
0340nobodyさん
2008/05/08(木) 13:24:21ID:???あったよ。
http://www.amazon.co.jp/s/ref=nb_ss_gw?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=%82%BF%82%A2%82%BF%82%E1%82%F1
0343nobodyさん
2008/05/09(金) 20:18:30ID:???0344nobodyさん
2008/05/09(金) 20:40:43ID:???ショッピングカートとかCMSとか。
あちこち独自ライブラリで拡張しまくりだけど。
CIは独自フレームワークを作るためのフレームワークという感じ。
0345nobodyさん
2008/05/09(金) 21:46:00ID:???同じく。
自前でフロントコントローラ作るのが面倒だからプロジェクト毎に特化したCIライブラリ拡張してる。
って使い方するならCIは便利だと思う。
他の人はどうなの?
0346nobodyさん
2008/05/11(日) 07:16:47ID:???同じく。つか、これこそFWだと思う。
今後は他のFWから依存しないライブラリを
パクって統合してみる予定。キメラ的な感じ。
0347nobodyさん
2008/05/11(日) 09:16:30ID:???0348nobodyさん
2008/05/11(日) 10:11:44ID:???フレームワーク意味ないじゃないかw
0350nobodyさん
2008/05/11(日) 12:14:16ID:???独自のライブラリはなるべく使わない。
0351nobodyさん
2008/05/11(日) 12:27:53ID:???すまん、ちょっとわからんかった。
独自ライブラリを組み込んだものを
チーム全員が同じく使うという前提だったのだが、
350はCIをそのまま使えと言っている?
0352nobodyさん
2008/05/12(月) 00:45:07ID:8tRiGXCa0353nobodyさん
2008/05/12(月) 00:47:19ID:???HTMLも内部もUTF-8にきまってるだろ。
0354nobodyさん
2008/05/12(月) 01:08:57ID:???0355nobodyさん
2008/05/12(月) 14:58:24ID:???とかプロパティーでメソッドチェーンするのってキモいな
きもいしイレギュラーだから使い方忘れるわ
0356nobodyさん
2008/05/12(月) 14:59:47ID:???0357nobodyさん
2008/05/12(月) 21:14:35ID:???慣れればいいだけだが。
0358nobodyさん
2008/05/15(木) 07:22:57ID:33ekN+Adfunction index()
{
echo 'Hello World!'
}
のように、構文に間違いがあっても、エラーも何も表示されません。
どうしたらエラーの箇所がわかるのでしょうか?
0359nobodyさん
2008/05/15(木) 09:39:21ID:???application/config/config.phpのログの設定のところ見れ。
PHPエラーもログに放り込む設定になってないか?
0360nobodyさん
2008/05/15(木) 18:47:08ID:???$config['log_threshold'] = 0;
となっている。ログに放り込む設定にはなっていないと思う。
ちなみに、使っているのは 1.5.4
1.6.x だと index.php
0361nobodyさん
2008/05/15(木) 18:48:27ID:???1.6.x だと index.php をブラウザで見ても何も表示されないけど、
Apache か PHP の設定が何かおかしいのかなぁ?
0362nobodyさん
2008/05/15(木) 20:11:20ID:33ekN+Adset_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 以上には対応していないってことでしょうか?
0363358
2008/05/15(木) 20:43:44ID:???構文エラーがあってもエラーメッセージが表示されなかったのは php.ini で
display_errors = Off
としているからでした。
お騒がせして&ci のエラーハンドリングを疑って大変申し訳ありませんでした m(_ _)m
0364nobodyさん
2008/05/16(金) 13:43:36ID:???表示系はviewに手打ちが基本?
0365nobodyさん
2008/05/16(金) 13:49:39ID:???0366nobodyさん
2008/05/16(金) 15:15:12ID:???Flexy突っ込んで使ってる。
0367nobodyさん
2008/05/16(金) 18:28:03ID:???view側では文字数減るが、コントローラ側と合わせれば同程度かむしろ増える。
他の人が変数自体や変数に入れたnameやid確認したければ、わざわざコントローラのファイル見に行くことになる。
結局ふつうのフォームは生htmlでviewに書くことにするからメンテナンス請け負った人は客や上司の前で批判しないように。
0368nobodyさん
2008/05/18(日) 03:29:10ID:???すべてのphpファイルの前に
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
なんて書くよりその方がずっと簡単でスマートなのにエリスはあほなの?
0369nobodyさん
2008/05/18(日) 08:20:55ID:???0370nobodyさん
2008/05/18(日) 10:36:08ID:???index.phpを1行いじれば(つか「.」1個打つだけw)BASEPATHをドキュメントルート外に
置く使い方ができるんだから、そうすればいいだけの話。
0371nobodyさん
2008/05/18(日) 15:03:34ID:???何のためにそんな配慮したのか意味不明JK
0372nobodyさん
2008/05/18(日) 15:10:43ID:???お前の文章が意味不明
0373nobodyさん
2008/05/18(日) 18:09:00ID:???JK!
0374nobodyさん
2008/05/18(日) 19:45:51ID:???必ず死ぬ
絶対死ぬ
死は避けられない
私は死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない
あなたは死ぬ
必ず死ぬ
絶対死ぬ
死は避けられない
死を忘れていても
死をごまかしていても
今日はまだ死なないだろうと思っていても
死から逃れることは誰もできない
全ては無常
過ぎた時間は終わってしまえば瞬間だった
まだ遠い先の未来のことだと思っている死も確実にやって来る
memento mori - 汝の死の瞬間を迎えるときを想え
0376nobodyさん
2008/05/19(月) 02:14:56ID:???さすが女子供用のレン鯖だな
0377nobodyさん
2008/05/21(水) 06:09:08ID:???呆れ果てたぜ!
0379nobodyさん
2008/05/27(火) 18:50:32ID:???大枠のテンプレートが使える機能だよ
最近のフレームワークじゃ常識になってる
0380nobodyさん
2008/05/28(水) 00:33:16ID:???Flexy組み込んで実装してる。
Codeigniterにはいらなくね?
俺は余計な機能ゴタゴタつけないで、常にシンプルに保って欲しい。
ライブラリとかプラグイン、ヘルパがあるんだし、欲しい物は自分で追加できた方が嬉しい。
0381nobodyさん
2008/06/04(水) 19:01:53ID:???0382nobodyさん
2008/06/05(木) 01:46:11ID:R522EZcRhttp://userguide.cilab.info/general/urls.html
クエリ文字列の有効化
URLに次のようなクエリ文字列を使用したい場面もあると思います:
index.php?c=products&m=view&id=345
CodeIgniter ではオプションでこのようなことにも対応しています。この機能は、application/config.php ファイルで有効にすることができます。
↑こういうこと?
0384nobodyさん
2008/06/05(木) 11:55:45ID:???なんのこっちゃと思った
0385nobodyさん
2008/06/06(金) 02:27:23ID:???ドラクエの住人がルー大柴だったら [FF・ドラクエ]
昔疎遠になった幼馴染が引っ越してきた [不倫・浮気]
エイチ・エス・フューチャーズ [先物]
POINT-BOX ポイントボックス 8 [ポイント・マイル]
好きなギャルゲーをつまらなさそうに説明づるスレ [ギャルゲー]
ci使いって一体・・・
0386nobodyさん
2008/06/06(金) 05:21:57ID:???# $_GET ならともかく
0389nobodyさん
2008/06/07(土) 01:19:24ID:???GET / HTTP/1.1
HOST: www.example.com
みたいな?一応知ってますよ、と
>>387のHTMLのform要素としてのGETパラメータ、っていう意味でなら通じると。納得。
0390nobodyさん
2008/06/08(日) 13:11:00ID:oe9fgjbi「GET」云々はプログラム言語の仕様の話ではなくて、「HTTP」の仕様・仕組みの話だから、PHPとは関係なく説明に使えますね^^
http://docs.sun.com/source/816-5668-10/esaphttp.htm#1004513
HyperText Transfer Protocol (HTTP) の基本を簡単に紹介します。
●クライアントからサーバへのリクエストには、次の情報が含まれます。
・リクエスト メソッド
・リクエスト ヘッダ
・リクエスト データ
●リクエスト メソッド
クライアントは多くのメソッドを使って情報を要求することができます。
一般的には次の方法が使われます。
・GET 特定のドキュメントを要求します。
・HEAD ドキュメントのヘッダ情報だけを要求します。
・POST サーバの、クライアントからのデータ受信を要求します。CGI プログラムのフォーム入力などです。
・PUT サーバのドキュメントの内容を、クライアントからのデータに置換します。
0391nobodyさん
2008/06/08(日) 13:13:24ID:oe9fgjbiHTTP/1.1 メソッド
GET
HEAD
POST
PUT
DELETE
OPTIONS
TRACE
CONNECT
PATCH
LINK, UNLINK
0392nobodyさん
2008/06/08(日) 14:06:34ID:???0393nobodyさん
2008/06/08(日) 14:51:40ID:???0394nobodyさん
2008/06/09(月) 00:01:07ID:???クライアント(自分のマシン)が、サーバー(WEBサーバー)に対して、「このデータを送ってくれ!」と呼びかける方法がいろいろ用意されている。
その中の一つとして、GETやPOST等の方法が用意されている。
ということだよ^^
「HTTP」でGoogle検索すると詳しく解説しているページが、たくさん見つかるよ☆
0395nobodyさん
2008/06/09(月) 06:12:49ID:???とか付けなくても普通にページ呼び出してたらそれすなわちGETなのだ
0396nobodyさん
2008/06/10(火) 05:51:57ID:???買った人どう?
まぁ本読むまでもない程シンプルなのがciだと思うが・・
0397nobodyさん
2008/06/11(水) 17:14:01ID:???--
bossatama
---
■社名
株式会社 音生(ネオ)
■募集人材と雇用形態
・事務(女性)
・PHPプログラマ アルバイト(男女)
■想定勤務時間
週3日以上希望 残業等なし
■想定勤務地
名古屋市中区金山
■担当してもらう予定の業務
・事務(女性)
・PHPフレームワークを利用したWebアプリケーションの開発
■報酬
自給1000円〜2000円 実力に応じて相談させてください。
■希望人材(スキル・年齢・住居地など)
PHPの初心者歓迎。教育できます。男女学生大歓迎、転職やリターンもOK。
事務をやりながら、デザイン(html)やプログラムを勉強する方もOKです。
■募集期限
2008年7月終わり
■連絡先
「アルバイト希望」として、連絡先をmixiメールにてお願いします。
■その他(好きなだけアピールしてください)
AUの公式サイト「バンドナビ」を運営。音楽大好き!
http://band-navi.com/
日本CodeIgniterユーザ会の主催会社
http://codeigniter.jp/
--
会社が主催してるらしい
0398nobodyさん
2008/06/11(水) 20:16:55ID:???0399nobodyさん
2008/06/11(水) 21:54:47ID:???615ページぐらいあって、やたらでかくて高かった。3800円とか。
開発環境の構築の仕方とかが最初に書いてあって(Eclipse/PDT)、
今までフレームワーク使うまでも無い小さい案件ぐらいしかやったことねぇよ、って言う人むけな感じ。
●サンプルコードも、
・コンタクトフォームを作る
・モバイル対応簡易掲示板を作る
・簡易ショッピングサイトを作る
程度に収まってる。
CIは、Web上に日本語のマニュアル転がってるし、
勘のいい人とか、適当にいろいろフレームワーク渡り歩いてた人とかは必要ないかも。
って、数ページペラペラめくって思った。
そんなに小技とか、そういうのは乗ってない雰囲気でございます。
0400nobodyさん
2008/06/12(木) 13:55:53ID:5LtH7vFx他のFWとは対象者がバッティングしないと。
0401nobodyさん
2008/06/16(月) 03:40:01ID:???PHP初心者だけど、結構ありがたい本。
環境構築からデバッグ方法、フレームワークの基礎的な概念も説明してるし。
リファレンス部も、サンプルコードが充実してるのがありがたい。
迷った時には、この本開けば即解決になる確率が高い。
フレームワークとかの、言語以外の範囲の入門書って、イマイチそういう
迷ったときに解決する為の「当たり」ページを引く確率低いってイメージ
あるから、俺的にはこの本はお勧めできる。
ただ、CI内部のコードとかバリバリ読めて、ネット上からさくさく自分の
探してる情報が引き出せて、CIに機能が無ければ自分でガリガリ書くって
いうようなパワーユーザは、ものたりないって言うかもしれないね。
0402nobodyさん
2008/06/16(月) 04:05:37ID:???0403nobodyさん
2008/06/16(月) 10:32:47ID:uqAO2CKuパラパラとしか見てないけど、即買い!という判断には至らなかった。
自分が本を買う基準の一つとして、購入後の利用頻度を考慮しますが、2〜3回読んだら終わりかな?と思ったので。
>>401
フレームワーク自体に慣れてない人、初心者にとっては役立つ
=CIのマニュアル代わりとして使う用途なら、紙ベースなので便利
と思いました。
0404nobodyさん
2008/06/17(火) 20:04:27ID:???CIそのものが簡単ということなのかな。
0405nobodyさん
2008/06/24(火) 05:50:32ID:???標準の処理と同じコンテクストで処理するのが自然なんだから
エラー用のクラス名とメソッド名だけ指定するようにするべきだろJK
しかもビューチフルにハックもしにくいし
所詮ハゲが書いたFWか・・
0406nobodyさん
2008/06/26(木) 00:50:52ID:???0407nobodyさん
2008/06/26(木) 00:55:50ID:???アメ公の美意識の低さは異常
0408nobodyさん
2008/07/01(火) 04:00:36ID:???0409nobodyさん
2008/07/02(水) 18:00:54ID:???DBオブジェクトが取れてないようなんだけど、取れてない部分のエラーが出てこないのはなんで?
0410nobodyさん
2008/07/02(水) 18:12:41ID:???でもエラーが出ないのはうんこだろ。
0411nobodyさん
2008/07/03(木) 10:15:29ID:XZ5SMLTkどうすればいいんでしょうか?
0412nobodyさん
2008/07/03(木) 17:29:46ID:EmmaV8CTcontroller/admin 掘って そこにコントローラ置いて
あとは admin にルーティングすればいいのかな?
ログイン認証なんかのコントローラとか どうやってわけるのがいいんだろう…
0413nobodyさん
2008/07/03(木) 17:40:04ID:???ぶっちゃけ、どんなURLにしたいかで変わる様な気がする
別ドメインがよければ、Apacheの設定も絡むし。
一般的なのはどんな感じなんだろうねえ
0414412
2008/07/03(木) 17:54:55ID:???ありがとう そだね
とりあえずは controller/admin/ にディレクトリ掘って
そこに置くことにした
あと 管理者関連のコントローラだけ 共通の認証チェック処理いれたいんだけど
その辺のやり方がわからない
前にCakePHPさわったときは beforeFilter なんかで
コントローラ共通の処理入れられたんだけど
CIは 自分でControllerクラス継承して 作らないとだめなのかな?
管理ページ周りの処理で 参考になるとこあったら教えてください…
0415412
2008/07/03(木) 18:02:00ID:???>>411 の言ってることと同じだね
一応 コアクラスの継承は
system/application/library/ に Controllerクラスを継承したMY_Controller.php
とか作ればいいみたいだよ
ログイン認証の共通処理も そうやってAppController 作ればいいんかな…
その辺りの情報がないから どうやるのがいいのか
いまいちわからん
0416nobodyさん
2008/07/03(木) 18:06:26ID:???CIさわらずにKohana触ってる邪道な俺だけど、俺も知りたい
便乗w
俺は、libraries の中にBaseController, UserController, AdminController って作っちゃったな・・・
誰か、筋の良いやり方を教えて
0417412
2008/07/03(木) 18:12:02ID:???ちょいウソあったw
AppControllerじゃなくて MY_Controller だね
/system/application/library/MY_Controller.php
class MY_Controller extends Controller {
function MY_Controller() {
parent::Controller();
}
}
こんな感じ。
ログインの共通処理も ここでやろうかと思ったんだけど
それでいいのかがわからん…
>>416 みたいに 種類ごとにクラス作ったほうがいい気もするし…
0418412
2008/07/03(木) 18:52:48ID:???/system/application/libraries/MY_Controller.php
のようなの作れば コアクラスは自動で置き換わるらしいんだが
置き換わらないな
コントローラ側で
class bbs extends MY_Controller {
}
みたいに MY_ つけてやらないとダメ
CIのルールだとデフォでMY_付けることになってるけど
これじゃ意味ないじゃん
バグ?
0419nobodyさん
2008/07/03(木) 18:57:59ID:???class TEST_Controller extends Controller {
}
[/system/application/controllers/test.php]
class Bbs extends TEST_Controller {
}
にしてもいけちゃう
class Bbs extends Controller {
}
だと TEST_Controller が継承されない
(ルール通りにクラス名を MY_Controller にしても場合も同じ)
コアクラス、置き換わってない…
バグくさいね orz
0420412
2008/07/03(木) 19:38:23ID:???でも「コアクラスを拡張する場合のクラス名には MY_ を付ける」
っていう ルールは意味がないね
http://codeigniter.jp/user_guide_ja/general/core_classes.html
ファイルは MY_ 付けないと読み込んでくれないみたいだけど、
クラス名は別に MY_ 付ける必要ないよね?
なんでこんなこと書いてるんだろう
0421nobodyさん
2008/07/03(木) 20:15:07ID:???0422411
2008/07/03(木) 20:23:33ID:XZ5SMLTkただAppModelは相変わらずわかりません。
どのタイミングでロードすればええんですか?
Hook系もだめぽでした。
0423412
2008/07/03(木) 22:43:11ID:???>>419-420 の方法じゃだめなの?
クラス名 MY_ つけなくてもいけるっぽいから
AppControllerにしとけばいいんじゃ
よくわからん ルールだなあ
おれはてっきり Controller そのものを置き換えてくれるとおもったんだが
ライブラリとかヘルパはそうだよね
0424nobodyさん
2008/07/04(金) 15:09:16ID:???コントローラはMY_Controllerをextendsして書いてるが、
モデルは仕方ないので各モデルの冒頭で
<?php
require_once(APPPATH."libraries/MY_Model.php");
class Hoge_model extends MY_Model
0425nobodyさん
2008/07/14(月) 11:55:08ID:???$array = array('name'=>'Foo', 'created_at'=>'current_timestamp');
として insert() してみたけど、current_timestamp にならず 0000-00-00 00:00:00 になった。
ちなみにMySQL5.0
0426nobodyさん
2008/07/14(月) 12:05:24ID:???Database に、escapeしないでsetする方法ってあったっけ?
それがsetメソッドなら、
$db->エスケープしないset('create_at', '式');
$db->insert('テーブル名') でいけるような気がする。
以上想像。なければ、Databaseを拡張する必要があるかも?
俺もこの辺知りたい。ソース嫁って感じだけど
0427nobodyさん
2008/07/14(月) 12:12:17ID:???date('Y-m-d H:i:s') にするしかないと思う
オレは
function now()
{
return date('Y-m-d H:i:s');
}
っていう関数を作ってある
0428nobodyさん
2008/07/14(月) 19:00:27ID:???さんくすです。
できないみたいなので、
fuction current_timestamp() {
return date('Y-m-d H:i:s');
}
を使うことにしました。
でもこれだと、application server と database server が別だと
時刻を必ず揃えておく必要がありますね。
0429nobodyさん
2008/07/14(月) 19:12:37ID:???サーバの管理がきっちり出来ていれば、どんなサーバも1秒と違わないはずなので、時刻で
よっぽどシビアなソートやチェックをしていない限り、それは大丈夫かと。
また、原則からいうなら元々どちらかに合わせるべきなので、DBの関数が使えない時点で
application側の時刻のみを使うのが必然となるかな。
サーバ間の時刻あわせとは、微妙に話が違うような。
0430nobodyさん
2008/07/14(月) 19:47:05ID:???date_helperのunix_to_human じゃダメなのか?
unix_to_human(time(),TRUE,'eu');
0431nobodyさん
2008/07/15(火) 06:26:58ID:???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()みたいな安全だとわかっているものにしか使いませんが。
0432nobodyさん
2008/07/15(火) 07:42:14ID:???なんちゅうか、バッドノウハウの香りがw
> gettype で 'string' でも 'boolean' でもNULL でもない値はスルーしてくれる
っていう実装自体も、それに依存してるっていうのも、なんだかなあw
オブジェクトを渡されて、上記みたいにすることも前提にしてるのかな?>CI
(それなら、素直にescapeを回避するset系メソッドをつければいいのではと)
0433431
2008/07/15(火) 12:59:01ID:???どうみてもBKです。本当に(ry
CI内部の実装依存だからCIをバージョンアップすると動かなくなるかも。
個人的には、gettypeを見て判定、の部分はとりたてておかしなコードでは
ないので、マイナーバージョンアップであれば大丈夫だろうという甘い期待w
最悪、mark_as_safe で grep して置き換えれば、なんとかなるだろうとかw
素人にも玄人にもオヌヌメできない。\(^o^)/
0434431
2008/07/15(火) 13:07:49ID:???第三引数があるじゃねーかw
$this->db->set('created_at', 'NOW()', FALSE);
で多分いけるね・・・ orz
0435nobodyさん
2008/07/15(火) 13:10:36ID:???でもそれだと
$this->db->insert('tablename', array('created_at'=>'NOW()'));
とかができないよね。
431の方法のほうが個人的に好み。
0436nobodyさん
2008/07/15(火) 13:15:25ID:???created_atに作成日時をつっこみ、$this->db->update($tablename, $valuearray);時はupdated_atに
更新日時を突っ込むようにCI_DBを変更して使ってる。
バッドノウハウなのは百も承知だが、symfonyから流れてきた人にはこれが手放せないのよorz
0437nobodyさん
2008/07/15(火) 17:00:08ID:???それはDBのNOW()やCURRENT_TIMESTAMP()を使うの?
それともPHPのdate()を使うの?
前者ならまねしたいなあ
0438nobodyさん
2008/08/02(土) 09:47:59ID:???なんかかわったの?
0439nobodyさん
2008/08/03(日) 18:45:02ID:znW3bDml0440nobodyさん
2008/08/03(日) 19:04:30ID:???0441nobodyさん
2008/08/20(水) 20:18:05ID:???0442nobodyさん
2008/08/20(水) 20:44:32ID:???0443nobodyさん
2008/08/22(金) 13:30:33ID:???0444nobodyさん
2008/08/23(土) 00:51:34ID:???0445nobodyさん
2008/08/23(土) 01:26:31ID:???まあぶっちゃけ自分でheader(ほげほげ)書くのと変わらないけど
0446nobodyさん
2008/08/25(月) 13:31:03ID:Ziu2Tqsvこのパターンを変更することはできますか。
やりたいのは、
- /blog/index
- /blog/show
- /blog/create
- /blog/edit
というのではなく、
- /blog/maka
- /blog/blackstar
- /blog/deaththekid
のように「コントローラ名/ユーザ名」のようにしたいということです。
つまり /blog 以下のアクセスをある特定のメソッドに縛りたいということです。
0447nobodyさん
2008/08/25(月) 15:36:16ID:???ヒント
config/routes.php
http://codeigniter.com/user_guide/general/routing.html
http://userguide.cilab.info/general/routing.html
0449nobodyさん
2008/08/26(火) 15:24:29ID:???ユーザーズガイドの例にあったのですが、
$route['product/:num'] = "catalog/product_lookup";
という設定をした場合、「:num」の値は Catalog->product_lookup() の中で
どうやって取得すればいいのでしょうか。
通常だと Catalog->product_lookup() の引数にこの値が渡されますが、
試したところ、$route[] を設定した場合は渡されないようです。
0450nobodyさん
2008/08/26(火) 15:37:11ID:???英語のドキュメントに書いてありました。
$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";
でいいみたいですね。
お騒がせしました。
0451nobodyさん
2008/08/28(木) 12:20:46ID:B/844Qiw$this->db->query($sql, array(3, 'live', 'Rick'));
この時、無関係な?は置換されないようになってますか?
たとえば、クエリの中に、hoge = 'fuga???'があった時など
0453nobodyさん
2008/08/29(金) 08:50:09ID:???できれば、あるコントローラのメソッド内で、別のコントローラをnewしてメソッドを実行できるのがいちばん理想的なんですが、そんなことできますか。
0454nobodyさん
2008/08/29(金) 11:22:01ID:???application/libraryにMY_Controllerを置き、共通メソッドはそこに置く。
そのメソッドを使うコントローラはextends MY_Controllerで作る。
0455nobodyさん
2008/08/29(金) 11:44:55ID:???しかしそれをしていると、だんだん多重継承っぽい事がしたくなってくるという罠
シンプルな処理、Controllerのプロパティ、機能等が必要ない様なものは、
ユーティリティクラスに切り出すとかもありかと思う
そして、libraries がカオスになるというセンスのない俺
0456nobodyさん
2008/08/29(金) 14:42:55ID:???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がカオスになるのはよくわかります。
今まさにそんなかんじになりつつあるので、整理しているところです。
0457nobodyさん
2008/09/07(日) 15:37:47ID:???びっくりするくらい亀レスですがw
> class AB_Controller extends MY_Controller
> class ControllerA extends AB_Controller
> class ControllerB extends AB_Controller
> みたいなのってできますっけ?
できますね。うちでは、MY_Controller にはしていませんが。
(この辺のAutoLoderの仕組みがあんまりよくわかってないw)
0458nobodyさん
2008/09/12(金) 18:31:21ID:q2obqPa7Fatal 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();
}
}
?>
0459nobodyさん
2008/09/13(土) 01:11:52ID:???「MY_がついてて、MY_の後の最初の1文字だけが大文字」の命名ルールに従ってないと
オートローディングできないですよ〜。
(プレフィクスはconfig.phpでMY_以外に変更可能)
命名規則を揃えるか、自前でコントローラクラスにrequire_onceを書くか、どっちかの手当てが
必要。
0460nobodyさん
2008/09/14(日) 01:01:21ID:cUARlcyzありがとうございました。大変助かりました!
0461nobodyさん
2008/09/18(木) 13:09:07ID:???どっちも関数を提供するだけで、違いが内容に見えます。
0462nobodyさん
2008/09/18(木) 16:11:44ID:nzPLdxkT0 出力なし
1 ERROR
2 INFOも
3 DEBUGも
じゃない?
0463nobodyさん
2008/09/18(木) 17:07:43ID:???ciはアメリカ人らしく独自すぎるところが結構ある
0464nobodyさん
2008/09/18(木) 17:47:47ID:nzPLdxkTしきい値勝手に変えちゃったもん。
0465nobodyさん
2008/09/22(月) 21:08:37ID:???もしかして静的にテーブル溜め込んでんの?
0466nobodyさん
2008/10/08(水) 18:34:20ID:???うちはCIのWikiに出てたSimpletesterをいじりながらなんとかやってますけど、
1フォルダ内のテストクラスを全実行することしか出来なくてちょっとこまってます。
ttp://codeigniter.com/wiki/SimpleTester_-_Unit_testing_library/
0467nobodyさん
2008/10/20(月) 05:19:44ID:???0468nobodyさん
2008/10/20(月) 05:21:12ID:???0469nobodyさん
2008/10/24(金) 20:58:58ID:???0470nobodyさん
2008/10/28(火) 10:49:17ID:???0471nobodyさん
2008/10/28(火) 14:21:52ID:???→configに定義したものから読み込み可能になった
sessionデータをDBに保存するように変更とソレに伴ってテーブル定義変更
この二つ位かな?個人的には
詳しくは
http://codeigniter.com/user_guide/changelog.html
0472470
2008/10/28(火) 20:20:01ID:???0473nobodyさん
2008/11/12(水) 18:05:07ID:???http://www.example.com/index.php/aaa/
を
http://www.example.com/aaa/
でアクセスできるようにすると、動かないのですかね・・・
0474nobodyさん
2008/11/30(日) 21:27:31ID:???>クライアント接続文字エンコードを設定できませんでした
検索したら対策がヒット
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で変更できないので、とりあえずこの方法で乗り切る予定ですが^^
0475nobodyさん
2008/11/30(日) 21:35:36ID:???0476nobodyさん
2008/12/01(月) 13:31:05ID:4yAH9v9bURIクラスを使えばOK?
http://codeigniter.jp/user_guide_ja/libraries/uri.html
URIセグメントの文字列は、URIクラスにより配列にセットされます。
segment_array()メソッドを使うことで、この配列にアクセスできます。
0477nobodyさん
2008/12/09(火) 14:53:50ID:3E19WexF貧弱なCRUDを補おうと思って使ってみようとしたんだけど、
公式ページのdocumentaionみても全然情報がなくて困ってる・・・
Rapyd: Minimalistic, Open source, Secure, and Small PHP 5 Framework
http://www.rapyd.com/
0478nobodyさん
2008/12/17(水) 20:08:15ID:???いまさらだが
$this->CI =& get_instance();
$this->CI ->router->fetch_class();
$this->CI ->router->fetch_method();
でもできるみたい。
コントローラやモデル内なら
$this->router->fetch_class();
でアクセス可
0479nobodyさん
2008/12/19(金) 18:01:27ID:egThtXwj>>10にある、UserAuth?
それとも、FreakAuth_lightでしょうか?
simpleloginはさすがに機能がなさ過ぎる感・・・
0481nobodyさん
2008/12/19(金) 20:16:08ID:f2L1j1eM同じく。それが安心だね。掛け忘れもおきないし。
0482nobodyさん
2008/12/20(土) 23:58:43ID:???私も最近、ログイン認証のやり方をどうしたらいいか悩みました。
(1)CodeIgniter徹底入門で紹介されていたsimplelogin
(2)もうちょっと高機能なFreakAuth等のライブラリ
(3)自作のMY_Controllerクラスの用意
(2)はまだ試してないけど、今のところ(3)でやってます。
<参考になったサイト>
* LinuxなWEBデザイナーの覚書き。 | CodeIgniterでユーザー認証
http://php-sql-gdgd.jugem.jp/?eid=56
(↑if($this->session->userdata('next'))は、if(!〜)の間違いかな?)
* CodeIgniterで管理ページを作成する
http://dxd8.com/archives/142/
* 日本CodeIgniterユーザ会 - シンプルな認証
http://codeigniter.jp/archives/92
* CI:ユーザー認証
http://o2studio.blog81.fc2.com/blog-entry-306.html
0483nobodyさん
2008/12/22(月) 20:02:23ID:???MY_Controllerでログイン処理を自前実装?ということでしょうか?
私はリマインダーとかアカウント管理画面を1からは作るの面倒だなーと思ったので、
(というか今の案件で時間がないw)
はてなダイアリーで FreakAuth_light を入れてみた人のを参考にして、
それを試してみています。
0484nobodyさん
2008/12/22(月) 22:43:33ID:???CIのMLで紹介されていたDX Authは、今度試してみたいです^^
http://dexcell.shinsengumiteam.com/dx_auth/
0485nobodyさん
2008/12/23(火) 14:50:17ID:???CL_Authの派生版なんですね。
FreakAuth_light 入れようとしたら、結局 1.7.0 だと改造必要なので困ってしまいました。
DX Auth は1.7.0対応してるみたいなのでよいですね。
0486nobodyさん
2008/12/23(火) 19:30:01ID:???ttp://devzone.zend.com/article/4115-Using-Zend_Acl-with-CodeIgniter
0487nobodyさん
2008/12/26(金) 06:39:47ID:???0488nobodyさん
2008/12/29(月) 00:23:40ID:???他力本願で申し訳ないけど、早く日本語で読みたいw
翻訳作業に限らず、ユーザ会の皆さんには本当に感謝!
0489nobodyさん
2008/12/29(月) 01:22:24ID:???0490488
2008/12/29(月) 12:21:19ID:L94/Z1Ymはい、そのとーりですw
100点!
0491nobodyさん
2008/12/29(月) 15:23:16ID:???0492nobodyさん
2008/12/29(月) 20:26:52ID:???そのあと英語のドキュメントを読んでも理解しやすいよね?
CodeIgniterと英語の勉強になれば一石二鳥だ!
0493みなさん来年も良いお年を!
2008/12/29(月) 20:31:46ID:???おかげでCodeIgniterの学習コストが少しで済んだ。
本も買って、何度も読み返している。
WEBアプリを作るのが楽しいと思える今日この頃。
今もプログラミングしてるし。^^
CodeIgniter日本語版のおかげで、デスマの日々を過ごしたトラウマから立ち直れそうです。(・∀・)
0494nobodyさん
2009/01/15(木) 21:00:02ID:???願わくば 1.7 の差分を公開を!
今は、Form ValidationやDBのセッション使うみたいだしね
0495nobodyさん
2009/01/15(木) 21:02:33ID:???Validation後の値をとるときってどうすればいいんですかね?
DX_authとか見てるとプログラム中で(controller/auth.phpとかで)
set_value() 使っているんだけど、メソッド名的になんか変なんですが、こんなもんでしょうか?
フォーラムとか見ると、
$this->input->post('mage');
使えってあったけど、これって直接入れた値なんじゃないのかな?不安なんですが・・
0496nobodyさん
2009/01/15(木) 22:08:30ID:???0497nobodyさん
2009/01/15(木) 22:25:21ID:???たぶん、サニタイズ?とごっちゃになってるんだろうなー
というか、入力データをとりあえず変換するっていう発想はなかなかなくならないのな。
実際、入力値を変換するっていう処理が本当に必要なのは文字コードの変換くらいだろうと
思うんだが・・・
どうも質問で想定されてるのが、例えば数字・記号の全角半角変換や検索キーワードの
平仮名←→カタカナ変換等の親切処理とか、メール送信等を考えての半角カナ・機種依存
文字や絵文字などを置換・削除する処理などではない雰囲気なのが、なんだかなあ
0498nobodyさん
2009/01/15(木) 22:45:47ID:???form_validation->run実行してtrueだったらvalidationを通った値ということなので、そのまま$this->input->post使えばいいと思うよ。
それでも心配なら自分でコード書いてテストすればよろし。
という話だと解釈したんだが間違ってたらすまん。
0499495
2009/01/18(日) 15:11:26ID:???Validateつまり検証するだけだから、検証にパス(runでTRUEが返る)したら、
その時点でOKだから、input->post使えばいいのか。
修正とか変換するわけではないのね・・・。
set_value() はviewのformに前の入力値をデフォルト表示するためのものだから、
そう使うべきのもの。
0502nobodyさん
2009/01/20(火) 14:45:10ID:???updateメソッドを、事前のwhereなしで呼ぶとテーブル内のデータを全部更新してしまって、
アボンしますよね?
これ、よくやらかしてしまうのですが、よい回避方法ないでしょうか?
マニュアル見ると、
$this->db->update('mytable', $data, "id = 4");
みたいに、引数でwhereを追加するように決めてしまえばいいのですが、
うっかり引数を省略すると、アボンしてしまいます。
引数省略しないようないい方法ないですかね?
0503nobodyさん
2009/01/20(火) 18:20:44ID:???0504nobodyさん
2009/01/20(火) 19:23:54ID:???ActiveRecordの使い方としてそれはどうなんだ
find()で取ってきたものをupdate()なら、そうはならんのでは?
と、CIを使ったことのない俺が書いてみる
0505502
2009/01/21(水) 10:29:58ID:???私の場合、すでにあったら上書き、なかったらinsertという風な処理を書いていたのですが、
たまに、insert()をupdate()に置き換えただけで実行してしまい、テーブルごとアボンしてしまうのです。
まあ、アフォといえばアフォなのですがw
普通は >>504の意図するように、get_where()->result(); なりしてupdateしたいidを得て、
そのidをupdateにつっこむもんですよね・・・。
0506nobodyさん
2009/01/21(水) 23:55:24ID:???リファレンス見たけど、SQLが透けて見えそうな薄い実装だね。だから速いんだろうけど。
>>502
常にwhere()呼んだら駄目か?insert()なら無視してくれない?
すごく間抜けに見えるだろうけど。
あるいは、ラッパーかぶせてidを指定しないupdate()を隠すとか。
もしくは配列からidをとって勝手にwhereに入れるupdate()ラッパーを書くとか。
0507nobodyさん
2009/02/02(月) 17:00:10ID:???http://lists.sourceforge.jp/mailman/archives/codeigniter-users/2009-February/001699.html
俺も手伝いたいんだが、こういのっていきなり着手しちゃっていいもんなのかな?
皆さんの訳がとても上手いので、なんか気が引けてしまう。
0508nobodyさん
2009/02/03(火) 00:20:37ID:U0x1Z73i0510nobodyさん
2009/02/11(水) 12:25:10ID:???0511nobodyさん
2009/02/11(水) 13:34:24ID:632VXucI最後ログアウト時に
$this->session->sess_destroy();
でセッションを破棄してるんですが
ブラウザの戻るボタンを押すと
破棄する前のページが表示されてしまいます。
読み込み直すと会員ページは表示されずキチンと動作します。
戻るボタンを押しても会員ページが表示されないようにするには
どうしたらいいですか?
すいませんがアドバイスよろしくお願いします。
0513nobodyさん
2009/02/11(水) 14:15:46ID:???アドバイスありがとうございます。
デフォというのは
$this->output->set_header();で設定するという事ですかね。
今からマニュアル見てやってみます!
0514nobodyさん
2009/02/12(木) 20:18:30ID:RECSJFEg関数 (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側で処理したいものなのですが・・・
0515nobodyさん
2009/02/12(木) 21:08:20ID:???CIだとかフレームワークだとか言う以前の問題として、少なくともPHPの基本を覚えるべきかと。
○ show_mage 内の $mage ってどこから出てきたのでしょうか。
○ ↑が $hage のタイポとして、関数内から外部の変数をそのまま参照することはできません。
CIのviewをデフォルトで使ったことが無いので確実ではないですが、show_mage関数内で
global $hage;
とかやってみてはどうでしょうか。
あと、viewファイル内で関数を定義するというのも、それがview関連処理だったとしても、
コーディングとしてどうかと思います。まあこれは異論もあるかもですが。
view ヘルパーや部分テンプレートとして切り出すことも可能な場合も多いかと。
0516514
2009/02/12(木) 23:38:27ID:???ごめん。最小限のコードに直して書こうとしてtypoした。
$mageでなく、$hageです。
globalではダメでした。
view内functionの扱いはどうなってるんだろ?グローバル関数になるんだろうか。
> あと、viewファイル内で関数を定義するというのも、それがview関連処理だったとしても、
> コーディングとしてどうかと思います。まあこれは異論もあるかもですが。
そんなもんなんでしょうか?MVCフレームワークは不慣れな門で・・・
viewは見栄えを定義するもんだと思ってました。
viewは変数付きHTMLにちかく、ロジックが含まれるなら
ヘルパーとかのライブラリ側や別のテンプレートにもっていく、ということなんでしょうか?
というか、CodeIgniterというよりもMVC一般論の話になりますね
0517nobodyさん
2009/02/13(金) 00:25:52ID:???使えるならhelper定義すればいい。
その場限りならviewでも良いんじゃないの?
$hogeはshow_mage($title, $hoge)って引数に渡さないと駄目だろ。
functionが呼び出された時点でスコープが変わるんだから。他所のローカル変数は見えない。
話は変わるけど、誰かODBCの設定database.phpにどう書くか教えてくれない?
0519nobodyさん
2009/02/15(日) 14:39:09ID:???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で
ごにょごにょしない方がいいような。
だれか詳しい人解説してくれないかな・・・
0520nobodyさん
2009/02/15(日) 19:37:53ID:???JSPやASPみたいにクラス定義と一体化してるわけじゃない。
PHPではclassと明示しない限り、上から順番に処理される。関数はクラス内ならメソッド、そうでなきゃグローバル。
0522nobodyさん
2009/02/16(月) 00:01:29ID:???0523nobodyさん
2009/02/16(月) 00:31:53ID:???ユーザガイドにそんな記述あるの?
ソース見てみたので一応書いてみる。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で関数内で関数が定義できることやその動作については
http://ml.php.gr.jp/pipermail/php-users/2005-June/026279.html ← このツリーを
http://ml.php.gr.jp/pipermail/php-users/2005-June/026322.html ← この辺まで読んで納得。
PHP5でも仕様はこの当時のままっぽい?
以上、適当で嘘くさいので、間違ってたら誰か教えて・・・
0524nobodyさん
2009/02/16(月) 13:51:05ID:???remapした場合関数の引数に当たる部分はuri->segment以外で
とる方法はないのでしょうか?
サイトに載っている例では
function _remap($method)
{
if ($method == 'some_method')
{
$this->$method();
}
else
{
$this->default_method();
}
}
となっていて、引数部分がありませんよね。
現状switchで$methodの内容からsegmentで値引っ張って回してますが、
もうちょっとスマートな書き方はない物ですかね・・・
0525nobodyさん
2009/02/16(月) 14:47:15ID:???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->からとってくる以外ないと信じたい。
0526nobodyさん
2009/02/19(木) 14:54:17ID:???ファイルアップロードについてなんだが、
コントローラ/モデル/ビュー内で$_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で動いている投稿はあるんだけどなぁ。
完全手詰まりしてしまった。
0527526
2009/02/19(木) 15:42:52ID:???先ほどペーストしたコードで気づきました。
enctypeの直前スペースが全角でした。
うんこでした。
うんこでした。スレ汚しサーセンorz
0528nobodyさん
2009/02/20(金) 14:07:46ID:???ケツの穴にコルク栓をしておこう^^
0529nobodyさん
2009/02/20(金) 15:01:30ID:???0531528
2009/02/22(日) 20:33:01ID:???0532nobodyさん
2009/02/27(金) 20:37:16ID:???ZFのセッションとか使うようにできますか?
0533nobodyさん
2009/02/27(金) 20:52:19ID:???これ
ttp://codeigniter.com/wiki/Native_session/
使うかZendのセッションライブラリをapplication/librariesにおいて使えばおk
0535nobodyさん
2009/03/01(日) 10:39:27ID:???Fatal error: Cannot redeclare class Bbs in /usr/local/www/htdocs/.../system/application/models/bbs.php on line 100
0536535
2009/03/01(日) 10:40:15ID:???<?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();
}
}
?>
0537535
2009/03/01(日) 10:41:07ID:???<?php
class Bbs extends Model
{
//コンストラクタ
function Bbs()
{
parent::Model();
$this->load->database();
}
//タイトル取得
function get_title()
{
$query = $this->db->get('bbs');
return $query->result_array();
}
}
?>
0538535
2009/03/01(日) 10:46:22ID:???モデルクラス名として「Bbs」は使えないということでしょうか?
=Bbsというコントローラーの中で、Bbsというモデルを使うことができない?
みなさんは、モデルクラス名を付けるとき、どうしてますか?
=モデルを使うコントローラーのクラス名を重複しないように命名しないとダメなの?
「Bbs_model」とかだと、なんか長ったらしい><
0539【裂く裸ノ雨】初音ミク虐待スレ
2009/03/01(日) 10:50:35ID:fSY3QkVN0540nobodyさん
2009/03/01(日) 10:51:05ID:???0541nobodyさん
2009/03/01(日) 13:57:56ID:???チュートリアルやったんだけど、この後は何をすべきなんだろうか。
徹底入門って本どう?役に立ちます?
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+1qZQ0642nobodyさん
2009/07/13(月) 14:09:48ID:???「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:???Qmailならこれを追加してみて。
$config['crlf'] = "\r\n";
$config['newline'] = "\n";
0644nobodyさん
2009/07/22(水) 20:45:33ID:???0646644
2009/07/24(金) 10:52:33ID:???Kohana 2.4 が出たら移植を検討してみる。
0647nobodyさん
2009/07/29(水) 16:16:43ID:???ケータイで 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:???ただHttpsがアレだった希ガス。
0650nobodyさん
2009/08/06(木) 17:01:14ID:???ぐぐるとCI1.5用のインスコ情報は出てくるんだけど、1.7はドキュメント無いの?
0651nobodyさん
2009/08/06(木) 17:12:58ID:???1.6だた。
0652nobodyさん
2009/08/06(木) 17:36:06ID:???http://codeigniter.com/forums/viewthread/71419/
0653nobodyさん
2009/08/26(水) 11:24:27ID:???あるライブラリを毎回読むにはどうすればいいでしょうか。
CI でいうところの autoload です。
ttp://blog.setunai.net/20080203/kohana%E3%81%AEautoload/
の方法は今のバージョンでは動かなくて。
0654nobodyさん
2009/08/28(金) 03:55:27ID:???KohanaはModel・Libraryの取り回し重視の設計思想、いわゆるautoloadは廃止の方向で動いてるね。
おれもKohana使いだけど、
・ちょこちょこ小技的につかうものはstaticな「Library」として用意
・controller内複数methodで使い回す「Model」があるなら、controllerのconstructorでpublicなオブジェクト変数へModel代入、同controller内で$this->objとかで使い回し
してる。
複数controllerで特定のModel使い回したいなら、MY_ControllerクラスでContorollerをextendsして、Model代入。
どですか。
0655653
2009/08/28(金) 10:47:51ID:???ありがとうございます。
『staticな「Library」として用意』とは具体的にどういうことでしょうか。
Kohana が用意している session や、
自作ライブラリを読み込みたいのです。
# Kohana 3 が楽しみ。
0656nobodyさん
2009/09/01(火) 16:58:23ID:???0657nobodyさん
2009/09/03(木) 06:30:29ID:4RGaiYfn>>655
Moduleにしてconfigで設定すればよくね?
0659nobodyさん
2009/09/04(金) 19:02:54ID:???自作ライブラリを作って、コントローラー、モデルから呼び出せば良いんでしょうか?
0660659
2009/09/04(金) 19:34:42ID:???共通して使う機能は、自作ライブラリに入れてみます。
どうもありがとうございました。>>660
0661nobodyさん
2009/09/05(土) 19:09:27ID:8sV7cZ1fhtmlspecialcharsじゃなんでいかんの?
0662nobodyさん
2009/09/05(土) 23:30:12ID:38IFG8QiJSに罠がいっぱいあるから
0663nobodyさん
2009/09/15(火) 16:59:10ID:???0664nobodyさん
2009/09/24(木) 07:16:33ID:???0665nobodyさん
2009/09/24(木) 10:15:11ID:???初心者はこんなマイナーなの使わないだろうから質問が少ないんだろうな。
0666nobodyさん
2009/09/24(木) 10:31:59ID:???つってもDocs英語ですらまとまってない状態だけど。。
0667nobodyさん
2009/09/24(木) 11:59:52ID:???もはや別物。
エラー画面でソースが出るのが便利。
0668nobodyさん
2009/10/06(火) 12:00:18ID:o5fGVlDsスコープ内でライブラリ呼ぶ限りは無問題
0669nobodyさん
2009/10/08(木) 21:36:50ID:???ファイルが入ってないけどこれって差分ファイル?
0671nobodyさん
2009/10/09(金) 09:41:50ID:pt4+2DyF質問しなきゃならないような、
使い勝手の悪さがないからねえ。
「専門家」はそれでは困るんだろうけど。
0672nobodyさん
2009/10/09(金) 14:40:46ID:wOhLydxi廃れていくというのも何か悲しいもんだな。
0673nobodyさん
2009/10/11(日) 02:46:39ID:SfXKxhooダメなものの方がやり取りがあって盛り上がるってのもおかしな話なんだけどね。
俺はGentooにLighttpdにCIにPostgresql使ってる異端児だけど
こんな使いやすい組み合わせはないと思ってる。
泣き所は、問題が起こったとき、解決策を見つけにくいことだけど
問題そのものがあまり起こらないので、不便もあまりない。
でも、世のひとは解決策がたくさん検索できる、使いにくいシステムの方を好むらしい。
より多くの時間とお金をかけたい理由ってなんだろう?と考えてみたら
要はこういうことじゃないかという結論になった。
趣味は手がかかった方が楽しいからダメシステムがむいてる。
仕事なら、他人にはできなかったりめんどくさい方が自分のニッチを守りやすいから、
ある程度のダメシステムが都合がいい。
だからいいシステムは盛り上がらない。
そんな見方は穿ちすぎですか?
そういえば、qmailは秀逸でシェアが高いけど、
簡単すぎるのとマニュアルが必要十分なので、あまり盛り上がらない。
まあ、ダメシステムのsendmail派は、設定ファイルを共有できる
postfixを好むようだけど。
0674nobodyさん
2009/10/12(月) 10:01:42ID:5Z3pkv5pあまりわかりやすくない。
もっとわかりやすい参考書がどんどん出てくれば日本で流行るのかも。
0675nobodyさん
2009/10/12(月) 10:22:41ID:???編集側がサボっている感じ。
はじめて本を書いた人ばかりのようだから
コードがページをまたがないようにとか、
もっとフォローをするべきだよなぁ。
0676nobodyさん
2009/10/12(月) 17:27:37ID:dQEfU/HG0677nobodyさん
2009/10/12(月) 18:55:58ID:/S6pjLQjなんで、謝るんだよw
0678nobodyさん
2009/10/12(月) 18:58:53ID:???CAKE入門中
0679nobodyさん
2009/10/13(火) 08:49:30ID:nKWEiPKFIBMのひとが書いてるオンライン記事がわかりやすいよ。
ひととおり読んだら概略がつかめる。
0680nobodyさん
2009/10/13(火) 10:20:48ID:sLQo61tuそう?一通りのことは書いてたのであれで十分かと思ったが。
著者にあったことあるけど、まじめそうな人ではあった
0681nobodyさん
2009/10/13(火) 12:31:36ID:???もっと分かりずらかったりと嘘ばっかの本なんて、いくらでもあるよ。
0682nobodyさん
2009/10/13(火) 22:18:03ID:UwuOzcz/俺のスキルが低すぎるせいかな。
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:???0690nobodyさん
2009/10/14(水) 07:49:01ID:???0691nobodyさん
2009/10/14(水) 10:23:41ID:???0692nobodyさん
2009/10/14(水) 10:55:58ID:???0693nobodyさん
2009/10/14(水) 11:18:28ID:t3/QQLCE0694nobodyさん
2009/10/14(水) 11:23:30ID:???0695nobodyさん
2009/10/14(水) 22:38:32ID:t3/QQLCE0696nobodyさん
2009/10/15(木) 05:53:06ID:???ジャバスクリプト
XML
要するに埋め込み画像の要領でXMLをとってくるわけだね?
0697nobodyさん
2009/10/16(金) 09:04:01ID:oQRbn+uE0698nobodyさん
2009/10/18(日) 22:35:11ID:tagphLPVクエリをそのまま書くのに比べてご利益があるようには思えないんだけど
デバッグしやすいとかあんのかな?
0699nobodyさん
2009/10/18(日) 23:06:05ID:???それを洗練させていった結果がああなる、というだけだろう。
俺もあまり使わないな、SQLがベタで書いてあったほうが分かりやすい。
0700nobodyさん
2009/10/19(月) 10:13:06ID:???SQLでコメントが書いてあったのを見たことがある。
全くもって意味無し。
0701nobodyさん
2009/10/19(月) 10:45:46ID:9ICBcuC7header,
body,
footer
というレイアウトは簡単にできますが、
header
left center right
footer
というようなレイアウトを作るには
どうしたらよいのでしょうか。
ググレカスと言われそうですが、
どういうキーワードでググればいいのかも
見当がつかないで困っています。
よろしくお願いします。
0702nobodyさん
2009/10/19(月) 10:55:53ID:???0703nobodyさん
2009/10/19(月) 11:17:37ID:???0704nobodyさん
2009/10/23(金) 08:18:34ID:4xcNwzE4画像データから直接画像を生成する方法ありませんか?
画像操作ライブラリはファイルからの生成しかできないようなのです。
よろしくお願いします。
0705nobodyさん
2009/10/23(金) 09:00:38ID:???0706nobodyさん
2009/10/23(金) 10:22:44ID:4xcNwzE4PHPにその機能があるのですね。
ありがとうございました。
0707nobodyさん
2009/10/23(金) 14:22:48ID:???(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:4v117FRKDBに入っている画像データのバイナリから、
ファイルを介さず直接サムネールを生成する方法はないでしょうか。
画像そのものを出力したり、ファイルやURLからサムネールを
生成する方法はあちらこちらに書いてあるのですが、
バイナリを直接GDに食わせる方法の記述を見つけられません。
Perlでは簡単にできるのに、PHPではできないということなのでしょうか。
0710nobodyさん
2009/10/24(土) 10:26:53ID:???「日本語言語パック」というパッチのような物をあてないと
ちゃんと使えないんですかね?
今利用を検討しているんですが、できるならパッチをあてないで利用したいんですが。。。
0711nobodyさん
2009/10/24(土) 18:08:33ID:???0713nobodyさん
2009/10/24(土) 20:48:02ID:???0714nobodyさん
2009/10/24(土) 20:50:41ID:???0715nobodyさん
2009/10/24(土) 22:15:23ID:???と言う事はcodeigniter本家からの
ダウンロード版では日本語を正しくメールできないという事???
もしそうなら、本当にダサ 何だそれって感じだ。
0716nobodyさん
2009/10/24(土) 22:25:43ID:???どのフレームワークも件名化けたりする
0718nobodyさん
2009/10/24(土) 22:38:00ID:???0719nobodyさん
2009/10/24(土) 22:54:19ID:TTN2cu8lできました。
ありがとうございました。
0720nobodyさん
2009/10/24(土) 22:57:13ID:TTN2cu8l補足です。
できたんですが、データベースドライバが余計なことして
バイナリをエスケープ文字列にエンコードしてたので、
デコードして渡してやる必要がありました。
0721nobodyさん
2009/10/25(日) 12:12:30ID:???ご協力を。。。
0722nobodyさん
2009/10/25(日) 13:42:05ID:???どっち使ってもいいんじゃないの
0723nobodyさん
2009/10/25(日) 13:43:14ID:XqTgHkg+> CakePHPと比べた場合CodeIgniterが
勝る所
速度
柔軟性
最小限の知識で開発を開始できる
劣る所
無理やり規則に従わせることができない。
0724nobodyさん
2009/10/25(日) 13:51:58ID:???道が分からない時は人に聞くのが一番良いだろう
0725nobodyさん
2009/10/25(日) 14:06:37ID:???道順は目的地にたどり着くこと自体が目的だろうけど、
違いを調べるってのは仕組みを理解すること自体が目的なんだし。
0726nobodyさん
2009/10/25(日) 14:45:13ID:???言語パック入れないと、CIのDBクラスのエラーメッセージ、Form_Validationのエラーメッセージ等が英語のままに
なる。CIのDBクラスを使わない(PearとかPDOとかO/Rマッパーを使う等)・Form_Validationを使わないなら言語パック
は全く関係ないはず。
というか、O/Rマッパー使い+Validationは自前クラス使用の私は言語パック入れずに使ってます。特に困ったことなし。
>>715
メールはそもそも言語パック入れても解決しなくない?
コントローラ内でmb_send_mail関数を使うか、mail関数をラップする自作ヘルパでも入れれば大丈夫。
application/librariesにphpmailerとか自作のメールクラスとか入れて使ってもいいし。
ちなみにPHPではCIの前にsymfonyとcakeを使ったことがあるけど、どちらも日本語メールはデフォルトの
メールの送り方では文字化けした。国産フレームワークじゃない限り期待しない方が良い。
0727nobodyさん
2009/10/25(日) 15:29:15ID:???多分その言語パック(パッチ)内でmailがmb_send_mailに変更になってたり
dateがstrfdateになってたりしてるんじゃ?
まあ自分で対処しても同じのはそのとおりだが
0728nobodyさん
2009/10/25(日) 15:30:41ID:???0729nobodyさん
2009/10/25(日) 20:00:58ID:XqTgHkg+ランダムなレコードを得ようとして下記を実行すると
得られるレコードが毎回一定になってしまいます。
$this->db->query("select * from mytable order by random limit 1");
psqlのコマンドラインから直接sqlを打つとランダムな結果になります。
一回ごとにpsqlを抜けてもきちんと各回ごとにランダムになります。
ci経由でランダムにならないのがどういう理由かわからずに困っています。
ご教授ください。
0731nobodyさん
2009/10/26(月) 01:08:16ID:???またもしできたとして、その一部分を表示するときにだけ必要なデータはどのように渡しますか。
つまり
<!-- ここからキャッシュ する-->?x2028;<?php foreach ($list as $x) { ?>
<p><?php echo $x; ?></p>
<?php } ?>?x2028;<!-- ここまで -->
というテンプレートの場合、表示するときには$listが必要ですが、キャッシュが効いているときは
$listは必要ないので、こういうときは$listを用意したくないんですけど、そんなややこしいことはできるでしょうか。
?x2028;
0732nobodyさん
2009/10/26(月) 22:20:23ID:8gDLhYd4ビンゴ!でした。
デフォルト設定のままにしてたので全く考えもしませんでした。
たすかりました。ありがとうございます。
0733nobodyさん
2009/10/26(月) 23:34:34ID:???出来ない、と思う
なので、おれは自作でコントローラ内で
キャッシュチェックして、必要があればHTML生成、なければキャッシュからって感じでやってる。
0734nobodyさん
2009/10/27(火) 15:19:56ID:NhIspLrL具体的には↓こんな操作をしたいのですが,
SELECT * FROM mytable WHERE '{abc}' && hairetsu;
次の文ではうまくゆかないようです.
$this->db->get_where('mytable', array("'{abc}' &&", "hairetsu" ));
また,これに相当するようなARメソッドはマニュアルには書かれていないようです.
0735nobodyさん
2009/10/27(火) 20:43:28ID:???日本語サイトを作るのに何か問題があるでしょうか?
codeigniterを使うか、kohanaを使うか迷っています。
0736nobodyさん
2009/10/28(水) 09:57:15ID:yVI01h7O自己解決しました。
get_whereでなく、単独のwhereを使えばよいようです。
0737nobodyさん
2009/10/28(水) 10:31:55ID:???kohanaいいよ。新しいだけあってかなり洗練されてる。
ただ3.0に関してはDocsが揃ってない。日本語に関しては全く問題なし。
0738nobodyさん
2009/10/28(水) 13:37:17ID:???0739nobodyさん
2009/10/29(木) 22:30:02ID:9YMY5qNb使うとすればどんなのがいいのでしょう?
Ajaxはどうですか?
0740nobodyさん
2009/10/29(木) 22:36:11ID:???釣りだと言ってくれ
0741nobodyさん
2009/10/29(木) 22:42:17ID:9YMY5qNbテンプレートエンジンとAjaxライブラリはどんなのを使ってますか?
と書くべきでした。
SmartyとかPHPTALと組み合わせるというのは見つけたのですが
どんなもんなのかと思いまして。
Ajaxについてはあまりわかりませんでした。
0742nobodyさん
2009/10/29(木) 22:55:25ID:???0743nobodyさん
2009/10/30(金) 00:30:08ID:p/L2o0l6存在意義なし?
0744nobodyさん
2009/10/30(金) 00:59:55ID:???どの言語にしたってテンプレートエンジンは流行ってないな
0745nobodyさん
2009/10/30(金) 09:23:35ID:p/L2o0l60746nobodyさん
2009/10/30(金) 10:23:31ID:???0747nobodyさん
2009/10/30(金) 10:25:30ID:???フレームワークが何だろうが、そんなの関係ないし。
0748nobodyさん
2009/10/30(金) 11:44:13ID:+JS8PV0u相性がいいかどうかわからんけど、Ajaxフレームワーク比較
ttp://journal.mycom.co.jp/news/2008/10/08/034/index.html
0749nobodyさん
2009/10/30(金) 11:52:50ID:???0751nobodyさん
2009/10/30(金) 12:27:07ID:???0752nobodyさん
2009/10/30(金) 14:50:51ID:???テンプレートエンジンを使うとすればどんなのがいいのでしょう?
↓
使わないのがいいでしょう
↓
客からの指示で、smarty必須ってなってる ←意味不明
自分で全部やれるなら楽だよな ←意味不明
(これから採用する人の話であってお前の客の話なんて知ったこっちゃない)
0753nobodyさん
2009/10/30(金) 15:25:15ID:???0754nobodyさん
2009/10/30(金) 15:27:02ID:???誰が正当かなんてどうでもええねん
0755nobodyさん
2009/10/30(金) 22:06:59ID:p/L2o0l6AjaxのほうはjQueryが軽量コンパクトを売りにしてて伸び盛りのようです。
同じく軽量コンパクトを売りにしてるCIとはベストマッチじゃないでしょうか。
0756nobodyさん
2009/10/30(金) 22:11:18ID:???0757nobodyさん
2009/10/30(金) 23:37:06ID:???相性云々言われても困るんだけど
ぶっちゃけAjaxライブラリにとってはサーバサイドのアプリケションが
何で書かれてようが知ったこっちゃ無いんだし相性もクソも何もない
0758nobodyさん
2009/10/31(土) 00:32:11ID:???ありがちな操作を、最小のコード量で書く事に特化していて、かつ習得しやすいので普及率が高いだけ。
(そういう意味では、設計思想がPHPに近いのかもな、今思いついたが)
だから、jQueryに「できないこと」に手を出そうとすると非常に面倒になる。
それと、JavaScriptライブラリが軽量でコンパクトである事と、PHPフレームワークが軽量でコンパクトである事の関連性が良く分からない。
軽量フレームワークと軽量JSライブラリで、なんで「相性が良い」という結論になるんだ?
相性が悪いと言ってるわけじゃなく、単に論理展開、関係性が良く分からない。
つうか、ざっと簡単なアプリなり小物ライブラリでも作ってみりゃいいだろ。
机上の空論で初心者がライブラリの良し悪しを判別できるわけがない。
0759nobodyさん
2009/10/31(土) 00:51:18ID:???0760nobodyさん
2009/10/31(土) 01:07:41ID:???駄目なものは駄目と言うしかない
0761nobodyさん
2009/10/31(土) 08:09:34ID:???わけのわからん基準で良い悪いを決める話じゃないってことだろ?
あれだ、本質を理解した上で用途に合わせて判断しろっていう、
当たり前のことを行ってるだけだ。
0762nobodyさん
2009/10/31(土) 09:42:56ID:RCXnHmtWどこがどうダメなんですか?
本質を理解した上で用途に合わせて判断ですか。
ご自身は本質を理解して判断されているのですね。すばらしい。
私には何が本質で何を基準に判断したらいいか皆目見当がつかないのですが
どんなところに注目すれば、本質を理解できるのでしょうか?
判断の基準は、例えばどんなところにおかれているのでしょうか?
0764nobodyさん
2009/10/31(土) 10:41:20ID:???というか、prototype.jsとの2択しか無い気がするが。
勉強するんだったら、このどっちかにしとくべき。
結局は、オープン系は何を使うにも主流どこに乗っとかないと
後々面倒だよ。スクラッチで作れるだけの力が無いのであれば。
0765nobodyさん
2009/10/31(土) 13:52:37ID:???0766nobodyさん
2009/10/31(土) 15:11:23ID:RCXnHmtW参考になりました。
ありがとうございます。
>>765
jQueryはGET使えないの?
だとしてもCIはデフォルトでGETを使わないようになってるから
問題ないと思います。
0767758
2009/10/31(土) 17:33:58ID:???> どんなところに注目すれば、本質を理解できるのでしょうか?
何かができるものは、絶対に何かを犠牲にしている、という点。
俺の書き込みが「jQueryはダメ」に見えたのなら、それはお前の経験不足。俺はjQuery信者だからな。
あと、理解したいならガタガタ抜かさずコード書け。
protojsとjQueryは併用できるしどっちかを選ぶようなものじゃないが、単独で込み入ったものを作るならprotojsが圧倒的に強い。
ただし>758でも書いたように、8割方のケースではjQueryのほうが圧倒的に早く作れる。
つまりどっちが向いているかは、どこまでをJSで処理し、どこからをサーバーサイドで処理するかによる。
0769nobodyさん
2009/10/31(土) 20:41:12ID:RCXnHmtWよくわかりました。ありがとうございます。
八割方のケースでjQueryが早くできること、
込み入ったことはprotojsが向いていることがわかって助かりました。
まあ、GoogleがjQueryを採用しているらしいので、
できないことというのも相当特殊なものかもしれません。
あと、その、サーバサイドでやることが、CIで補完しやすいとは限らないということですね。
0771nobodyさん
2009/10/31(土) 23:50:09ID:???CIではGETを使えるので、そこを問題にしていたとは気づきませんでした。
デフォルトではセキュリティ上の理由から使えないようにしてあると
初期設定のチュートリアルにかかれてます。
0772nobodyさん
2009/11/01(日) 21:33:49ID:???っていうかスレ違いなんだぜ
0773nobodyさん
2009/11/02(月) 14:12:06ID:???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)で対応できていますが、検索条件が多くなったらどうしよう…><
0774707
2009/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:???0776nobodyさん
2009/11/02(月) 14:24:46ID:???CIには簡易のテンプレート機能が用意されてるから、それ使ってみれば?
ttp://codeigniter.jp/user_guide_ja/libraries/parser.html
テンプレートパーサクラスを使うと、ビューファイルに含まれる擬似変数を解析できます。
ビューページで純粋なPHPを使う方が少し早いので、CodeIgniterでは、このクラスを必ずしも 必要としません。しかし、PHPのコードで混乱してしまうデザイナーと一緒に仕事をしている場合、開発者の中には、テンプレートエンジンを使用したい人もいると思います。
ドリームウィーバーでHTMLが崩れなければ、Smartyは要らないよ(^^)v
0777nobodyさん
2009/11/02(月) 22:26:52ID:???別に禁止にしなくても・・・。
0778nobodyさん
2009/11/02(月) 22:48:46ID:WSpfQV0jデフォルトでオフなだけで禁止はされてないよ?
オフのままでもセグメントで指定できるから不便もないと思うけど。
0779nobodyさん
2009/11/03(火) 03:12:02ID:???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:???これでどうだろ
0783780
2009/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:???0785780
2009/11/03(火) 13:13:37ID:???ありがとうございます。
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:???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 は苦手なので試行錯誤をしていますので、
もし、こうだよ、とあれば引き続きよろしくお願いいたします。
0787780
2009/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> jQueryは軽量でもコンパクトでもない。
ホームページ冒頭にかいてあるけど?
jQuery is a fast and concise Javascript library...
自己宣伝だから全面的に信じるべきとはいわないが
この宣伝は無根拠なわけでもない。
ケチつける前に勉強した方がいい。
0789773
2009/11/04(水) 14:30:18ID:???追記です。
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:???普通にURLエンコードじゃなんでダメなの?
検索条件の保持は、検索条件内容をDBにぶちこんで、そのIDを連れ回す方がしっくり来ると思う。
CIのフォーラムでもそんな感じだったと思った。
0791789
2009/11/04(水) 20:23:11ID:???↓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
0792789
2009/11/05(木) 13:06:07ID:???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なので、 MY_Email クラスを作り mail()関数を mb_send_mail() にして、
mb_language("ja"), mb_internal_encoding('UTF-8') を記述して送信すると、今度は題名が文字化けしていまいます。
ソースはUTF-8で、Emailの"charset"設定は ISO-2022-JP にしています。
エスパーさせて申し訳ありませんが、どなたかスマートな解決法をご教授くださいm(__)m
0795nobodyさん
2009/11/06(金) 18:09:30ID:u54flEvHレスありがとうございます。
現在Postfixが使われています。
しかし、メールサーバーの変更は事情によりできないので、別の対処法をご存知でしたら教えて頂けると幸いです。
0796nobodyさん
2009/11/06(金) 18:14:39ID:u54flEvHCIのライブラリに qdmail をぶち込んで使ってみることにします。
情報ありがとうございました!
0797nobodyさん
2009/11/09(月) 13:46:17ID:???$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();
で大丈夫だよ。
0802nobodyさん
2009/11/12(木) 11:48:00ID:???現在ヘルパ関数を自作していて,ヘルパ関数内でセッションクラスを使いたいと考えています.
しかし,$this->session->userdata('hoge')のように書くとエラーになります.
どのようにすればヘルパ関数内でセッションクラスを使えるのでしょうか?
0804nobodyさん
2009/11/12(木) 12:25:12ID:???$CI =& get_instance();
$CI->session->userdata('hoge');
でどうでしょ
0806nobodyさん
2009/11/13(金) 01:38:44ID:RfEeqTfm0807793
2009/11/16(月) 12:24:50ID:???>>797
レスありがとうございます。
そのやり方は質問をする前に確かめたのですが、本文の一部に文字化けがみられました。
で、あれからずっと調べていたのですが
http://blog.livedoor.jp/lax34volvic/archives/1062690.html
ここにある問題(特定の文字「目」や「本」などが文字化けする)と同じようです。
メール本文に「本メール」という単語があり、その行が見事に文字化けしていたのです。
現在はEmailクラスを拡張して使っていますが、他にやりようがあるなら教えてください。
0808nobodyさん
2009/11/16(月) 13:06:14ID:???0809793
2009/11/16(月) 17:22:18ID:???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:???俺も大方そんなところだよ。
_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:???PHP5使っているならCIじゃなくてKohanaお勧め。
0814nobodyさん
2009/12/04(金) 22:00:44ID:???コントローラが呼ばれる直前に呼ばれます。すべて基本クラスのロード、ルーティング、そしてセキュリティチェックが終わっています。
ってあるんですが、具体的にCIがやってるセキュリティチェックって何?
0815nobodyさん
2009/12/18(金) 10:44:51ID:REAaVtDl0816保守
2009/12/23(水) 21:11:17ID:???「もうそろそろ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:/kADIv2E0820nobodyさん
2010/01/30(土) 23:11:41ID:???嫌気がさしてRubyのSinatraに乗り換えました。
0821nobodyさん
2010/01/31(日) 01:23:17ID:???0822nobodyさん
2010/01/31(日) 13:14:25ID:???0825nobodyさん
2010/02/17(水) 01:37:21ID:???デフォルトのままだった$config['sess_expiration']の値を0にしたら解決した。
なんでだろ…PHPを5.2.xから5.3.1にしたのが悪かったのかな。
0826nobodyさん
2010/03/21(日) 11:30:44ID:???インストールまではなんとかできました
0827nobodyさん
2010/03/21(日) 11:54:51ID:???本当はMVCで会社とかでよく使われるcakephpを覚えたいけど
CodeIgniterもMVCですしガイドがわかりやすくて面白いのでお世話になります
0828nobodyさん
2010/03/21(日) 14:00:50ID:???0829nobodyさん
2010/03/21(日) 14:12:02ID:???くらいだと思う個人的には
ただSymfonyは新版で変わったらしいからジャンプアップするかもしれん
0830nobodyさん
2010/03/21(日) 16:58:25ID:???0831nobodyさん
2010/03/21(日) 17:28:31ID:???このページを編集したい場合は以下のファイルを編集したらいいみたいな説明がありました
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:???(;;)
0834nobodyさん
2010/03/21(日) 19:35:06ID:kAKa3jAa1.6系と1.7系では、ファイルサイズが4倍くらい違いますよね?1.7で何がそんなに追加されたのでしょうか??
0835834
2010/03/21(日) 19:39:22ID:???コアパッケージも、倍以上違いますよね。
0837nobodyさん
2010/03/21(日) 19:58:25ID:???<?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:???0840nobodyさん
2010/03/21(日) 21:01:09ID:???>838じゃないけど、PHP自体初心者なの?
もしそうなら、いきなりCIやらないで、1回でいいから普通のPHP独習本でも
見ながら普通のスクリプトを書いてみることを勧める。
function otameshi($id1=100,$id2=200)
{
}
0841nobodyさん
2010/03/21(日) 21:10:37ID:???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:???だから、
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:???話にならん。
どの本がいいかって?
ググれ。
0845nobodyさん
2010/03/21(日) 23:04:54ID:???0846nobodyさん
2010/03/24(水) 14:11:46ID:???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:???プログラミングをまったくやったことがないなら、最初に練習してみる言語としては、
今なら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をマスターできます。
0849nobodyさん
2010/03/24(水) 14:32:47ID:???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/
0851nobodyさん
2010/03/25(木) 20:36:56ID:???0852nobodyさん
2010/03/26(金) 01:30:02ID:???マイナーな言語を薦めて最後まで責任取れるのか
仕事探すとなったらPythonの仕事なんてまずないし
0853nobodyさん
2010/03/26(金) 01:44:18ID:???0854nobodyさん
2010/03/26(金) 01:45:47ID:???0855nobodyさん
2010/03/27(土) 16:10:53ID:???=PythonはCGの世界ではデファクトスタンダード
PHPも便利だけど、一度PHP以外の言語も使ってみたらいいよ
0856nobodyさん
2010/03/27(土) 16:45:03ID:???というかPHPフレームワークのスレでPythonの宣伝するなよ
0857nobodyさん
2010/03/27(土) 16:54:20ID:???0858nobodyさん
2010/03/27(土) 17:38:56ID:???PHPだって作れる
0859nobodyさん
2010/03/27(土) 17:50:20ID:???と言いたいところだが、初心者を出汁に釣りをするのは感心できないな。
0860nobodyさん
2010/03/27(土) 17:51:03ID:???0861nobodyさん
2010/03/27(土) 17:52:18ID:???0862nobodyさん
2010/03/27(土) 18:02:32ID:???0863nobodyさん
2010/03/27(土) 18:33:50ID:???0864nobodyさん
2010/03/27(土) 19:40:08ID:???中規模 → CakePHP
小規模 → 俺俺FWもしくは生PHP
俺俺FWのたたき台 → ZendFramework
CodeIgniterだけは使いどころがねーわw
ちいたんは問題外な。
0865nobodyさん
2010/03/27(土) 19:58:36ID:???0866nobodyさん
2010/03/27(土) 20:51:11ID:???0867nobodyさん
2010/03/27(土) 21:47:31ID:???ttp://blog.candycane.jp/archives/121
0868nobodyさん
2010/03/27(土) 21:59:33ID:???ドキュメントが整ってないからまだ早いよ
0869nobodyさん
2010/03/27(土) 22:08:59ID:???0870nobodyさん
2010/03/27(土) 22:09:50ID:???kohanaが一番いいよ
0872nobodyさん
2010/03/29(月) 14:08:51ID:???0873nobodyさん
2010/03/29(月) 20:40:53ID:???いや、仕事なら英語ドキュメント読むけど、PHPは趣味なんで・・・。
0874nobodyさん
2010/04/01(木) 11:04:56ID:mWVUr3VnCI1.7.2、PHP5.3.1を使っていてsessionで困りました。
CIのconfig.phpで$config['sess_use_database'] = TRUE;
としているのにクッキーにip,UA,lat_activityまで保存されます。
しかもSet-Cookieが3,4回も送信される時もあって参ってます。
WINな環境(?)のためなのか、コーディングがまずいのか、またはCIの仕様なのでしょうか?
librariesのSession.phpに目を通してますが見当もつきません。
解決策や何かヒントもらえませんか?
0875874
2010/04/01(木) 12:04:07ID:???↑に書いたlat_activity(訂正last_activity)までは仕様上送られるようでしたが
user_dataまでクッキーに含まれることがあって問題になってます。
またEclipseでログをとってみたところSet-Cookieが5回も送られていました。
きっと基本的な所でつまづいているのだと思いますが...
0876nobodyさん
2010/05/03(月) 19:37:29ID:???0877nobodyさん
2010/05/31(月) 20:56:27ID:???なぜか?
0878nobodyさん
2010/05/31(月) 21:07:32ID:???使うならKohanaにしろ
0879nobodyさん
2010/06/02(水) 22:41:45ID:???一方で、最近になってVS2008を使いだしたんだが、なんかもうこれで良いんじゃないか?
と思うようになった30代の俺がいる。
0880nobodyさん
2010/06/02(水) 22:45:36ID:???対応バージョン古いかもしれないけど
0881nobodyさん
2010/06/02(水) 23:11:16ID:???0882nobodyさん
2010/08/01(日) 00:14:33ID:???http://bitbucket.org/ellislab/codeigniter/downloads
0883nobodyさん
2010/09/07(火) 13:54:43ID:QslHXfVo0884nobodyさん
2010/09/08(水) 17:31:06ID:???ルートコントローラからVIEWに書いたFRAMESETを呼び出してるんだけど、
googlechromeでは表示されるのにIE8だと駄目。
・・・これはこういうもんですか?
0885884
2010/09/09(木) 20:13:00ID:???こんなもんだったようです。
0886nobodyさん
2010/09/29(水) 12:39:19ID:uKU+pVOGこれ、今はダウンロードできないんですかね?
0887nobodyさん
2010/10/11(月) 12:27:20ID:???0888nobodyさん
2010/10/11(月) 14:21:34ID:???0890888
2010/10/11(月) 15:18:20ID:???install.phpを削除してindex.phpを開いたらエラーが出て先に進めません。助けてください
ErrorException [ Fatal Error ]: Cannot access parent:: when current class scope has no parent
SYSPATH\classes\kohana\request.php [ 1095 ]
1090
1091 try
1092 {
1093 // Load the controller using reflection
1094 // $class = new ReflectionClass($prefix.$this->controller);
1095 parent::ReflectionClass($prefix.$this->controller);
1096
1097 if ($class->isAbstract())
1098 {
1099 throw new Kohana_Exception('Cannot create instances of abstract :controller',
1100 array(':controller' => $prefix.$this->controller));
{PHP internal call} ≫ Kohana_Core::shutdown_handler()
0891888
2010/10/11(月) 15:58:45ID:???0892888
2010/10/11(月) 16:17:24ID:???bootstrap.phpのbase_urlが'/'だったので'/~kohana/'って書き直したら動きました
userdir設定してるのでhttp://localhost/~kohana/でアクセスすると動きました
0893nobodyさん
2010/10/11(月) 17:23:58ID:???0894nobodyさん
2010/10/11(月) 18:18:21ID:???これをデータベース使わないでMVCで表示させたいんですけどサンプルコードってどこかにないですか?
0895nobodyさん
2010/10/11(月) 18:40:24ID:???0896nobodyさん
2010/10/11(月) 18:47:04ID:???0897nobodyさん
2010/10/12(火) 08:32:27ID:???cakeも調べてみたのですが、PHPであそこまでやるならRailsでいいや、って思ってしまうので
PHPの出来る限りお手軽なフレームワークを探しています。
0898nobodyさん
2010/10/12(火) 10:41:42ID:???0899nobodyさん
2010/10/12(火) 15:23:53ID:???今からやるならCiよりkohanaの方がいいような気がするな
0900nobodyさん
2010/10/12(火) 15:36:06ID:???0901nobodyさん
2010/10/12(火) 21:35:55ID:???0903nobodyさん
2010/10/18(月) 00:47:56ID:???0904nobodyさん
2010/10/19(火) 10:16:32ID:???http://philsturgeon.co.uk/news/2010/10/codeigniter-2.0-is-stable
Link Download
http://bitbucket.org/ellislab/codeigniter/get/tip.zip
0905nobodyさん
2010/10/23(土) 18:01:16ID:sKO4L/iz$_POSTそのまま渡してもモマンタイ?
0907nobodyさん
2010/10/24(日) 04:06:01ID:???0908nobodyさん
2010/10/24(日) 06:50:34ID:???他のフレームワークでもそうなんだが、されてない。
>>906
いや全然。
でもオレオレフレームワーク使うくらいだったらこれ使った方が良いと思う。
0909nobodyさん
2010/10/24(日) 12:07:35ID:???「企業で使用されるフレームワーク」
と言っても過言ではないと思う。
Javaみたいにガチガチのシステム作るわけでもないんだし。
0910nobodyさん
2010/10/25(月) 08:15:47ID:???配列渡すときってaddslashes とかやる必要あるの?
0911nobodyさん
2010/10/25(月) 09:09:22ID:???0913nobodyさん
2010/10/27(水) 18:18:40ID:???確か俺もそこで見た希ガス
カスタマイズしやすい事がうんたらかんたら。
0914nobodyさん
2010/10/27(水) 18:20:29ID:???0915nobodyさん
2010/10/30(土) 18:57:33ID:???ただPHP4対応でなければ
0916nobodyさん
2010/10/30(土) 19:18:51ID:???0917nobodyさん
2010/10/30(土) 19:25:13ID:???0918nobodyさん
2010/11/21(日) 03:34:14ID:???0919nobodyさん
2010/11/22(月) 16:11:37ID:F611qCBGただ日本語圏では相変わらずの不人気のようだが・・
0920nobodyさん
2010/12/05(日) 21:48:15ID:???具体的には、PHPが動いている既存のサーバーがありまして、
このサーバーに新たに何かインストールすることは出来ません。
/var/www/以下にアプリケーションを配置することだけが可能です。
このような制限の下で使えるPHPのフレームワークを探しています。
0921nobodyさん
2010/12/15(水) 18:00:43ID:ilKXU8Buアドレスにはindexって必ず入るんでしょうか?
example.com/index.php/blog/となってますが、
.htaccessを設定して.phpを取ってアクセスすることは出来ました。
indexを消す方法というのはどのようになるのでしょうか?
0922nobodyさん
2010/12/15(水) 22:20:46ID:???0923nobodyさん
2010/12/16(木) 09:12:07ID:???ユーザーガイド通りやっててもサーバー側の設定でうまくいかないことあるよ。
>>921
htaccessでRewriteEngineとかちゃんと使えるか確認してみ。
おれはレンタルサーバーで使えなかったから別サーバーに移ったけど。
0924nobodyさん
2010/12/19(日) 03:03:49ID:???なんかいつもワニをイメージしてしまうのは俺だけなのかな
0925nobodyさん
2010/12/23(木) 22:26:38ID:???俺はチャッカマンが浮かぶ
0926nobodyさん
2010/12/31(金) 00:05:24ID:ioO/GJflhttp://example.com/home
とかならアクセス出来ますがhttp://example.com/でアクセスたい場合はどうすればいいんでしょうか?
htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|css|.+\.gif$|.+\.jpg$|.+\.png$|.+\.js$)
RewriteRule ^(.*)$ index.php/$1 [L]
config.phpはbase_urlを変更しただけです。
0927nobodyさん
2010/12/31(金) 01:41:01ID:???会社に転職しまして
前任者のいまだに生PHPでSQLに$_POST値をそのまま文字連結して投げてる
ようなかっこいいソースを見て目眩がした次第
Cakeは手を付けましたがディスパッチャやセッション周りの見通しが悪すぎてパス
こんな私ですがCIとはうまく付き合えそうでしょうか
一応PHPは3.0.18-i18nから仕事でも使ってましたが、メジャーバージョン上がる
たびにカオスになったので細かい仕事はやりつつCPAN便利なPerlに軸足を移した
感じです
0928nobodyさん
2010/12/31(金) 21:48:30ID:ioO/GJflそれにセキュリティとか大丈夫なら別に生でPOSTしてもいいと思うけどね。
まぁ複数人で作業するには面倒かもしれないけど。
0929nobodyさん
2011/01/01(土) 01:06:21ID:???作り手が何人なのか、規模がどんだけなのか、知らんけど。
エンドユーザとか、使用環境にもよるよね。
0930sage
2011/01/04(火) 20:59:52ID:???Hint:routing
>>927
SSLとか使ってない限りは普通にネットワーク上をデータは流れていくから
セキュリティが出来てれば別にそのまま投げてもいいと思うわ
0931nobodyさん
2011/01/08(土) 18:13:20ID:Qv+KXgTdviewの中にコード書くと処理されてエラー表示になります。
どうすれば表示されますか?
0933nobodyさん
2011/01/31(月) 02:39:01ID:???htacccessで
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
と記述した場合、
http://localhost/hoge/
だとindex.phpが表示されるが、
http://localhost/hoge/test/
としても、test.phpが呼び出されず404エラーです。
Rewriteの指定間違えてるのかな・・・?
0934nobodyさん
2011/01/31(月) 10:35:23ID:???簡単と言われるCakePHPに挫折した俺でもCIは余裕で覚えられた
きっと公式ドキュメントやCIの設計が良いんだろう
0935nobodyさん
2011/01/31(月) 13:05:48ID:???すごいとっつきやすいしやりやすいね
初心者向きというか、だれでも使えるよね
0936nobodyさん
2011/01/31(月) 13:18:34ID:???Zendだと_forward("アクション名", "コントローラ名");
みたいなので簡単にリダイレクトできたので
0937nobodyさん
2011/01/31(月) 15:23:51ID:???0938nobodyさん
2011/02/02(水) 07:03:52ID:???0939nobodyさん
2011/02/02(水) 11:52:43ID:???0940nobodyさん
2011/02/02(水) 16:24:12ID:???0941nobodyさん
2011/02/04(金) 18:16:35ID:/x0iTGJJredirect('/test', 'location', 301);
で飛ばしたらアドレスがtest.htmlになるんだが何故?
test.htmlでもアクセスは出来てるんですが理由がちょっとわからない。
0942nobodyさん
2011/02/04(金) 18:53:13ID:???0943941
2011/02/04(金) 19:01:48ID:/x0iTGJJやろうとしていることは認証なんですが
コードといってもif文が入るくらいの単純なもんです。
if($_SESSION['hogehoge'] == "")
{
redirect('/test', 'location', 301);
}
else
{
$this->load->view('body');
}
セッションがあればbody表示、無ければtestへ飛ばす。
ログインミスでセッションが出なかったらtestへ飛びます。
0944nobodyさん
2011/02/06(日) 09:53:25ID:JGIPwaHj試してみたら俺もhtmlがついてたわ
理由は知らない
0945nobodyさん
2011/02/07(月) 09:41:15ID:DyYuIEO0configか何かか?
0946nobodyさん
2011/02/07(月) 10:09:40ID:???0947nobodyさん
2011/02/07(月) 11:20:18ID:DyYuIEO0質問者にはすまんことしたな。でもhtmlでも動いてるから俺はどうでもいい。
0948nobodyさん
2011/02/07(月) 12:02:50ID:DyYuIEO00949nobodyさん
2011/02/08(火) 19:54:08ID:B5ev7l2dトップのindex.phpのところ.htaccessで
SetEnvIf User-Agent "Baiduspider" shutout
って書いても普通に百度にアクセスされているんだが・・・
0950sage
2011/02/09(水) 08:09:08ID:???0951nobodyさん
2011/02/09(水) 12:34:16ID:VGkdt3BF0952nobodyさん
2011/02/10(木) 11:01:56ID:amyjZedzあとはhtaccess使えないサーバーとか。
0953nobodyさん
2011/02/12(土) 15:25:00ID:???0954nobodyさん
2011/02/13(日) 20:57:59ID:???小規模なサイトだと面倒くさいのでCakePHPとCodeIgniterどっちを覚えようか迷うんですが
どちらも使える人はどちらを勧めますか?
0956nobodyさん
2011/02/14(月) 09:12:07ID:ZSsnoqc2どちらも使えるようになるのがお勧め
個人的にはCodeigniter
理由はそんなに縛りがないから。
0957nobodyさん
2011/02/14(月) 10:12:15ID:???0958nobodyさん
2011/02/14(月) 10:41:45ID:???仕事で使う場合を考えるとCIをメインで覚えるメリットはあるのかな?
0959nobodyさん
2011/02/14(月) 10:49:25ID:???そこは仕事を取る側の提案だろ
「弊社ではZend Framework、CakePHP、CodeIgniterが扱えます。
御社の希望する案件によりますと、CodeIgniterなどはどうでしょう。」
みたいに顧客に提案しろ
ぶっちゃけ顧客は何もわからないんだから、そこはトークだろ
まぁ、ガチガチ開発に努めたいなら(請負なら)
新規案件→EC-CUBE、Wordpressが多い
既存案件→EC-CUBE、Zend Framework、CakePHPが多い
どうCIを業界に導入していくかは、営業の仕事じゃね?
0960nobodyさん
2011/02/14(月) 16:06:33ID:???○ function function Method(){}
× public function Method(){}
0962nobodyさん
2011/02/17(木) 12:39:39ID:???1. A copy of this license agreement must be included with the distribution.
ってありますけど
これってサイトを構築したらlicense.txtも一緒にうpしないとダメってことなんですか?
0963sage
2011/02/21(月) 00:45:19.79ID:???/system/application/models/function.php
function a(){}
function b(){}
function c(){}
こういう形なんですがfunction a()の中でfuncrion c()を呼び出す場合に
何か特別なことをする必要がありますか?
function a(){ c(); }としても
Call to undefined function c()とエラーが出ます。
function c()としてはあるのですが参照方法がよくわかりません。
0966nobodyさん
2011/02/23(水) 12:28:56.73ID:???0967nobodyさん
2011/02/26(土) 02:08:58.01ID:yx6fZKZE0969nobodyさん
2011/02/26(土) 17:41:23.93ID:yx6fZKZEみたいなものを自分で書くってこと?
書いたとして、それをどこに置けば・・とかがよくわからない
0970nobodyさん
2011/02/26(土) 18:36:22.53ID:???0971nobodyさん
2011/02/27(日) 16:45:18.18ID:5z0ZrBtmその中に、h()関数作るとできました ありがとうございました
0972nobodyさん
2011/02/28(月) 18:00:16.84ID:2GUCHRDoデータ削除時に、関連のあるテーブルのデータも一緒に削除したい場合
皆さんはどのように処理していますか?
いろいろやった結果
$this->db->trans_start();
$this->db->where('id', $id)->delete('model');
$this->db->where('model_id', $id)->delete('model2');
$this->db->trans_complete();
このようなものに落ち着いたのですが
違うやり方、もしくはもう少しスマートなやり方など、あれば教えてください
0973nobodyさん
2011/02/28(月) 23:49:31.02ID:???0974nobodyさん
2011/03/01(火) 00:28:57.90ID:SavaENs6DELETE FROM model1
JOIN model2
ON model1.id = model2.model_id
WHERE model1.id = $id
");
ですかね?SQLベタで書くと。SQLベタ書きにあまり慣れていないです
ただ、上記のSQLで書くと、MySQLエラーが出るんです
0975nobodyさん
2011/03/01(火) 01:59:20.62ID:SavaENs6$sql = "DELETE FROM model1 JOIN model2 ON model1.id = model2.model_id WHERE model1.id = ?";
$this->db->query($sql, array($id));
のが良いのか
0976nobodyさん
2011/03/01(火) 21:00:53.87ID:???できれば1か所編集すれば全部に反映されるようなの理想なんだけど
0977nobodyさん
2011/03/02(水) 00:22:30.13ID:???全て*でとれってかwwwwwww
0978nobodyさん
2011/03/02(水) 01:43:53.85ID:dSulORFE俺もそれ考えてた今
で、結果、全体のレイアウト的なファイルをviewに置いて(template.phpとする)
それを通して、index.phpだの、add.phpだのを表示させるようにすると
template.phpの<title><?php echo 'sample - ' . $this->uri->rsegment(1) . ' - ' . $this->uri->rsegment(2); ?></title> とか
<?php $this->load->view($this->uri->rsegment(1) . '/' . $this->uri->rsegment(2)); ?> とか、書くと
自動でやってくれるからControllerが少しすっきりするかなと。
0979nobodyさん
2011/03/04(金) 00:22:38.55ID:???http://www.sanspo.com/shakai/news/110220/sha1102200502002-n1.htm
> 直後、「臭いで気づいた」というさすがの主婦
0980nobodyさん
2011/03/05(土) 02:27:29.13ID:???CodeIgniterが今はトップになってたわ。
世界の話であって日本では異なる結果だけど。
0981nobodyさん
2011/03/05(土) 23:53:58.39ID:???0982nobodyさん
2011/03/06(日) 00:29:05.93ID:???1.x時代のリファレンスが参照しやすかったんだが、
もうやる気ないのかなあ。
0983nobodyさん
2011/03/06(日) 17:09:49.22ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。