ホームページ >バックエンド開発 >PHPチュートリアル >Yii2関連学習記録、Yii2の初期化(2)、yii2の初期化_PHPチュートリアル

Yii2関連学習記録、Yii2の初期化(2)、yii2の初期化_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:56:02816ブラウズ

Yii2 の関連学習記録、Yii2 の初期化 (2)、yii2 の初期化

以前 Yii2 をダウンロードしましたが、実際にそれを使用できるようにする必要があります。

1. 初期化。私は Windows システムなので、cmd コマンドを使用して、ダウンロードした Yii2 のルート ディレクトリを開きます。次に、次のコマンドを実行します:

リーリー

開発環境として 0 を選択し、運用環境として 1 を選択するように求められます。通常は実稼働環境を選択します。後からこのコマンドを入力して、開発環境と本番環境のリンクを切り替えることもできますが、切り替える際には、上書きして失われないように、本番環境の設定を事前に「environments」ディレクトリに書き込む必要があることに注意してください。切り替え時の設定項目については後ほど説明します。

2. データベースを構成します。フロントエンド アクセス アドレスは http://localhost/vishun/backend/web/index.php、バックエンド アクセス アドレスは http://localhost/vishun/frontend になります。 /web/index.php、ここで vishun は Yii フレームワークのインストール先のディレクトリ名です。ここでアクセスすると、データベースが接続されていないため、データベース接続エラーが報告されます。そのため、最初にデータベースを作成する必要があります (個人的には phpmyadmin を使用することをお勧めします)。次に、Yii2 でデータベース パラメーターを設定します。

設定ファイルは、common/config、frontend/config、backend/config の 3 つの場所に存在します。一般的に、common はフロントエンドとバックエンドの両方で使用される設定ファイルであり、フロントエンドとバックエンドは独自の設定ファイルを保存するために使用されます。それらが繰り返されると、フロントエンドとバックエンドのものが共通のものを上書きします。

各フォルダーは main.php と main-local.php に分かれています。これは主にチーム メンバーが自分のコンピューター環境で開発し、git または svn に送信するためのものです。したがって、チーム メンバーが自分のデータベース アカウントとパスワードを使用し、他のチーム メンバーがそれを更新し、自分のアカウントとパスワードが間違っていると、データベースとその他の構成ファイルが *- に配置されます。ローカル ファイルを送信する場合、*- ローカル ファイルは送信されません。

ただし、送信しない場合は、引き続き問題が発生します。たとえば、新しいメンバーが参加した場合、コードは git から直接ダウンロードされますが、データベース設定ファイルは誰も送信していないため、プログラム全体がダウンロードされます。不完全な場合、新しいメンバーにはデータベースがまったく設定されなくなります。したがって、上記の環境ディレクトリも使用する必要があります。dev (開発) と prod (本番) の 2 つの環境があり、主に *-local ファイルのテンプレートが保存されます。 init コマンドを使用すると、その中のファイルに基づいて *-local ファイルが生成され、新しいメンバーはそのファイルにデータベース アカウントのパスワードを入力することでそのファイルを使用できるようになります。

上記のチーム環境の詳細な説明は、ここで見つけることができます: Yii2.0 の詳細な理解 -- 環境と設定ファイル。これは非常に詳細です。

3. 設定が完了した後もエラーは報告されますが、これはデータリンクエラーではありませんが、ユーザーテーブルが見つかりません。次に、ユーザーテーブルを作成します。 Yii2 Advanced Edition フレームワークのユーザー テーブルが作成されました。console/migrations の下にある *_init.php ファイルを開くことができます。これは作成されたユーザー テーブルです。 cmd の Yii2 ルート ディレクトリでコマンドを実行するだけです:

リーリー

これでユーザーテーブルが作成されました。現時点では、フロントエンドとバックエンドへのアクセスは問題ありません。 merge コマンドは、Yii フレームワークでデータベースを移行または変更するためのツールです。特にチーム コラボレーションにおいて、メンバーがローカル コンピューターにテーブルを追加した場合、コンソールでテーブルを作成するために yii merge/create コマンドを使用する方法を教えてください。 /migrations 変更を加え、そこに追加されたテーブルの内容を書き込みます。送信および他のメンバーが更新された後、yii merge コマンドを使用してデータベースを最新のデータベースに同期できます。これは非常に便利です。移行には多くの機能がありますが、それらについてはまだ完全には理解していません。これらについては、以下のフロントエンドとバックエンドの分離に関する章で説明する可能性があります。

4. さて、メールアドレスを設定しましょう。最初の 3 つの手順を完了したら、メンバーとして登録して確認することができます。パスワードを忘れた場合は、メールで取得する必要があるため、メール アドレスを設定する必要があります。

Yii2 Advanced Edition フレームワークは、common/config/main-local.php ファイルで確認できるメールボックス クラスを統合します。 リーリー

これは、個人アカウントに関する機密情報が含まれるため、*-local ファイルに配置されます。

上記の設定情報は不完全ですので、送信メールアドレス、ポート番号などを入力する必要がありますので、上記を次のように修正してください。 リーリー リーリー

メール送信のプロセス全体は Yii2 Advanced Edition で記述されているため、送信するように設定するだけで済みます。

上記を設定した後、パスワードを取得してメールを送信すると、次のようなエラーが発生する場合があります:

リーリー

これは、NetEase のサーバーなど、一部のメール サーバーでは from と username が定数である必要があり、frontend/models/PasswordResetRequestForm.php の sendEmail メソッドが 63 行目あたりで指定されているためです。 リーリー

supportEmail パラメータを取得します。このパラメータは common/config/params.php で定義されており、デフォルトは admin@example.com です。そのため、エラーが報告されます。 1 つ目の方法は、このパラメータを「あなたのメール名」に変更し、通常どおり送信できます。2 つ目の方法は、上記の設定ファイルの

コメントをキャンセルして、->setFrom の行を削除します。 (これらすべてを行うには、最初に SMTP サービスを有効にしてください)

顺便说下,因为你邮箱配置实在*-local文件中,所以为了其它成员也都能用你这个配置,应该在environments/dev/common/main-local.php中添加:

'mailer' =><span> [
    </span>'class' => 'yii\swiftmailer\Mailer',
    'viewPath' => '@common/mail',
    <span>//</span><span> send all mails to a file by default. You have to set
    // 'useFileTransport' to false and configure a transport
    // for the mailer to send real emails.</span>
    'useFileTransport' => <span>false</span>,
    'transport' =><span> [  
        </span>'class' => 'Swift_SmtpTransport',  
        'host' => '', <span>//</span><span>空着,让其他人自己填写</span>
        'username' => '',  
        'password' => '',  
        'port' => '',  
        'encryption' => 'tls',<span>
    ]</span>,

    'messageConfig'=><span>[  
    </span>'charset'=>'UTF-8',  
    'from'=>[''=>'robot'<span>]  
    ]</span>,<span>             
]</span>,        

这样,其他人只需要填上自己的邮箱账号就可以发送邮件了。

很多时候邮件填写都是从数据库获取的,这时候就不应该在配置文件中了,而是应该单独写个类,(类似新建components文件并引入,写在这里面),顺便封装下发送方法。我自己也没实习过,只是思路而已。

以上就是Yii2高级版的初始化,下节可能记录下如何套用好看的后台界面和gii自定义模板什么的。睡觉了先。

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1114011.htmlTechArticleYii2的相关学习记录,初始化Yii2(二),初始化yii2 前面已经将Yii2下载下来了,那我们就需要能实际的使用。 一、初始化,因为我都是在...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。