ホームページ >バックエンド開発 >PHPチュートリアル >あなたは寒い夜の光です!
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: 外部フレームワーク、slow
4.symfony: 外部フレームワーク
5. CI: (code Igniter)、軽い Magnitude フレームワーク、実行速度が速い
6. ThinkPHP フレームワーク、無料、オープンソース、高速、シンプルなオブジェクト指向 (内部のコードはオブジェクト指向とプロセス指向の両方)、以前は FCS として知られていましたが、2016 年 1 月に ThinkPHP に名前が変更されました。 2007 年元旦
1.6 ThinkPHP ファイル構造
公式 Web サイト http://www.thinkphp.cn/ から TP フレームワークをダウンロードし、ダウンロードが完了したら、最初のディレクトリにある ThinkPHP がフレームワークのコア コードです。 Framework フォルダーに似ています
Conf: 構成フォルダー、この TP フレームワーク上に構築されたすべてのプロジェクトで使用します
ライブラリ: クラス ライブラリ
ThinkPHP 1.7.1 のライブラリ フォルダー
動作: フレームワーク ランタイム補助クラス
Think: ThinkPHP コア コード
ベンダー: 第 5 章 いくつかのサードパーティ製プラグイン
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/ThinkPHP.php' が必要です。 // 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 では大文字と小文字が区別されます
Controllers 名前空間を作成し、基本的なコントローラーを導入するときに注意してください。
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 を非表示にすることができます本当の道。
擬似静的技術は書き換えモードです。
必須設定項目:
'URL_ROUTER_ON' => true, //ルーティングを有効にする
'URL_ROUTE_RULES' => array(
'test' => 'home/Goods/test',
), // ルーティングルール
リダイレクト転送パラメータ
1.11 定義。テンプレートの呼び出し
1.11.1 ルール
テンプレートを呼び出す TP フレームワークは非常にシンプルかつ強力です。独自のルールがあります
1. テンプレートはビューディレクトリに配置されます
2. コントローラーはフォルダーに対応し、メソッドはページに対応します
1.11.2 テンプレートの呼び出し
$this->display();
1.11 .3 コントローラー内の変数に値を代入する
$this->assign('name','tom') //一つ目の方法
$this->sex='male'; //二つ目の方法
1.11.4 テンプレートの値を取得する
{$name}
1.12 プロジェクトのグループ化
プロジェクトは、フロントエンドとバックエンドの少なくとも 2 つのグループに分割され、各グループには独自の MVC があります。 TP フレームワークがプロジェクト構造を自動生成する際、フロントエンド グループも自動的に生成されます。
Homeと同じディレクトリに新しいAdminフォルダー(バックエンドフォルダー)を作成し、そのフォルダー内に独自の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 //ページ下部にログ情報を表示
After小さな緑色のアイコンが右下隅に表示されます
1.15 TP 本番および開発モード
define('APP_DEBUG', TRUE) //開発モード
define('APP_DEBUG', false); //本番モード
1.15.1 開発モード
( common~runtime.php) により、当初は多くのファイルをロードする必要があったリクエストは、現在は 1 つのファイルをロードするだけで済みます。開閉のオーバーヘッドを大幅に節約します。
以上、寒い夜の明かりとしてご紹介しました! 、関連コンテンツも含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。