[PHP][フレームワーク]CodeIgniterスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/04/27(金) 23:17:16ID:???チュートリアル:http://codeigniter.com/tutorials/
ユーザガイド日本語訳:http://ci-user-guide-ja.nought-point-999.net/
小回りの利くフレームワークの話題をひとつ!
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');
■ このスレッドは過去ログ倉庫に格納されています