検索

ThinkPHP Framework 1

1.1 フレームワークの概念

フレームワークのコードは、実際には、フレームワーク アーキテクチャのコードであり、ビジネス ロジック コードではありません。フレームワーク コードはクラス、メソッド、関数を保護します。フレームワーク コードは特定のルールに従って結合されてフレームワークを形成します。

1.2 フレームワークを使わずに開発する場合の問題点

1. コードを書くための統一仕様がない

2. プロジェクトの機能をうまく分割できない

3. 局所的な小さな変更が全体の状況に影響を与える可能性がある

4. プロジェクトのアップグレードが面倒

1.3 フレームワークを使用するメリット

1. チームの統一につながる コードスタイル

2. ビジネス ロジックにすべてのエネルギーを集中し、基礎となるフレームワークを気にする必要はありません

3. プログラムを迅速、安定かつ効率的に構築します

4. 大幅な節約コードの

5. 後のメンテナンスとアップグレードが非常に便利

1.5 関連フレームワーク

1. zendframework: zend 公式リリース (zend 社は PHP のメンテナンスとアップグレードを行う会社です)言語)、関数 非常に強力な、重量級フレームワークです

2. Yii: 中国人によって開発された重量級フレームワーク このフレームワークは、コードの再利用性を最大限に高めます

3.cakePHP: 外国のフレームワーク、遅い

4.symfony: 外部フレームワーク

5.CI: (コード Igniter)、軽量フレームワーク、高速実行速度

6. ThinkPHP フレームワーク、無料、オープンソース、高速でシンプルなオブジェクト指向 (内部のコードはオブジェクト指向とプロセス指向の両方)、以前は FCS として知られていましたが、2007 年元旦に ThinkPHP に名前が変更されました

1.6 ThinkPHP ファイル構造

公式 Web サイト http://www.thinkphp.cn/ から TP フレームワークをダウンロードし、ダウンロードが完了したら解凍します。最初のディレクトリにある ThinkPHP は、フレームワーク フォルダー
と同様、フレームワークのコア コードです。
Conf: 構成フォルダー。この TP フレームワークで構築されたすべてのプロジェクトで使用されます。

ライブラリ: クラス ライブラリ

1.7.1 ThinkPHP 下のライブラリ フォルダー

動作: フレームワーク ランタイム補助クラス

Think: ThinkPHP コア コード

ベンダー: 一部のサードパーティ プラグイン

1.7.2 ThinkPHPLibrary 下の Think フォルダー

いくつかのファイル注:

Controller.class.php: 基本コントローラー

Model.class.php: 基本モデル

Think.class .php: 各リクエストはファイル
View.class.php: 基本ビュー

1.8 フレームワークの構造

サイト(エントリーファイル)の下に新しいindex.phpを作成し、index.phpに次のように入力します。

define('APP_PATH','./application/'); ///

で終わる必要があるプロジェクト フォルダーを定義します。 //ThinkPHP.php ファイルが含まれます

注: TP フレームワークでは複数のエントリー ファイルをサポートできます (つまり、複数のプロジェクトがサポートされます)

1.8.1 define(' APP_PATH','./application/')

ページを初めて実行するときに、アプリケーション フォルダーが存在しない場合は、自動的に作成されます。 ThinkPHP.php ファイルが実行されると、初めて ThinkPHP フレームワーク構造が自動的に構築されます。

1.9 コントローラの作成

コントローラは以下の仕様のクラスファイルです。

1. モジュール(プラットフォーム)フォルダ配下のControllerフォルダ
に格納されます。
2. クラス名: コントローラー、Pascal 命名法を使用

3. クラス名とファイル名は同じ名前です

4. ファイル名は .class.php
5. ThinkPHP はデフォルトで UTF-8 エンコーディングを使用します

6. 大文字と小文字を区別するようにしてください Windows では問題ありませんが、Linux では大文字と小文字が区別されます

コントローラーの作成時と基本コントローラーの導入時には名前空間に注意してください。

1.10 ThinkPHP の 4 つのルート

メソッドを正確に見つけるには、platform.controller.method の 3 つのパラメーターが必要です。

a) 通常モード:

構文: http://url/index.php/m=module&c=controller&a=method

b) pathinofo() モード:

構文: http://url/index.php/module/controller/method

c) 互換モード:

構文: http://url /index.php ?s=/module/controller/method

d) rewrite 書き換えモード:

URL カスタマイズ機能は、ルート パスを書き換えることで URL をシンプルにし、真実を隠すことができます。

擬似静的技術は書き換えモードです。

必須の設定項目:

'URL_ROUTER_ON' => true, //ルーティングを有効にする

'URL_ROUTE_RULES' => array(

'test' => 'home/Goods/test',

), //ルーティング ルール

パラメータを渡すリダイレクト

1.11 定義を呼び出します。 .1 ルール

テンプレートを呼び出す TP フレームワークは非常にシンプルかつ強力です。独自のルールがいくつかあります

1. テンプレートはビュー ディレクトリに配置されます

2. コントローラーはフォルダーに対応し、メソッドはページに対応します

1.11.2 テンプレートを呼び出す

$this->display();

1.11.3 コントローラ内の変数に値を代入する

$this->assign (' name','tom') //最初のメソッド

$this->sex='male' //2番目のメソッド

1.11.4 の値を取得します。 template

{$name}

1.12 プロジェクトのグループ化

プロジェクトは、フロントエンドとバックエンドの少なくとも 2 つのグループに分割され、各グループは独自の MVC を持ちます。 TP フレームワークがプロジェクト構造を自動生成する際、フロントエンド グループも自動的に生成されます。

ホームと同じディレクトリに新しい管理フォルダー (バックエンド フォルダー) を作成し、そのフォルダーに独自の MVC を作成します。

1.13 システム定数

__SELF__ : 現在要求されているアドレス

__MODEL__: 現在のモジュール

__CONTROLLER__: 現在のコントローラー

__ACTION__: 現在のメソッド

get_define_constants(true) はすべての定数を表示します。 true はグループ表示を示します。

質問: __CONTROLLER__ 定数は PHP 定数です。この定数をテンプレートに直接記述すると、PHP 定数を HTML テンプレートに出力できるのはなぜですか? PHPで定数NAMEを定義しましたが、テンプレートにNAMEの値を出力するにはどうすればよいですか?

ContentReplaceBehavior.class.php ファイルの templateContentReplace() メソッドに文字列置換を追加します

1.14 ページの下部にログ情報を表示します

'SHOW_PAGE_TRACE' = > true //ページの下部にログ情報を表示します

設定後、ページの右下隅に小さな緑色のアイコンが表示されます

1.15 TP 本番および開発モード

define('APP_DEBUG ', TRUE); //開発モード

define('APP_DEBUG', false); //本番モード

1.15.1 開発モード

1. エラープロンプトの比較 フレンドリー

2. コード変更はすぐに効果が現れます

3. 実行効率が低い

1.16.2 生成モード

1. エラー メッセージは比較的あいまいです

2. 多くのコア コード ファイルがキャッシュ ファイル (common~runtime.php) に作成されるため、当初は多くのファイルをロードする必要があったリクエストは、 1つのファイルをロードします。開閉のオーバーヘッドを大幅に節約します。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

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 プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境