CodeIgniter Part3 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
CodeIgniter3で使えるDBのORマッパークラスってあるんでしょうか?
簡単な 1対1 や 1対多 のリレーションを取ってきたいだけなのですが。 あれ、CI使いがORM欲しくなったらFuel導入・移行のタイミングなのではないかと。
まあCIとの違いも細かく多岐に渡るから一概にお勧めする訳じゃないけど
作り直しで問題ない案件なら移行コストはすんごく低いよ
帰宅後の手探り学習でも基礎抑えるまで一週間ありゃ足りる。あとは元ソースの規模次第だけど、コアに手入れてた案件でもそんな苦痛はなかった CodeIgniter使ってた人の乗り換え先としてはFuelが良いってたまに聞くけどそうなのかな 似通ってるとは言えるよ
ただ、それでも機能は増えてるからね
Fuel覚えたけど小規模な新規案件ではめんどくなってCIでやっちゃう、っていう併用者や出戻り組もよく聞く話 CakePHP2→3を検討したけど、
・PHP5.4以上でないといけない(案件、クライアントのサーバーによっては古いのも未だにある)
・モデルがモデルとエンティティに分かれてサクッと作れなくなった(ZF1→2みたい)
それでCIの早さ、2→3になってもほとんど構造が変わらない、
ライセンス騒動が解決してることに魅力を感じて乗り換えた >>57
>それでCIの早さ、2→3になってもほとんど構造が変わらない、
>ライセンス騒動が解決してることに魅力を感じて乗り換えた
それ正解だと思うぞ。 ありがとう
あとはもうちょっと普及してくれたらありがたい CIは十分普及したと思うんだけどね
先にもあったけど書籍が出てないのと、そもそも必要充分にかれてて、革新的な新機能を求める新規ユーザで賑わう状況にはない
ライセンス問題の解決はいささか旧聞だけど、このシンプルさを保守し続けてくれることが何よりの喜びだと思う
新機能や発展性、活発さとかはFuelに任せておこう、っていう棲みわけもできてるしね
Cakeは変更が多くて悩ましいね。改善が活発だという事でもあるから批判はないけどね
CIはうまく保守続けばPHP7世代の末期まで大きな変化がないまま続くんじゃないかなと期待してる CI用のライブラリ置き場がネット上にあると良いんだけどな。
Smartyを使うライブラリとか、PHPUnitのとか、NetBeansやPHPStormの
関数補完用のファイルとか。
みんなバラバラにHP上にあるし、違うものが複数あったりするので。 「はじめてのフレームワークとしてのFuelPHP」
をCI3.0に書き直したものがほしい。 静的型付け言語に回帰してる風潮でスクリプト言語離れが進んでて
phpどころかrubyでさえもオワコン化してきてるって言うのに
そのphpでメンテもされてない5.2とか推奨のciが盛り上がる訳がない >>66
PHP5.4以上が推奨だが
PHP 5.1.6 is no longer supported. CodeIgniter now requires PHP 5.2.4 and recommends PHP 5.4+ or newer to be used. 確かにphp=wpの言語ってイメージが強いし
Framework乱立で自滅してオワコン感はある
だからと言ってscalaとかgoが主流になるとは思えん
今後はどうなっていくのかね 流行りで言うとnode.jsかな。主流でもないけどwebsocketやりたい人が最初に試す環境になったと思う
最近GAE/goやってみてるんだけど、良いものなんだけどクセが多いからお勧めしにくい言語・環境でもある。主流になる日は当面なさそう
必要に応じて言語選ぶ時代になってると思うから、php+CIって構成も消えないでいてくれれば御の字かな
盛り上がって欲しくないわけではないが 趣味でやるなら流行りのFWを選べばいいけど、業務アプリとか
公式サイトとかだと、最低でも10年は稼働すると思う。
その間安心して使うには、頻繁にバージョンアップしない
ものがいい。
Laravelなんて、実務で使われているんかな。
俺は怖くて使えないけど。 view側でcontrollerのメソッドを利用したいんですが
どういう書き方をすればいいでしょうか?
初心者ですいませんがどなたか教えて下さい >>71
もうできてるかもだけどget_instanceでコントローラのインスタンス取得できるでしょ codeigniter動かすならapacheの方がいいでしょうか?
ほぼ動的コンテンツになる気がするのですがnginxでCI使ってる人も多いようで迷います codeigniterと相性が良いのはapacheかnginxか、という意味かな?
よくわからん・・・ >>74
そうです、サーバーに関しては全然わからなくて質問が変かもしれませんが…
codeigniterで静的コンテンツを配信することってあんまりない気がするんですが
どういう選び方すればいいんでしょう?
よく例にあがるnginx リバースプロキシ+apacheで、画像やCSSやJSファイルのみnginxで
実際DBから情報とってきてHTML出力するのはapacheってのが定番なんでしょうか? 質問が変すぎて回答できないよw
codeigniterとWebサーバの種類は無関係だろ。
codeigniterはフレームワークの中では一般に速いと言われている、という
位の回答しか出来ないなぁ・・・
それtとも熟達者が適切な回答をくれるかな? PHPとサーバの組合せならあるかもしれんが、PHPの中でCodeIgniterが向いてるサーバとかSymfonyが向いてるサーバとかは無いと思うぞ。 >>76,77
フレームワークというよりPHPに向いてて、動的か静的かなどで見ればいいんですね!
これ以上はサーバーの話になるのでスレチになりそうですから失礼して、意見を参考に勉強したいと思います。
ありがとうございます。 xammpでapache+ci2という構成で作っていたものを
vagrant+centos6.7+nginx+php-fpm+ci3という構成にローカルからローカルへ移しています
よく分からないのが、まず前者の構成のときにroutes.phpが
$route['default_controller'] = "home";
$route['(:any)'] = "home/$1";
で、.htaccessが
RewriteCond $1 !^(index\.php|css|js|robots\.txt)
RewriteRule ^(.*)$ /Codeigniter/index.php/$1 [L]
として問題なく動いていたのですが
nginxではroutes.phpはそのままにnginx.confで
location / {
try_files $uri $uri/ /index.php?/$request_uri;
}
とすると、例えばですがexample.com/test (::Home function test(){}など)は問題ないのに
example.com/hoge/arg
とすると404になってしまいます。::Home function hoge($arg){}といった引数をとる関数なのですが。。
結局routes.phpに手を入れて
$route['hoge/(:any)'] = "home/hoge/$1";
としたら動いたのですが、腑に落ちません。.htaccessで出来ていたことがnginx.confでは出来ないとかあるんでしょうか?
nginxのスレで聞こうか迷ったのですが、こちらでどなたか分かる方がいればお願いします 80ですが、原因が分かりました。
routes.phpの(:any)がスラッシュにマッチしなくなったというのはドキュメント見て知ってたんですけど
これが原因でした。
(:any)では/hogeまでしか取ってくれてなかったためargが渡っていなかったようで
(.+)に変えることで今まで通りの動作になりました
>一方でこのバグを活用していた開発者もいることでしょう。 もしあなたがその一人で、引き続きスラッシュにマッチさせたいなら、 正規表現 .+ を使ってください:
これ、自分が当てはまってるとは・・・ しかしexample.com/index.php/products/shoes/sandals/123
というようにメソッドへ引数をスマートに渡せるのが気持ち良いのに、この(:any)の変更って他にハマる人いなかったんですかね・・・
おかげで1日潰しました・・・ww is_mobileで動的に切り替えてるのですがgoogle のモバイルフレンドリーテストに合格しません >>70
思う思う。地道にセキュリティ対策で改良してくれればいいのに
メジャーバージョンアップしたらソース引き継げないのはひどすぎ 今メジャーバージョンって一般的なsemverの意味合いでは「APIなどに互換性がなくなる規模の改修」を指すからそれは仕方ない
心配の本質は「ころころ打ち切るな!せめて簡単にマイグレーションできるようにしてくれ!」ってことだよねw
その点CodeIgniterは天国だ。今回のメジャーバージョンアップで何も苦労しなくて逆に引くレベル CodeIgniterのライブラリ倉庫みたいなサイトはあるんでしょうか?
PHPにおけるPEARやPECLみたいなものです。 CodeIgniterも少し手の混んだことをするとバージョンアップ追従するのに苦労しそうだが メジャーバージョンアップでソースが使いまわせなくなったって文句言うのは、
ドラゴンクエスト1の復活の呪文がドラゴンクエスト2で使えないって文句言うようなもんだ。 なるべく運用中のシステムのメンテナンスに掛ける労力を節約して、他の多くの仕事を
請け負ったり、新しい分野のスキルを習得して新規案件に対応したいと思わんのか?
ドラゴンクエストだけやってりゃいいなら、いいけどね。 >>89
最近のゲームは引き継げるんじゃないの?知らんけど ちょっと感動したことがあったので書いておく。
cakeならサイト訪問者のログイン用と管理画面用とでセッションを分けたいとき
セッションクラスに対して名前を指定すればできたけどciではそれができなかった。
そこでENVIRONMENT定数を使い分けて管理画面用のコンフィグファイルを作った。
公式のユーザガイドにはこう書いてあった。
>もし、ファイルが存在しなければ、グローバルの設定ファイルをロードします。
>これは、あなたは すべての 設定ファイルを環境固有のフォルダに置く必要はないこと、
>環境により変更するファイルだけを置けばよいことを意味します
今のところ管理画面用として分けたいのはセッション名だけでそれ以外は共通。
にも関わらずconfig.phpを丸ごとコピーして置かないといけないのか?
そんな心配はなく環境固有の設定ファイルがあってもグローバルの設定を先に読んでくれるから
管理画面用のコンフィグファイルにはセッション名の項目だけを書くだけでよかった。 Ver3のマニュアルってcodeigniter.jpは作ってないの? ないよ
3からのチェンジログを本家で追いかけるのが最短かな Ver2から書き方とか使い方が大幅に変わったとかないように見えるが 大幅に変わってないのにメジャーバージョンアップなのか むしろバージョンアップしても互換性が保持されてると考えると悪いもんでもないとおもうが ライセンスの変更により極幅に変わったに違いない お察ししる! まぁそもそも緩いところが売りだから
あまり機能追加とか規約とかでゴタゴタしなければ改修してくれるだけでもいいやと思ってる zendとかあの辺の大規模なやつに比べれば緩いと思うがね 日本語版のマニュアルを一括でダウンロードしたいです。
Ver2で良いです。
ダウンロードできるサイトがあれば教えてください。 railsのactive record てすごい楽だね データベースのクエリー結果の取得用の関数ですが、
fetcheColumn()に相当する関数(1列目だけ取得する関数)や、
fetchOne()に相当する関数(1行目の1列目だけ取得する関数)
は、ないのでしょうか?
また、パラメータクエリでは「?」を使えますが、「:name」のような
名前付きプレースホルダは利用できないのでしょうか? 今までciがPHPフレームワーク最速という認識だったけどファルコンとかスリムというのが話題になってる? もうとっくにそんな話題は終わったよw
俺の中では、Webサービス作るには、Slimは機能が不足しすぎて使えないという結論になった。 2016年03月22日 3.0のセキュリティ修正版である3.0.6がリリースされました。 よくわからんけどとりあえず3.06でサイト作ってみる。php初心者だけど趣味だしまあいいかなっと。生phpと他のフレームワークはなんか好きになれないw FuelPHPはCodeIgniterの後継らしいけど、FuelPHPではなくCodeIgniterを選ぶ理由って何だろう? fuelphpは初心者にはハードルが高かったw。もうちょいphpそのもの雰囲気に慣れたらもう少し再挑戦するつもり。
入門書かったけど本の厚さでウンザリしてしまった。 質問させてください
テンプレートエンジンとしてTwigを導入してみたんですが
フォームヘルパの中で変数を扱うことができません
{{form_open('ここを変数で制御したい')}}
シンプルな解決法はありますか? >>114
後継じゃないよ
CodeIgniterでライセンスが問題になったときに似たものを作っただけ codeigniter 1.X て脆弱性が問題になったみたいだけど
具体的にどのへいが脆弱だったの? >>115
Fuelは日本でしかはやってない
CodeigniterはLaravelの次くらいには使われてる 2.1.xから最新の3.0.6にアップグレードするにあたって、新規関数とか非推奨関数やら知りたいんだけど、wordpressみたいにどこかにまとめてるサイトってない?
廃止関数だけならアップグレードのページでわかるんだけども... 121だが、changelog追うしかなさそうだ... Server Requirements
PHP version 7.0 or newer is required.
だって そろそろ新しい和書を出してくれないかしら
3で良いから まじかよ
やっぱ英語でチュートリアル読めないとついていけないか 4ってもう開発終わったん?
正式リリースは来年春ごろって何かでみた気がするけどどこでみたか思い出せない CI4は本家のダウンロードページにリンクがありますよ。
ttps://www.codeigniter.com/download
CI2->3はあまり変わらなかったけど、今回は結構変わるのね。PHP7ですって。。
ttp://www.slideshare.net/tetsuroy/codeigniter4 ドキュメントが良く出来過ぎてるから、ここで質問することがないんだよ。 4のDEVじゃない正式Releaseって何時予定なん? CI4から触っててpager周り見てたんだけど検索結果件数にたいしてpager作るなら自前で書くん?
FindAllになってたので
実行すれば速いんだけど今日PC無いねん Webサービスでの画面遷移について質問があります。
画面A →(POST)→ 画面B →(POST)→ 画面C
と、遷移させたいとします。
で、画面Cで受信したPOSTデータにエラーがあったら画面Bに戻りたい。
このとき画面Bでは、画面Aから先にPOSTされたデータと、画面Bで先に入力した値を再表示させたい。
そこで質問ですが、
・画面Bや画面Cでは、受信したPOSTデータをセッションに保存するように作るのでしょうか?
・画面Cから画面Bに戻るには、redirect()を使うべきか、それとも $this->画面Bのメソッド(); を呼ぶのがいいのでしょうか?
教えてください。
お願いします。 >・画面Cから画面Bに戻るには、redirect()を使うべきか、それとも $this->画面Bのメソッド(); を呼ぶのがいいのでしょうか?
リダイレクト使うべき。
表示される画面とURIはなるべく一対一になるとデバッグがしやすい >>152
ありがとう。
自分が思った理由とぴったりな回答で自信持てました。 ■ このスレッドは過去ログ倉庫に格納されています