目次
Yiiをインストール
新しいアプリを作成する
ホームページ バックエンド開発 PHPチュートリアル Yii の学習 (1) -- インストールと設定

Yii の学習 (1) -- インストールと設定

Jul 25, 2016 am 09:12 AM

以前SinaブログでYiiに関する記事を書いていましたが、ブログパークに来てから全くYiiに関する記事を書いていませんでしたので、たまたま端午節の休暇中にやることがなかったので、以前のブログを統合しました。 、Yiiの公式ドキュメント、そして最近のYiiから得たものをまとめてシリーズにしましょう~~

Yii は、大規模な Web アプリケーションを開発するための高性能コンポーネントベースの PHP フレームワークです。 Yii は厳密な OOP で書かれており、完全なライブラリ リファレンスと包括的なチュートリアルが含まれています。 MVC、DAO/ActiveRecord、ウィジェット、キャッシュ、階層型 RBAC、Web サービスからテーマ、I18N および L10N まで、Yii は今日の Web 2.0 アプリケーション開発に必要なほぼすべてを提供します。実際、Yii は最も効率的な PHP フレームワークの 1 つです。 Yii は、高性能 PHP5 Web アプリケーション開発フレームワークです。シンプルなコマンド ライン ツール yiic を使用すると、Web アプリケーション コード フレームワークを迅速に作成でき、開発者は生成されたコード フレームワークに基づいてビジネス ロジックを追加して、アプリケーション開発を迅速に完了できます。

Yiiをインストール

Yii をインストールする前に、PHP5.1.0 以降をサポートする Web サーバーなどの開発環境を設定する必要があります。 Yii は、Windows および Linux オペレーティング システム上の Apache Web サーバーでテストされています。他のプラットフォーム上で PHP5 をサポートする Web サーバーでも実行できる場合があります。インターネット上には多くの無料リソースが公開されており、PHP5 で構成された Web サーバー環境を入手できる場合があります。ここでは、Web サーバーと PHP5 のインストールについては脇に置きます。 Yii のインストールは実際には非常に簡単です。必要な手順は次の 2 つだけです。
  • http://www.yiiframework.com/ から Yii Framework をダウンロードします。 ダウンロードしたファイルを Web サーバーにアクセスできるディレクトリに解凍します。
  • インストールが完了したら、現在のサーバーが Yii の要件をすべて満たしているかどうかを確認することをお勧めします。
幸いなことに、これを行うのは簡単で、Yii には簡単な検査ツールが付属しています。これを呼び出すには、ブラウザのアドレス バーに http://yourhostname/path/to/yii/requirements/index.php と入力します。サーバーの設定が下に表示されます。チェック ツールを使用して、サーバーに拡張機能やコンポーネントがインストールおよび使用されていないことを確認しますが、インストールされているかどうかを確認するための提案が提供されるだけです。ご覧のとおり、次のチェック結果のすべてが合格ステータスであるわけではなく、一部には警告が表示される場合もあります。もちろん、構成が若干異なる場合があるため、表示結果も異なります。実際、以下の詳細をすべて渡す必要はありません。しかし、結論の段落の内容によれば、その一部も必要です。あなたのサーバー設定は Yii の最小要件を満たしています。 (サーバー構成は Yii の最小要件を満たしています。)

新しいアプリを作成する

  • Yiiのインストール場所はすでにご存知です
  • WebRoot は Web サーバー設定のルート ディレクトリです
  • コマンドラインからフレームワークディレクトリに移動し、以下を実行します:
  1. % cd Webroot/testdrive/framework
  2. % yiic webapp ../../testdrive
  3. '/WebRoot/testdrive' に Web アプリケーションを作成しますか? [はい|いいえ]
  4. はい
  5. mkdir /WebRoot/testdrive
  6. mkdir /WebRoot/testdrive/assets
  7. mkdir /WebRoot/testdrive/css
  8. css/bg.gif を生成
  9. css/form.css を生成
  10. css/main.css を生成
コードをコピー

アプリケーションは /WebRoot/demo に正常に作成されました。この webapp コマンドの目的は、まったく新しい Yii アプリケーションを作成することです。パラメータを絶対パスまたは相対パスで指定するだけで、アプリケーションが作成されます。生成されるディレクトリとファイルは、アプリケーションの単なるスケルトンです。

  1. testdrive/
  2. index.php Webアプリケーションエントリスクリプトファイル
  3. index-test.php機能テストに使用されるエントリスクリプトファイル
  4. assets/にはパブリックリソースファイルが含まれます
  5. css/にはCSSファイルが含まれます
  6. images/には画像ファイルが含まれます
  7. /が含まれますアプリケーションテーマ
  8. protected/ 保護されたアプリケーションファイルが含まれます
  9. yiic yiic コマンドラインスクリプト
  10. yiic.bat Windows での yiic コマンドラインスクリプト
  11. yiic.php yiic コマンドライン PHP スクリプト
  12. Commands/ カスタム 'yiic' コマンドが含まれます
  13. Shell/ カスタム 'yiic が含まれますシェルコマンド
  14. コンポーネント/ 再利用可能なユーザーコンポーネントが含まれます
  15. Controller.php はすべてのコントローラークラスの基本クラスです
  16. Identity.php は認証に使用される「Identity」クラスです
  17. config/ 設定ファイルが含まれます
  18. console.php コンソールアプリケーションの設定
  19. main .php Web アプリケーションの構成
  20. test.php 機能テストに使用される構成
  21. controllers/ コントローラーのクラス ファイルが含まれます
  22. SiteController.php デフォルトのコントローラーのクラス ファイル
  23. data/ サンプル データベースが含まれます
  24. schema.mysql.sql MySQL の例データベース
  25. schema.sqlite.sql SQLite データベースの例
  26. testdrive.db SQLite データベース ファイルの例
  27. extensions/ サードパーティの拡張機能が含まれます
  28. messages/ 翻訳されたメッセージが含まれます
  29. models/ モデルのクラス ファイルが含まれます
  30. LoginForm .php 'login' アクション フォーム モデル
  31. ContactForm.php 「連絡先」アクション フォーム モデル
  32. runtime/ 一時的に生成されたファイルが含まれます
  33. testing/ テスト スクリプトが含まれます
  34. views/ コントローラー ビューとレイアウト ファイルが含まれます
  35. layouts/ レイアウトが含まれます ビュー ファイル
  36. main.php すべてのビューのデフォルト レイアウト
  37. column1.php 単一列のページに使用されるレイアウト
  38. column2.php 二重列を使用するページに使用されるレイアウト
  39. site/ 「サイト」コントローラーを含むビュー ファイル
  40. Pages/ には「静的」ページが含まれます
  41. about.php 「about」 " ページビュー
  42. contact.php 'contact' アクションビュー
  43. error.php 'error' アクションビュー (外部エラーを表示)
  44. Index.php 'index' アクションビュー
  45. login .php 'login' アクションビュー
  46. system/ システムビューを含むファイル
