【php】fuelphpについて語ろうぜ
fuelphpってどうよ? たてる場所間違えたので、こっち使ってね☆ Codeigniter3が出たらコレに乗り換えるわ とりあえずインストールでおおってなった所までは行った Hello worldのところまでやりかたおしえて >Stuff that Kohana has that is the same as Fuel: > >? Database Class >? Template / Views > >Stuff that Fuel has that Kohana doesn’t: > >? Command Line Tasks >? Code Generation >? Migrations >? Full REST controller (ours does a LOT more) >? Format control >? Interactive Debugging >? Namespace support >? Package Management > >So, even if Fuel was a clone of Kohana (which it really isn’t) we’ve added in plenty of new features. >To reiterate my last point: Kohana was a clone of CodeIgniter when it started out too. So let’s drop the “Kohana clone” junk shall we? 掻い摘むとこの辺かね なんか分裂しすぎて流行らなそうなんで 面倒だけどrubyに移る事にするわ 言語の勉強から始めないといけないのはストレスだけど railsはコーヒースクリプトとかガンガン新しいこと取り入れてるみたいだし >>12 c:\xampp\htdocs\fuel_intro>php oil refine migrate Error: mysql_connect(): Access denied for user 'root'@'localhost' (using passwor d: YES) in C:\xampp\htdocs\fuel_intro\fuel\core\classes\database\mysql\connectio n.php on 77 http://localhost:8000/fuel_intro/docs/installation/troubleshooting.html githubのサイトから取ってきたドッキュメントは読みやすいのだけど うん…いまいちデーターベースの設定がよくわからないや…難しい… 'database' => 'fuel_dev', 'username' => 'root', 'password' => '', oh... /fuel/app/config/db.php の database の部分を 'fuel_intro' (たぶん誤植かこれ…) して password の 'root' を '' にしてやれば上記コマンドでデーターベース作成できた! Fuel::DEVELOPMENT => array( 'type' => 'mysql', の type を 'sqlite' にして migrate すると Error -Class 'Fuel\Core\Database_Sqlite_Connection' not found in COREPATH/classes/database/connection.php on line 71 となった。sqliteには対応してないのかな… fuelphp FuelPHP Site Outage: We had too much traffic for our DB to handle so we upgraded. Mid-upgrade @pagodabox had a bug, now we're stuck waiting for help 12分前 お気に入りに登録 リツイート 返信 ありゃ何かサイト落ちてるっぽいな… ちょっと離れて、眺めてみる >正式名称は「PHP: Hypertext Preprocessor」であるが、一般的には「PHP」と省略して用いられる。 >このPHPとは、Personal Home Page の頭文字に由来する cake の良さは、Html helper が充実してる http://my-cakephp.blogspot.com/2009/11/creating-html-text-links-with-cakephp.html php 自体がHTMLテンプレートなのに、そこからもう一段別のsyntaxのテンプレートを 用意してとかやらなくて済むのが利点。ただ多用すると重くなりそうなのでそこはトレードオフか。 form と fieldset とかコンポーネントごとに与える三番目あたりの 引数の値の渡し方とか眺める cake: http://torhamzedd.blogspot.com/2010/12/cakephp-advent-calendar-12st.html fuel: http://press.nekoget.com/fuelphp_doc/classes/form.html cake のがやっぱ可読性は高そうだ…というか やっぱり fuel というかCI系のやつは、テンプレートとセットで使うこと念頭に置いて作られてそうだった… もっとすっきりした形で提供されてる form helper とか使いたいな…ひとます撤収。 WordPressやMDCみたいに翻訳元のURLをのせてくれるのがいいんだよな CodeIgniterのところで話題になったから使ってみたけどコントローラがシンプルにかけるからいいね 後はユーザーを増やしてたくさんバグ見つけてもらうことだな さすがに仕事で使うのは控えたい こういうふうに全てのアクションで同じ値を使いたいのですが、アクションを増やすごとに 毎回同じ事を書くの面倒です このへんはどう改善して書けばよいですか? class Controller_Welcome extends Controller { public function action_index() { $data['title'] = "サイトのタイトル"; return Response::forge(View::forge('welcome/index')); } public function action_sitemap() { $data['title'] = "サイトのタイトル"; return Response::forge(View::forge('welcome/sitemap')); } public function action_page() { $data['title'] = "サイトのタイトル"; return Response::forge(View::forge('welcome/page')); } } クリスマスなんたらでコミュを囲った奴らが実は動かないから 逆に障害になってるよな。言いっぱなしつーか。いいFWなのにな。 結局、どの辺にバグが多くて、何系の業務アプリに向いてないんだ? 5.3以上対応ってとこじゃないの?結局は。 それが長所でもあるんだけど。 PHPフレームワークって何回分裂したら気が済むの? >>24 Controller_Welcomeクラスにbeforeメソッドを定義しては? beforeとかいう以前にモデルを作らないからそうなると思うけどね >>29 フレームワークってのはそんなもんだ。 コア部分の違いを吸収しようとするとコードがフクザツに大きくなるし。 無職の俺が名乗り出て有志を募っても良いんだけどさ 無職が気に食わない奴とか出てきて対立しそうだからやめとくわ ユーザー会の運営って、手間はかかるけど勉強にはなるし、そこから仕事が発生したりもするから、勉強中の無職なんて運営者に最適だと思うな。 やるならDrupalみたいに複数人で意見言い合えるコミュニティーにしてくれ 活気付くなら良いじゃない。 嫌になったら辞めたら良いし。 だめだ。俺の頭じゃ解決できん。 このSQLをどうやったらQueryBuilder形式にできるんだ? Model_Crudでもいいから教えてエロい人!! 「SELECT * FROM tbl_search WHERE account = ? AND position = (SELECT MIN(position) FROM tbl_search WHERE account = ?);」 なんというか、1件だけ取れればいいんだから 頭を柔らかくすればいいと思う 興味あるけど日本語情報が少ないのがなぁ codeigniterくらい初心者に優しかったら使いたい 更新も活発じゃないし趣味でしか通用しないフレームワーク そう思えたなら、趣味に使ってればいいのだが、その書き込みはどんな反応が欲しいのか不明だ。 いろんなブログで取り上げられてるの見ると かなり盛り上がってそうな印象なのにこのスレはお通夜 中途半端なライセンス解釈でciを見捨てた元ci信者しか騒いでないから 実質的に騒いでるのは一部だけ しかも乗り換えを決めたほとんどの人は安定性と機能と速度でyiiに乗り換えてるから こっちはほとんど人いない ciに慣れ親しんだ人はfuelに移行する事を考える前に もう一回ciのライセンスについて検討し直す事をお勧めする ユーザ会のMLをライセンス問題が勃発した10月辺りから全部見直した方がいいと思う なんでこういう事態になってしまっているのか見えてくるかもしれない http://sourceforge.jp/projects/codeigniter/lists/archive/users/ まさにyiiに乗り換えたんだけど、めちゃくちゃ快適だよ 今では一番気に入ってるわ なにやらめんどくさそうなci使うよりよっぽどいいと思う でも、盛り上がりは穏やかだけど、いいフレームワークだと思うよ。 >>46 そうかな 懇談会に参加してもあんまりFuelの話は出ないか 公式のフォーラムでも出てたけど、Webで起動するのと、Taskで起動するのとでDOCROOTの値が違うのは問題だよなぁ。 FuelPHPを無理やりはやらそうとしてる人たちが気に食わない CI Kohana Fuelのどれかをやろうと思ってます CIは古いがゆえに起きる問題(プロジェクト分裂とか後方互換気にしすぎとか)が気になるかなって感じで Kohanaは日本語ドキュメントが少なすぎて Fuelが一番バランスがいいなって思ったのでFuelにしようと思うのですが CIで使えるものは全部Fuelでも使えると思っていいでしょうか? ここにクラスを入れておけば自動的にincludeされるディレクトリとかない? app/classes/controller.php を作成し、 __construct()にてapp/classes/class/ディレクトリの中の*.phpをrequire_once()する app/classes/class/ディレクトリの中のクラスに、 class test { public function test1(){ test::test2(); } public funciton test2(){ echo "ABC"; } } app/classes/controller/default.phpのデフォルトコントローラ内に test::test1(); と記述したところ ErrorException [ Error ]: Call to undefined method test::test1() とエラーメッセージが表示されてしまいます。 class_exists('test') だとtrueが返るのですがなぜでしょうか。 エラーメッセージ読めよ classがundefinedとは書いてないだろ はい、classは存在するのに、 publicであるtest1がtest::test1()で実行できないのはなぜでしょうか クラス単体で動作させた場合は実行できました typoでfuncitonになってるからじゃね ふぁんじしょん IDE使おうぜ あと単体テストはしっかり メールアドレスとパスワードでログインして、 ユーザー名の代わりにニックネームを使いたいんですが、 Authドライバ自作しないと無理でしょうか? 全然ユーザー集まらないじゃねぇか これじゃあ"増えないPHP"だな 糞 ただの劣化したcodeigniterでしかない さも流行ってるかのように煽ってる奴なんなの? 煽ってる人は本を売りたい人達。 でも、静かにちゃんと使ってる人は解ってるけど、なかなかいいFWよ。 fuelは軽量かつ最新のPHPに最適化されていて中々いいけど 正直CIでも何の問題も無いよな。 いずれにせよ、yii最高、cakeまじ糞とかやたら熱く語りたがる フレームワークヲタは大したスキルもないしキモい。 入力フォーム→確認画面→完了 みたいにしたいんですけど 仮に入力フォームがaction_post()で 確認画面がaction_confirm()だったとして フォームで入力したデータをaction_confirm()にポストして バリデーションで失敗したとき、action_post()で使用したviewを読み込んで exit;するのはおかしいでしょうか? public function action_confirm() { // (省略) if ($validation->run()) { // (省略) } else { $this->template->content = View::forge('articles/form'); exit; } // 以下省略 } すみません検証もせずに聞いてしまいました。 正しくはexit;ではなく return $this->template;でした。 もっとスマートなやり方があれば教えて頂きたいです。 echoじゃ出力できなくなってんじゃん! return ブログとか見てるとfuelphp人気ありそうなのに このスレは過疎ってる不思議 Controllerのユニットテストができなくて泣いた。次のメジャーバージョンからできるようになるんだっけ おお、こりゃ良さそうだ ttp://tech.caph.jp/2012/02/04/fuelphp-admin-view/ セクシーなコードってどういうコードですか? 想像が付きません ZendFrameworkは難しくて学習段階で挫折しました。 50時間くらい学習したと思いますが私には難しすぎました。 PHPやOOPは、分かります。 FuelPHPはZendFrameworkより初心者の敷居が低いでしょうか? まぁCIと一緒だね。他のFWに挫折した人達でも使える。 その代わりできる事はあんまりない。 ZFより簡単なんですね。 チャレンジしてみます! ありがとうございました! すみません、下記コードでDBから値を引っ張っています。 $data['mains'] = DB::select() ->from('mains') ->join('kotsus', 'left')->on('mains.sick_cd', '=', 'kotsus.sick_cd') ->where('mains.sick_cd', 'in', $sick_cds) ->execute(); mains,kotsusともにsick_cdがある場合は良いのですが、 kotsusにない場合に、mainsのsick_cdフィールドがnullになってしまいます。 (kotsusに無いためnullを取得し、mainsの値を上書きしている) kotsusテーブルの持つ値でソートしているため、 Modelを使って各々にクエリを投げるような真似をしたくないのですが、 nullで上書きされないようにする方法は何かあるでしょうか? >>88 Inner joinにするか、 ->where('sick_cd', 'IS NOT', null) 追加でいいんじゃない? FuelPHPを下のURLで勉強してみました。 10分でわかるFuelPHP http://www.slideshare.net/kenjis/10fuelphp-osc2012-nagoya FuelPHP簡単!これなら習得できそう!です。 この次に学習するオススメのサイトや資料がありましたら、 是非教えてください。 正直な話、PHPを解っているのなら、公式サイトのリファレンスを隅から隅まで読むのが、 一番理解できるし、やりたい事をカタチにする方法が見えてくるよ。 >>89 ありがとうございます。 nullになるものもまとめて欲しかったのですが、 inner joinでsick_cdが何れもあるものと、 残りはjoinせずにクエリを投げて取得することで回避できました。 これFuel関係無かったかなーと思いましたが、 left joinが全く意味がなくなってしまいますので問題ですよね。 id mains mainsとkotsusともにidカラムがあるので kotsusにsick_cdが見つからないない場合はidもnullで上書きされてしまいましたので。 うが…書いてる最中に… mains id sick_cd name 1 s0001 あああ 2 s0002 いいい 3 s0003 ううう …以下略 kotsus id sick_cd order 1 s0002 1 2 s0004 2 こんな感じでありまして、 >>88 のleft joinでwhere sick_cd in (s0001〜s0004)とすると、 [[id=>2, sick_cd=>s0002, name=>いいい,order=>1], [id=>4, sick_cd=>s0004, name=>えええ,order=>2], [id=>null, sick_cd=>null, name=>あああ,order=>null], [id=>null, sick_cd=>null, name=>ううう,order=>null]] となります。 inner joinですと下記になります。 [[id=>2, sick_cd=>s0002, name=>いいい,order=>1], [id=>4, sick_cd=>s0004, name=>えええ,order=>2]] で、期待しているのは… [[id=>2, sick_cd=>s0002, name=>いいい,order=>1], [id=>4, sick_cd=>s0004, name=>えええ,order=>2], [id=>1, sick_cd=>s0001, name=>あああ,order=>null], [id=>3, sick_cd=>s0003, name=>ううう,order=>null]] sql1回で期待する値が取れればそうしたいのですが。 >>93 あーそういうことか。質問理解してなかったすまん IFNULL(mains.sick_cd, kotsus.sick_cd) でいけると思うけど、query builderで関数って使えるんだっけ? SQL文は自分で書いて DB::query($query)->execute()->as_array(); するしかないかも >>91 残念ながら、公式サイトのリファレンスを隅から隅まで読む力量が なさそうです。 理解が追いつかないデス。。。 チュートリアルか、Tips形式で少しずつ理解を深めたいです。 10分でわかるFuelPHP の次のステップとなる良い教科書を 知っている方、教えてください。 >>95 去年のadventが無料で配られてる。 https://gihyo.jp/dp/sp/advent2011/G11C13 今年もadventやるらしいから、クリスマスまで覗いてみるといいよ。 >>95 codeigniter使えばいいじゃない 日本語マニュアル完備だよ >>94 >query builderで関数って使えるんだっけ? つDB::expr() 今更ですが・・。 $data['mains'] = DB::select('mains.id', 'mains.sick_cd', 'mains.name', 'kotsus.order') …以下略。 全部欲しい方を記述することで回避できました。 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる