3

この質問は、私が小規模なウェブサイトに適した、シンプルで高速かつ安全なフレームワークを探すのに遭遇したF3(Php Fat Freeフレームワーク)および/またはブログ。私にとって重要なことは、フレームワークに何らかのACLがあり、シンプルさがあるということでした。あなたが良い選択肢を知っていれば、私はすべての耳です。その間に、経験を積んだ人のためのF3についての質問:F3(無脂肪PHPフレームワーク)、MVC/OOP構造を追加する

F3でまともなOOP MVC構造を持つことは可能ですか? F3::route('GET /',':indexController|home');のようなルートは動作しないので、どのように適切なMVC構造を実装しますか?私は静的にホームメソッドを設定し、次にF3::route('GET /','indexController::home');を行うことができますが、これは不要な複雑さと過度のように思えますし、それぞれのコントローラごとにレイアウトを個別に設定する必要のある構築メソッドを無視します。私がindex.phpファイルに入れたいのは、さまざまなコントローラとアクションへのルートだけです。残りのロジックは、これらのコントローラで処理されます。これにアプローチする最善の方法は何ですか?

感謝

編集:私はまた、Yiiの上でいくつかの意見を聞きたい、私はそれはあなたがMVCをしたい場合は、なぜF3を使用PHPFrameworks.com

+1

F3は** Fat Freeよりも**食欲不振**、私はSlim CodeIgniterを提案します – RobertPitt

+0

ありがとう、私はそれをチェックアウトします。私は基本的に、良い、簡単で軽量のPHP 5.3 MVCフレームワークを探しています。私はZendをエンタープライズレベルのものに使用します。 – Swader

+0

lightvc..its非常にlightwieigtを試みてください..しかし、私はそれがdosent aclモジュールを持っていることを恐れている – slier

答えて

3

はあなたのコンストラクタを呼び出し、同様に自宅()メソッドを実行するために起こってf3::route('GET /',array(new IndexController,'home'));

を試してみてください。 f3は「適切な」MVCアプローチを推進しません。代わりに、あなたは "フリーハンド" MVCのアプローチを持っています。

+0

それはうまくいった。しかし、それは遅いです。テスト目的のために、私はエコーを__constructに配置し、別のエコーをホーム関数に配置しました。構造エコーは瞬時に表示されますが、2番目のエコーが表示される秒数が大幅になります。私は単純なプロジェクトに使用できる残酷な単純なDB + ACL MVCを作っていきたいと考えています。私が見てきたことは、膨大で非実用的なものに見えます。実践的な学習教材。ありがとう! – Swader

+1

2.xバージョンでは、このフォーマットが可能です: 'f3 :: route( 'GET /'、 'IndexController-> home');' – stillstanding

0

にかなり上位にランクご覧ください。 CodeIgniterやKohanaを使うのがいいです(もしPHP 5があれば)。これらはかなり軽量で、MVC構造用に構築されています。

+0

私はそれらをチェックします、歓声。私はそれらについて両方を読んだことがありますが、私が見つけることができた最新のプロフェッショナルグレード比較ポストは2008年頃からでした。 – Swader

0

ベーカリーへの旅行のような音は傷つかないでしょう。 CakePHPは優れたACLコアを持ち、あなたがIMHOにしたいと思うように軽量にすることができます。

+1

私はcakePHPについて読んだことがありますが、Zendよりも遅いという主張は、私が見つけた分析記事全体では一貫しています。シンプルさと良いACLの後、スピードが私の優先事項です - 私は他の何ものも気にしません。 – Swader

6

F3は、MVCアーキテクチャで構築されていません。基本的にフロントコントローラです。それが全体のポイントです。特定のツールセットを使用するのではなく、必要なものを実装することができます。たとえば、F3のAxonとTemplateプラグインが気に入らない場合は、Red Bean ORMを使用してモデルを管理し、Smartyを使用してビューを構築することができます。 F3は、そのコアで、あなたのコントローラにURLをルーティングして、あなたの道にとどまりません。

0

また、(routes.ini)本実施例の構造といくつかの分離した設定ファイルへのあなたのルートの定義を移動することができます。

[routes] 
GET|POST/= IndexController->indexAction 
GET|POST @Index: /@lang = IndexController->langAction 

とF3の設定にそれを含める:

\F3::config('routes.ini'); 

次のディレクトリを追加しますコントローラとモデルをAUTOLOADERに追加しました。 ビューとしては、たとえばPHPTalなどを使用できます。 これでF3よりもMVCの準備が整いました。

関連する問題