2010-12-06 5 views
4

私はPHPでアプリケーションを開発するタスクを与えられています。
クライアントは、Zend、Symphony e.t.cのようなフレームワークを使用しないと言います。代わりにあなた自身を作る。カスタムビルドされた基本的なPHPフレームワークを探しています

これは愚かなことです。なぜ私たちはこれらのフレームワークを利用できるようになったら、アプリケーションのために自分の構造を作り直すべきなのですか?

しかし、とにかく私は私のプロジェクトで使用できるPHPのカスタムフレームワーク/クラス構造を探しています。

Zendを使用するのと同じように、空のプロジェクトを作成して、プロジェクトで使用できる基本クラス、設定ファイル、およびその他のディレクトリをすべて作成します。

だから私は似たようなものを探しています。最初からすべてを作成するには時間がかかります。 私は完全なプロジェクトを必要としません、私は自分自身でこの作業をしていることを知っています...私は私のプロジェクトで使用できるPHP(カスタムコード)でいくつかの構造体/フレームワークが必要です。

+0

これは便利です:http://sarfraznawaz.wordpress.com/2009/09/08/ezmvc-php-framework/ – Sarfraz

+5

私は本当に理解していません。つまり、あなたが得るフレームワークのヒントは、あなたのクライアントが望んでいない既製のフレームワークになるでしょう。この決定に対するクライアントの根拠は何ですか? –

+0

これは面接のために準備が整っているような仕事のようです。私はここで完全にオフかもしれませんが、それはクライアントが指定するための奇妙な要件のように聞こえる。 –

答えて

6

既存のフレームワークの使用を除外する最も理にかなった理由は、セキュリティです。

特に、あいまいさによるセキュリティ。

このコンセプトの有効性(とにかく両刃の剣です)にかかわらず、クライアントはオープンソースであり、検査が容易なコードは攻撃を見つけるのが簡単だと考えています。また、フレームワークへのアップグレードを続行するつもりがない場合(ほとんどの場合そうでない可能性が高い)、その可能性が最も高いです。

だから私はあなたにコードを与えません。ヒントを教えてください:

まず、URLをどのように構造化するかを選択します。 CodeIgniterで使用されるmod-rewriteパワフルなクエリ文字列対応トリッキーを行いますか?問題を分解すると、実際には非常に簡単です。

それぞれの.phpページに含める小さなライブラリを用意し、完全なラッパーとルータシステムではなく、そのようにアクセスしたいですか?

次に、システムのコア構造を計画したいと思うでしょう。あなたはMVCのために撮影ですか?あるいは、シンフォニーのようにもう少し荒くて準備ができているものはありますか?

これらの選択肢を作成したら、物事を構築する計画を立てることができます。

あなた自身のフレームワークを構築することは、実際にサイトを構築するための悪い方法ではありません。他のどのフレームワークでも、コードを生PHPの速度の約10%まで遅くする、非常に軽いままです。これは単なるHTMLの速度の10%です。

Good Luck!

+3

クライアントは、なぜフレームワークを使用しないのかという2つの理由を教えてくれました。 1.重いです...現在のZendフレームワークのサイズは23MBです! 2.フレームワークを使用することは、後で終了する場合、それを知っている人を見つける必要があります。カスタム開発の場合、何が起こっているのかを知っています。 しかしそれとは正反対ではないのですか?つまり、Zendを使用すると、それを理解して見つけやすい開発者がたくさんいますが、自分のコードを使用すれば誰もそれについて知りません!! – Ali

+0

#1は正当な懸案事項です。特に、限られたサーバー番号/スペックしか提供できない場合は特にそうです。一方、#2は真です。しかし、何かを理解できる本当に良いプログラマーを見つけるよりも、Zendを知っている人を見つける方が簡単です。 – DampeS8N

+3

両方の懸念は偽です。フレームワークのファイルシステム上のサイズは、すべてに無関係です。さて、Zendの場合、フレームワークは重いと主張することができます(Zend_Applicationスタック全体を使用するとオーバーヘッドが大きくなります)が、バットからフレームワークを破棄するのは非常に早すぎる最適化です。 #2 - アリが言うこと。独自のフレームワークをロールすると、newguyは文書化されていない混乱を招きます。成熟したオープンソースのフレームワークを使用している場合、newguyはすでによく慣れ親しんでいるかもしれない、よく書かれた、よく書かれた*コードを集めています。 – timdev

1

あなたはmetodsとクラス最小の量とhttp://fatfree.sourceforge.net/

非常にシンプルなフレームワークを見ることができます。独自のフレームワークでベースとして使用するためのアーキテクチャを見ることができます。

0

Hexは、非常に単純なPHPフレームワーク@robertbasicです。

主なアプリケーションでは軽すぎるかもしれませんが、フレームワークの基本については非常に有益です。

1

クライアントが実際にスピードを心配している場合は、1kb MVC FrameworkまたはTweetMVCを試してみてください。また、ZendやFlourishのクラスを盗むことで、ほとんどのフレームワークでクラスを使用することができます。

個人的には、発売前にアイスクリームトラックにぶつかった場合、他の多くの開発者が終了できるコードを使用する利点を個人的に説明します。

0

これはあなたの幸運です。すべての顧客が私たちにホイールの再発明を払うわけではありません。十分に確立されたフレームワークの中には、いくつかのセキュリティ問題はありませんが、明るい面を見てください。フレームワークを一から書き直した後は、おそらく多くのことを学ぶだろうと確信しています。

このリンクをご覧ください。開始に役立ちます。 http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/

0

https://github.com/mh801/PFU/commits/master

これは私が書かれているフレームワークです。私はウェブ上の他のフレームワークからいくつかのデザインパターンを取りました。それは軽量で、私はそれを使っていくつかのプロジェクトを構築しました。あなたはそれをフォークすることもできますし、望むなら貢献することもできます。インストール後にご質問がありましたら、お気軽にお知らせください。お気軽にお手伝いします。私のメールはgithubの私のプロフィールにあります。

関連する問題