最近thinkphpを勉強し始めたのですが、よくわからない質問が多いので、それを見た人が答えられるようにしたいと思います。ことわざにあるように、老いるまで生きて、老いるまで学びましょう。それを笑わないでください。
私のアプローチは非常にシンプルで、マニュアルは thinkphp を開発した作者の努力の結果ですが、運が良ければ理解できない部分もいくつかあります。同じような悩みがありましたら、ご回答いただければ幸いです。
1.フレームワークディレクトリ
第 1.6 章のディレクトリ構造の内容は次のとおりです。
新しいバージョンのディレクトリ構造は、わかりやすくするためにオリジナルに基づいて調整されています。
ディレクトリ/ファイル 説明
ThinkPHP.php フレームワークエントリーファイル
共通 フレームワークのパブリック ファイル ディレクトリ
会議 フレームワーク構成ファイルのディレクトリ
ラング フレームワークシステム言語ディレクトリ
リブ システムコア基本クラスライブラリディレクトリ
TPL システムテンプレートディレクトリ
延長 フレームワーク拡張ディレクトリ (拡張ディレクトリの詳細については、後述の拡張機能の章を参照してください)
注: コア バージョンをダウンロードすると、ThinkPHP 自体は拡張機能に依存しないため、Extend ディレクトリが空になる可能性があります。
ホーム ディレクトリの下にある ThinkPHP ディレクトリを開くと、主な内容は上記の通りであり、スクリーンショットは図 1 に示すとおりです。
写真 1
システム コアの基本クラス ライブラリが Lib と呼ばれなくなっていることがわかります。これは冒頭で Extend ディレクトリについて言及されており、このディレクトリがフレームワーク拡張ディレクトリであることも明確に示しています。コアバージョンでは空ですが、この Extend ディレクトリは ThinkPHP3.2.2 コアバージョンと ThinkPHP3.2.2 フルバージョンの両方で見つかりません。スクリーンショットは次のとおりです:
図 2. フルバージョンのディレクトリ
図 3. コア バージョンのディレクトリ
ディレクトリ全体を開くと、次の内容が表示されます (4 の場合)
図 4. 完全な目次
ここでは、他のファイル ディレクトリが表示されます。幸いなことに、作成者は、このディレクトリが何を行うかを示すために、フレームワーク ディレクトリ ThinkPHP 以外の他のディレクトリに README.md ファイルを配置しました。
1.アプリケーション: プロジェクト ディレクトリ
2.パブリック: リソース ファイル ディレクトリ。CSS、JS、画像が含まれている必要があります
3.ThinkPHP: フレームワーク ディレクトリ。ここにコア クラスが配置されます
4..htaccess: 分散設定ファイル。このファイルを初めて見たとき、このファイルの機能についてはここでは詳しく説明しません。
5.index.phh: エントリーファイル6.README.md: この Readme ファイル
2. 命名規則
1. クラス名が .class.php で終わり、キャメルケースを使用して名前が付けられているのは、私にとっては非常に珍しいことです。これは、作者がこのフレームワークを書く前にしばらく Java を書いていて、いくつかのことを理解しているからかもしれません。私は長い間 .net を書いてきたので、とても珍しいです。笑、私は単語をアンダースコアで区切って名前を付ける方法が嫌いです。人々はアンダースコアで区切られた配列を読まなければならないと感じています。面倒ではありません。配列を読むよりも単語を読む方が簡単ですが、この下線の名前付け方法は PHP の発明者の習慣であり、受け入れるしかありません。
2. 大文字と小文字、PHP のカスタム変数は大文字と小文字を区別しますが、大文字と小文字を切り替えることを避けるために、区別することをお勧めします。できるだけ小文字で使いましょう 、学校で英語の読解をやっていたとき、大文字の単語が出てくるのが面倒だと感じたことはありませんか?
3. クラス名とファイル名を一致させる これも、ファイル名を見ればクラス名がわかるようにするためです。
4. 関数の名前は、get_client_ip のように小文字と下線を使用します。なぜ、キャメル ケースやパスカルの名前付け方法がないのでしょうか?
5. 定数、言語パラメータ、および設定パラメータはすべて大文字であり、下線も付いています。これも慣れていないため読みにくいです。