いくつかの時間前に初めてYii2枠組み、ここに記録されたいくつかの問題を、遭遇しました。
Yii2インストール:作曲家によってインストール
1、私たちが最初に作曲をインストールする必要があり、私は、Windowsの作曲家の下にインストールする方法については、別のブログ記事でカバー。
2、グローバル設定Composerは中国の鏡を使用しています。
作曲の設定-g repo.packagist作曲https://packagist.phpcomposer.com
(ここでは、デフォルトでは、最新バージョンをインストールするyii2作曲・アセット・プラグインのインストールの問題の背後にインストールされていない場合)3、作曲・資産プラグインがインストールさ
グローバル作曲「FXP /作曲・アセット・プラグイン」を必要と
(1)インストールベースバージョン4は、自身のプロジェクト名をPROJECTNAME。
作曲作成プロジェクト--prefer-distのyiisoft / yii2アプリ、基本的なプロジェクト名
(2)プレミアムエディションがインストールされています。(アドバンスト版は、フロントとバックオフィスのディレクトリのバックエンド、フロントエンドを区別します)
作曲作成プロジェクト--prefer-distのyiisoft / yii2アプリ - 高度なプロジェクト名
その上で「はい」を選択し、その後、(開発環境を示す)「0」を選択し、ルートディレクトリにあるファイルをダブルクリックして「init.bat」は、インストール後のプレミアムを初期化する必要があり、それが自動的にファイルエントリが生成されます。注意してください。
5、ドメイン名情報が訪問することができますを設定します。(アドバンスト版はそれぞれ、ドメイン名の前面と背面を設定する必要があります)
可能性のある問題:
あなたがダウンしてインストールした後に問題が発生する可能性があります。ベンダーのフォルダを見つけることができません。
理由:作曲・アセット・プラグインがインストールされていないか、バージョンが低すぎます
解決策:ファイルのルート、そのcomposer.jsonファイルディレクトリを見つけるには、コマンドラインを開きます。作曲の更新を
Yiiの2を使用するように簡単です:
1、ルート最適化
実行中の発見は削除することができた後、「R =?」「/」ではなく、まだindex.phpを取り除くことができない、コメントを削除し、次のコードを探し、/frontend/config/main.phpファイルを検索します。
'urlManager' => [
'enablePrettyUrl' => trueに、造園//削除URL?R =
'showScriptName' => falseを、//非表示index.phpの
'ルール' => [
]、
]、
次のようにindex.phpを削除するには、.htaccessファイルはまた、エントリ・ファイルを追加する必要があります。
きれいなURLのサポートのための#使用のmod_rewrite
にRewriteEngine
#ディレクトリやファイルが存在する場合、要求を直接使用
するRewriteCond%{REQUEST_FILENAME}!-f
するRewriteCond%{REQUEST_FILENAME}!-d
#をそれ以外の場合はindex.phpにリクエスト転送
するRewriteRuleを。index.phpを
注:フロントとリアエンドは再びそれを構成するために必要とされています。
2、こぶ命名パスアクセス
「 - 」yii2キャメルケース、デフォルトで使用される場合UserAdminController actionTestUserコントローラでメソッドにアクセスするには、アクセス・パスは、次のとおりです。/ユーザー管理/テストユーザー
アクセスへのPOSTメソッドを使用して3、
Yii2では、ポストアクセスエラーの使用を扱わない場合。Yii2使用ポストは、CSRFの検証要求をデフォルトになりますので、これはです。
ここでCSRFの検証を形成することができる検証したり、背景をキャンセルするために添加することができます。
方法:このメソッドは)最善の場合:(検証は、フォームに追加しました
<入力名= "_ CSRF" タイプ= "隠された" ID = "_ CSRF" 値= "<?=のYii :: $ APP->要求 - > csrfToken?>" />
方法2:グローバルは偽> =設定ファイルに「enableCsrfValidation」を追加
「enableCsrfValidation」=>の追加偽CSRFの検証をキャンセル示しているconfigフォルダの設定で「コンポーネント」は、「要求」の設定が見つかりました。
方法3:単一のコントローラに配置され、部分的に配置
コードは、単一のコントローラに添加してもよいです。
公共の$ enableCsrfValidation =偽;
したがって、この方法は、POST要求を制御するために使用することができます。
暗号化とパスワード認証とYii2契約
Yii2が私たちの使用を容易にするために、パスワードの暗号化と認証方式の直列に設けられ、それはbcryptのアルゴリズムを使用しています。我々はPHP関数password_hash()とのcrypt()を使用してそれを見つけることができますビューソースが生成されます。
暗号化:
/ **
* $パスワードパスワードを暗号化する
* $ハッシュ暗号化されたハッシュ文字列
* /
$ハッシュ=のYii :: $ APP-> getSecurity() - > generatePasswordHash($パスワード);
パスワード確認:
/ **
* $のパスワードが平文パスワードを検証する
* $ハッシュ暗号化されたハッシュ文字列を
* /
のYii :: $ APP-> getSecurity() - > validatePassword($パスワード、$ハッシュ)。