LoginSignup
1
1

More than 1 year has passed since last update.

キョムからYiiの環境構築:Ubuntu

Last updated at Posted at 2022-12-19

まえがき

Adventカレンダー21日目の投稿予定です

What is Yii framework?

YiiはPHPのフレームワークで日本ではあまり採用されないものの海外では評価が高いフレームワークです
特徴は
・MVCによるUI構成
・完全オブジェクト思考
・軽量高速で負荷に強い
上記以外にもたくさんのメリットがあります
詳しくは公式サイトを見てみてください

早速導入!

composerの導入

まずは公式サイトにそってcomposerをインストールします

console
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -v

この画面がでればインストール成功です
image.png

Apacheのインストール

使用率が高く安定しているApacheサーバーを採用しました

console
sudo apt install apache2

Yiiのインストール

console
cd /var/www/html/
composer create-project --prefer-dist yiisoft/yii2-app-basic yiiapp

これで/var/www/html/下にyiiappというディレクトリが作成されます

image.png
エラーが起きました

解決方

php-curl
php-dom
この2つをインストールすることで解決しました

console
sudo apt install php-curl
sudo apt install php-dom

これで再度

console
$cd /var/www/html/
$composer create-project --prefer-dist yiisoft/yii2-app-basic yiiapp
//実行結果
Creating a "yiisoft/yii2-app-basic" project at "./yiiapp"
Info from https://repo.packagist.org: #StandWithUkraine
Installing yiisoft/yii2-app-basic (2.0.47)
  - Installing yiisoft/yii2-app-basic (2.0.47): Extracting archive
Created project in /home/tsuneki/Qiita/yiiapp
Loading composer repositories with package information
Updating dependencies
Lock file operations: 85 installs, 0 updates, 0 removals
  - Locking behat/gherkin (v4.9.0)
  - Locking bower-asset/bootstrap (v5.2.3)
  - Locking bower-asset/inputmask (3.3.11)
  - Locking bower-asset/jquery (3.6.2)
  - Locking bower-asset/punycode (v1.3.2)
  - Locking bower-asset/yii2-pjax (2.0.8)
  - Locking cebe/markdown (1.2.1)
  - Locking codeception/codeception (4.2.2)
  - Locking codeception/lib-asserts (1.13.2)
  - Locking codeception/lib-innerbrowser (1.5.1)
  - Locking codeception/module-asserts (1.3.1)
  - Locking codeception/module-filesystem (2.0.2)
//続く

見事インストール完了しました

起動!

console
$ cd /var/www/html/yiiapp/web/
$ php -S localhost:6060

php -S localhost:ポート番号
ではブラウザからlocalhost:6060にアクセスしてみます
image.png
コンソールも確認してみましょう
image.png
ログがしっかりと書き込まれています

aboutページを編集

aboutページを開いてみます
image.png
※上写真では文章変更済み
どうやら/var/www/html/yiiapp/views/site/about.phpをいじれば編集できそうです

console
$ cd /var/www/html/yiiapp/views/site/
$ ls
about.php  contact.php  error.php  index.php  login.php
$ sudo vim about.php
console:vim
<?php

/** @var yii\web\View $this */

use yii\helpers\Html;

$this->title = 'About';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-about">
    <h1><?= Html::encode($this->title) ?></h1>

    <p>
        This is the About page.I change code
    </p>

    <code><?= __FILE__ ?></code>
</div>

かんたんにですが上のように変更しました
再度

console
$ cd /var/www/html/yiiapp/web/
$ php -S localhost:6060

変更が適用されているか確認しましょう

Login情報の追加

興味というのはどこかしら湧くものでloginユーザーを増やしてみたくなりました
現状
admin:admin
demo:demo
の2種が用意されています
loginページを見ると/app/models/User.phpを編集すれば良さそうです
image.png

console
$ cd /var/www/html/yiiapp/models/
$ ls
ContactForm.php  LoginForm.php  User.php
$ sudo vim User.php

ではイタズラ開始

console:vim
private static $users = [
        '100' => [
            'id' => '100',
            'username' => 'admin',
            'password' => 'admin',
            'authKey' => 'test100key',
            'accessToken' => '100-token',
        ],
        '101' => [
            'id' => '101',
            'username' => 'demo',
            'password' => 'demo',
            'authKey' => 'test101key',
            'accessToken' => '101-token',
        ],
        '102' => [
                'id' => '102',
                'username' => 'root',
                'password' => 'root',
                'authKey' => 'test102key',
                'accessToken' => '102-token',
        ],
    ];

root:rootを追加してみました
もう一度サーバを立ててLoginページに移動ー>root,rootでログインボタンをポチッ
image.png

みごとログインできました

終わりに

Yiiフレームワーク 面白いです
日本でも採用率が上がることを祈っています

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1