コードをコピー

現時点では、コードを 1 行も記述することなく、ブラウザで次の URL にアクセスして、最初の Yii アプリケーションを確認できます。

    http://hostname/testdrive/index.php
コードをコピー

これから説明するように、このアプリケーションにはホームページ、連絡先ページ、ログイン ページの 3 つのページが含まれています。ホームページには、アプリケーションとユーザーのログイン ステータスに関する情報が表示され、問い合わせページには、ユーザーが問い合わせを記入して送信するための問い合わせフォームが表示されます。また、ログイン ページでは、ユーザーは最初に認証を行ってから、承認されたコンテンツにアクセスできます。

設定

このアプリケーションでは、どのページの URL にアクセスしても、index.php が含まれています。これを削除したい場合はどうすればよいですか?

1. Apache の mod_rewrite モジュールを開き、LoadModule rewrite_module modules/mod_rewrite.so の前にある「#」記号を削除し、

に「AllowOverride All」があることを確認します。 2. プロジェクトの /protected/config/main.php にコードを追加します。
    'components'=>array(
  1. ...
  2. 'urlManager'=>array(
  3. 'urlFormat'=>'path',
  4. 'showScriptName'=>false,// false であることに注意してくださいは許可されていません 引用符で囲んでください
  5. 'rules'=>array(
  6. 'sites'=>'site/index',
  7. ),
  8. ),
  9. ...
  10. ),
コードをコピーします

3. サーバーを設定します。Yii は Apache と Nginx で設定できます

1)アパッチ

Apache サーバーの下で、Yii は .htaccess ファイルを設定する必要があります。構成は以下の通りです

  1. RewriteEngine on
  2. # httpd がドットファイル (.htaccess、.svn、.git など) を提供しないようにします
  3. RedirectMatch 403 /..*$
  4. # ディレクトリまたはファイルが存在する場合は、それを直接使用します
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. # それ以外の場合は、index.php
  8. RewriteRule に転送します。コードをコピーします
2) Nginx
Yii は Nginx と PHP の FPM SAPI を使用できます。構成は以下の通りです


server {
set $host_path "/www/mysite";
    access_log /www/mysite/log/access.log main;
  1. server_name mysite;
  2. root $host_path/htdocs;
  3. set $yii_bootstrap "index. php";
  4. charset utf-8;
  5. location / {
  6. Index Index.html $yii_bootstrap;
  7. try_files $uri $uri/ /$yii_bootstrap?$args;
  8. }
  9. location ~ ^/(protected|framework|テーマ/w+/ビュー) {
  10. すべて拒否;
  11. }
  12. #yii
  13. location ~ による存在しない静的ファイルへの呼び出しの処理を回避します。(js|css|png|jpg|gif|swf|ico|pdf|mov|fla |zip|rar)$ {
  14. try_files $uri =404;
  15. }
  16. # 127.0.0.1:9000 をリッスンする FastCGI サーバーに PHP スクリプトを渡します
  17. #
  18. location ~ .php {
  19. fastcgi_split_path_info ^(.+.php) (.*)$;
  20. #yii に存在しない PHP ファイルへの呼び出しをキャッチさせます
  21. set $fsn /$yii_bootstrap;
  22. if (-f $document_root$fastcgi_script_name){
  23. set $fsn $fastcgi_script_name;
  24. }
  25. fastcgi_pass 127.0 .0.1:9000;
  26. include fastcgi_params;
  27. fastcgi_param SCRIPT_FILENAME $document_root$fsn;
  28. #PATH_INFO と PATH_TRANSLATED は省略できますが、RFC 3875 では CGI に対して指定されています
  29. fastcgi_param PATH_INFO $fastcgi_path_info;
  30. fastc gi _param PATH_TRANSLATED $document_root$fsn;
  31. }
  32. # nginx がドットファイル (.htaccess、.svn、.git など) を提供しないようにします
  33. location ~ /. {
  34. すべて拒否;
  35. access_log off;
  36. log_not_found off;
  37. }
  38. }
  39. コードをコピーします
上記の設定を使用すると、php.ini で cgi.fix_pathinfo=0 を設定でき、これにより多くの不要なシステム stat() 呼び出しを回避できます。

基本的なインストールと設定はここで終了です~~

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します

See all articles