検索
ホームページバックエンド開発PHPチュートリアルthinkphp 学習メモ 1—ディレクトリ構造と命名規則_PHP チュートリアル

最近thinkphpを勉強し始めたのですが、よくわからない質問が多いので、それを見た人が答えられるようにしたいと思います。ことわざにあるように、老いるまで生きて、老いるまで学びましょう。それを笑わないでください。

私のアプローチは非常にシンプルで、マニュアルは thinkphp を開発した作者の努力の結果ですが、幸運にも同様の問題に遭遇した場合には理解できない部分もいくつかあります。 , ご返信いただければ幸いです。
1.フレームワークディレクトリ
第 1.6 章のディレクトリ構造の内容は次のとおりです:
新しいバージョンのディレクトリ構造は、オリジナルに基づいて、より明確になるように調整されています。
ディレクトリ/ファイル 説明
ThinkPHP.php フレームワークエントリーファイル
共通 フレームワークの公開ファイルディレクトリ
Conf フレームワーク設定ファイルディレクトリ
Lang フレームワークシステム言語ディレクトリ
Lib システムコア基本クラスライブラリディレクトリ
Tpl システムテンプレートディレクトリ
Extend フレームワーク拡張ディレクトリ (拡張ディレクトリの詳細については、後述の拡張機能の章を参照してください)
注: コア バージョンをダウンロードすると、ThinkPHP 自体は拡張機能に依存しないため、Extend ディレクトリが空になる可能性があります。
ホーム ディレクトリの下にある ThinkPHP ディレクトリを開くと、主な内容は上記の通りであり、スクリーンショットは図 1 に示すとおりです。
写真1
システム コアの基本クラス ライブラリが Lib と呼ばれなくなっていることがわかります。ここでは、Extend ディレクトリが冒頭で言及されており、このディレクトリが空であることも明確に示しています。コアバージョンではありますが、ThinkPHP3 にいます。この Extend ディレクトリは、.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 を書いていて、ここで Java についての知識を得たからでしょう。私は長い間 .net を書いているので、とても興味があります。笑、私は単語をアンダースコアで区切って名前を付ける方法が嫌いです。アンダースコアで区切られた配列を読むのは面倒ではないと感じます。直接読むには数文字しか必要ありません。配列を読み取るよりも簡単ですが、この下線の名前付け方法は PHP の発明者の習慣なので、受け入れるしかありません。
2. 大文字と小文字、PHP のカスタム変数は大文字と小文字を区別しますが、大文字と小文字を区別しないように、小文字を使用することをお勧めします。できるだけ学校に行ってください 英語の読解をしているときに、大文字の単語が出てくるのが煩わしいと思いませんか?
3. クラス名とファイル名を一致させる これも、ファイル名を見ればクラス名がわかるようにするためです。
4. 関数の名前は、get_client_ip のように小文字と下線を使用しています。なぜ、キャメル ケースやパスカルの名前付け方法がないのでしょうか?
5. 定数、言語パラメータ、設定パラメータはすべて大文字で下線が引かれていますが、これも慣れていなくて読みにくいです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/813066.html技術記事最近thinkphpを勉強し始めたのですが、よくわからない質問が多いので、それを見た人が答えられるようにしたいと思います。お互いに交流しましょう...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPアプリケーションをより速くする方法PHPアプリケーションをより速くする方法May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPでの依存関係:簡単な説明PHPでの依存関係:簡単な説明May 10, 2025 am 12:08 AM

依存関係に関与(DI)inphpenhancesScodeFlexyandtateabilitybydecouplingessessessessessesses.1)useconstructorinjectiontopassopassopassdepenciesviaConstructors.2)

PHP DIコンテナ比較:どちらを選択できますか?PHP DIコンテナ比較:どちらを選択できますか?May 10, 2025 am 12:07 AM

Pimpleは簡単なプロジェクトに推奨されます。Symfonyの依存関係は、複雑なプロジェクトに推奨されます。 1)Pimpleは、そのシンプルさと柔軟性のため、小さなプロジェクトに適しています。 2)Symfonyの依存関係は、その強力な能力のため、大規模なプロジェクトに適しています。選択するときは、プロジェクトのサイズ、パフォーマンス要件、学習曲線を考慮する必要があります。

PHP依存性注入:何、なぜ、どのように?PHP依存性注入:何、なぜ、どのように?May 10, 2025 am 12:06 AM

依存症(di)inphpisadesignpatternwhereclassdependenciesiesedededed -aittrathertratedinternally、concodemodularityandtestability

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境