47歳でやむなくセミリタイア

病気のためセミリタイアをすることに。現在は週20時間程度のバイトをしています。その他、雑多なことを記録として書いています。

Yii2の使い方: インストール編

今日は風のある外の方が涼しいかもしれない。

引き続いて技術系の話です。
会社でYii2と呼ばれるPHPウェブサービスを動作させるフレームワークを使うことになったので、使い方をメモして行きます。

Yii2を動作させる準備

自分のWindowsマシンでYii2を動作させ、そこで開発します。
Yii2はApache, MySQL (or MariaDB), PHPが動作する環境が必要です。これらがセットでインストール&設定できる、Wamp serverというWindowsのアプリケーションを使用します。WSLに構築してもいいですが、会社でwampが使われているので、合わしておいた方が良いでしょう。
WampServer download | SourceForge.netからダウンロードしてインストールすれば、特に設定は必要ありません。ただ私の場合、何故かmariaDBが動作しませんでした。まあMySQLを使うので起動しないよう設定して気にしないことにしました。

Yii2のコマンドyiiを動作させるためのパッケージを追加

Linuxで開発したいので、Windows Subsystem for Linux (WSL)でPHPが動作するようにします。
composer/zip/unzipとphpのパッケージをインストールします。まあ、あまり深く考えなくても、composerを起動したときに足らないよと言われたパッケージを適当に足していけばいいです。

$ sudo apt install php-mysql php-mbstring php-dom zip unzip composer

とりあえずこれだけで動作しました。

Yii2のインストール

composerを使ってyii2をダウンロードします。

$ composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2-application

を実行すると、advancedのテンプレートがyii2-applicationのディレクトリにダウンロードされます。yii2-applicationは別のディレクトリを指定してもいいです。

  • (補足1) 最初のcomposerの実行は初期設定で時間がかかるので、-vvvオプションを付けて実行すると途中経過が見られて安心です。
  • (補足2) テンプレートにはadvancedとbasicがあり、普通はbasicの方がお勧めです。私は会社で使われているのでadvancedにしました。
  • (補足3) Wamp serverのApacheで使う場合には、Windowsから見える所に置く必要があります。例: C:\wamp64\www

初期設定

ダウンロードしたディレクトリ配下にある、init (Windowsの場合はinit.bat)を実行します。Development(開発環境)かProduction(本番環境)を選択するよう言われますので、開発中はDevelopmentを選びます。

$ ./init

これだけでもうアクセスできる環境が出来上がります。

アクセスしてみる

C:\wamp64\www\yii-application にインストールしていれば、Wamp Serverを起動して、http://localhost/yii-application/frontend/web/ にアクセスすると、"Congratulations! You have successfully created your Yii-powered application."と表示されるページが出てきます。

追加モジュール

これは必要のある人だけ実行。いくつか追加モジュールを使用しているので追加します。
composer.jsonのrequireフィールドに以下を追加して、

    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.14",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0 || ~2.1.0",
        "yiisoft/yii2-jui": "~2.0.0", 
        "kartik-v/yii2-dialog": "dev-master", 
        "rmrevin/yii2-fontawesome": "2.10.*",
        "yiisoft/yii2-bootstrap4": "~2.0.6"
    },

composer update を実行。

それにしても本当に簡単ですね。