ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP の Example_PHP チュートリアルを読んだ感想
数日前に ThinkPHP コードをダウンロードしましたが、CodeIgniter (CI) ほど良い印象はありませんでした。最新の RC バージョンをダウンロードしたためかもしれません。このサンプルは完全ではないので、データベース操作のコードの方が気になるので、いくつかの 404 プロンプトを開きました。さらに、ブログのサンプルを実行してみたところ、機能が非常に充実していることがわかりました。しかし、コードを見て 10 分以上費やした後、怖くなってきました。あまり好きではない理由は以下の通りです
1. フレームワークを使用した後でもコードが非常に大きくなり、このような小さなブログでも大量のコードを入力する必要があり、開発時間が短くなりません。
2. コントローラーに HTML、CSS、スクリプトを記述すると、コントローラーが肥大化し、コードが少しわかりにくくなります。 View に書き込んでみてはいかがでしょうか?
リーリー3. Java、www.2cto.com Microsoft.Net、および PHP の 3 つのコーディング スタイルの混合使用 (正確には、関数、ファイル、または変数の命名スタイルを Java と Microsoft.Net から借用しましたが、PHP は使用しません) 。ただし、使用中は比較的安定しており、問題が発生する可能性はそれほど大きくありませんが、私はあまり慣れていません。
4. コントローラー コードにビジネス ロジックとデータベース操作を記述します。モデル内のコードは基本的に非常に短いことがわかり、基本的にブログのすべての機能がコントローラー内に記述されているようです。これはファット コントローラーの記述方法に似ていますが、(MVC についての私の理解によると) データベース操作をモデルに記述する方が良いはずです。ファット モデルにはファット コントローラーに比べて多くの利点があり、コードの再利用が容易になります。
5. コードを見ていたら、コメントを見つけました。
リーリー私はデータベース操作のほうに興味があるので、以前に ThinkPHP のドキュメントをいくつか読んだことがあります。このコードを書いた友人の皆さん、TP reads で選択したものはレコードセットであり、find で取得したものはもちろん、このように割り当てた場合はレコードを読み取ることはできません。これを読み出すには、$result を $result[0] に変更する必要があります。このように、TP Example の作成者はユーザーに対して無責任すぎると感じます。しかし、それは大きな問題ではなく、単なる RC バージョンです。
6. SQL リクエストに文字列が混在しており、理解できないものもありました。 ! !さらに深く掘り下げるには時間がかかるかもしれません。このタイプの SQL を過度に使用すると、セキュリティ リスク (SQL インジェクションなど) が発生する可能性があります。
リーリー7. コーディングスタイルはプログラマのレベルを反映する可能性がありますが、CI の例と比較すると、まだ一定のギャップがあります。コメントはもっとカジュアルに書かれています。私は時々コードを書くのですが、コメントはかなりランダムです。場合によっては、他の人を尊重するために、コードを書くのと同じ忍耐力でコメントを書く必要があります。
8. コードとは関係ありません。私のラップトップでは、付属のユーザー ドキュメントはあまり使いやすくありません。単純な PHP コードでは 2 ページしか表示されず、フォントが非常に大きいことがわかりました。一部のコードでは構文の強調表示に画像が使用されていますが、一眼レフを使いすぎているのかもしれません。画像の品質が低すぎます。実際、HTML を作成すると、ユーザーが使用したり検索したりするのに便利ですが、PDF を作成するのは少し面倒です。
上記の意見は、ThinkPHP 3.0 RC1 の例のみを対象としています。コアコードを見ていないのでコメントできません。一方で、国産 MVC フレームワークの強さを否定するつもりはありませんが、TP の開発者はもう少し細かい部分を工夫して、TP のマニュアルやサンプルの品質向上にもっと力を入れるべきだと思います!
Xiaoxiaより抜粋