数日前に 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より抜粋

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









