ホームページ >バックエンド開発 >PHPチュートリアル >PHP フレームワーク Yii を使用してビジュアル オペレーティング システムを開発し、便利な管理サービスを提供する方法

PHP フレームワーク Yii を使用してビジュアル オペレーティング システムを開発し、便利な管理サービスを提供する方法

WBOY
WBOYオリジナル
2023-06-27 15:10:53838ブラウズ

Yii は、Web アプリケーション開発で広く使用されている強力な PHP フレームワークです。この記事では、Yii フレームワークを使用してビジュアル オペレーティング システムを開発し、便利な管理サービスを提供する方法を学びます。

  1. Yii フレームワークと関連する依存関係をインストールする

Yii フレームワークの開発を開始する前に、Yii フレームワークとその関連する依存関係をインストールする必要があります。 Yii フレームワークは Composer を通じてインストールできます。次のコマンドを実行します。

composer create-project yiisoft/yii2-app-basic myproject

このコマンドは、myproject という名前の新しいプロジェクトを作成し、Yii フレームワークとその関連コンポーネントおよびライブラリ ファイルをプロジェクトにインストールします。次に、jQuery やブートストラップなどの他の依存関係をインストールする必要があります。

composer require bower-asset/jquery
composer require bower-asset/bootstrap
  1. データベースの作成

ビジュアル オペレーティング システムを作成する前に、データベースを作成する必要があります。すべてのデータを保存します。 Yii フレームワークは、MySQL、PostgreSQL、SQLite などの複数のタイプのデータベースをサポートしています。この記事では、MySQL データベースを使用します。

まず、MySQL に新しいデータベースを作成する必要があります。次のコマンドを使用できます:

CREATE DATABASE mydatabase;

次に、次のコマンドを実行して、必要なフィールドを含む「users」テーブルを作成します:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255)
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Yii アプリケーションの作成

これで、Yii アプリケーションの作成を開始する準備が整いました。 Yii フレームワークでは、すべての Web アプリケーションは「アプリケーション」と呼ばれるコンポーネントで構成されます。アプリケーションを作成する手順は次のとおりです。

3.1 「_frontend」という名前のサブディレクトリを作成します

mkdir _frontend

3.2 Yii CLI ツールを使用して新しいアプリケーションを作成します

./yii init --application=/path/to/_frontend

コマンド A新しい Yii アプリケーションが作成され、関連するすべてのファイルとディレクトリが _frontend ディレクトリに保存されます。

3.3 データベース接続の設定

データベースを正常に使用できるように、Yii 設定ファイルにデータベース接続を追加する必要があります。構成ファイル config/db.php を見つけて、次の内容を編集できます。

return [
    'class' => 'yiidbConnection',
    'dsn' => 'mysql:host=localhost;dbname=mydatabase',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
];

3.4 ベース コントローラーの作成

ビジュアル オペレーティング システムの作成を開始する前に、ベースを作成する必要があります。コントローラ。このコントローラーは、他のコントローラーがこれらのメソッドを継承できるように、デフォルトのアクションとメソッドを提供するために使用されます。次のコマンドを使用して、このコントローラーを作成できます。

./yii g/controller base

このコマンドは、コントローラー ディレクトリに「BaseController」という名前のコントローラーを作成し、そのコントローラーのデフォルトのアクションとメソッドを生成します。他のすべてのコントローラーはこのコントローラーを継承する必要があります。

3.5 ルーティングの変更

リクエストを新しく作成したコントローラーにルーティングするには、Yii フレームワークのルーティング設定ファイルを変更する必要があります。構成ファイル config/web.php を開き、次の内容を変更します。

return [
    // ...
    'defaultRoute' => 'base',
    'components' => [
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => []    
        ],
    ],
];

これで、ビジュアル オペレーティング システムの作成を開始する準備が整いました。

  1. ビジュアル オペレーティング システムの作成

この記事では、次の機能を備えたビジュアル オペレーティング システムを作成します。

  • ユーザー登録とログイン
  • ユーザー管理機能
  • ファイル管理機能

4.1 ユーザー登録とログイン

Yii の組み込みユーザー認証とアクセス ユーザーの登録とログインを管理するためのコントロール。ユーザー コントローラーを作成するには、次の手順に従います。

4.1.1 CLI ツールを使用してユーザー コントローラーを作成する

./yii g/controller user

このコマンドは、コントローラー ディレクトリにユーザー コントローラーを作成し、ユーザー コントローラーのデフォルト アクションを生成します。それとメソッド。

4.1.2 ユーザー登録とログイン操作の追加

ユーザー コントローラー ファイルを開いて、次の操作を追加します。

class UserController extends commoncontrollersBaseController {

    ...
    
    public function actionLogin() {
        // 登录功能代码
    }

    public function actionLogout() {
        // 注销功能代码
    }

    public function actionSignup() {
        // 注册功能代码
    }

    public function actionProfile() {
        // 用户信息页面代码
    }

    ...
    
}

4.1.3 アクセス制御の設定

Yii フレームワークでは、アクセス制御機能を使用して、アプリケーションのさまざまな部分へのユーザーアクセスを制限できます。ログインしていないユーザーへのアクセスを制限するには、config/web.php ファイルを開いて次の内容を追加します。

return [
    // ...
    'components' => [
        // ...
        'user' => [
            'identityClass' => 'commonmodelsUser',
            'enableAutoLogin' => true,
            'loginUrl' => ['user/login'],
        ],
        'authManager' => [
            'class' => 'yiibacDbManager',
        ],
    ],
    'as access' => [
        'class' => 'yiiwebAccessControl',
        'rules' => [
            [
                'actions' => ['login', 'signup'],
                'allow' => true,
            ],
            [
                'actions' => ['logout', 'profile'],
                'allow' => true,
                'roles' => ['@'],
            ]
        ],
    ],
];

4.1.4 ユーザー モデルの作成

ユーザーを管理するためのモデル。ユーザーモデルを作成し、Yii の組み込みユーザーモデルを継承します。

class User extends yiidbActiveRecord implements yiiwebIdentityInterface {
    
    ...
}

4.2 ユーザー管理機能

ユーザーを管理するために、ユーザー管理コントローラーを作成します。コントローラを作成するには、次の手順に従います。

4.2.1 CLI ツールを使用してコントローラを作成する

./yii g/controller admin/UserManagement

このコマンドは、コントローラ ディレクトリにユーザー管理コントローラを作成し、デフォルトのアクションとメソッドを生成します。 。

4.2.2 ユーザー管理オペレーションの追加

ユーザー管理コントローラー ファイルを開き、次のオペレーションを追加します。

class UserManagementController extends commoncontrollersBaseController {

    ...

    public function actionIndex() {
        // 用户列表页面代码
    }

    public function actionCreate() {
        // 创建新用户页面代码
    }

    public function actionUpdate($id) {
        // 更新用户页面代码
    }

    public function actionDelete($id) {
        // 删除用户功能代码
    }

    ...
    
}

4.2.3 ユーザー管理モデルの作成

ユーザーを管理するためのモデルが必要です。ユーザー管理用のモデルを作成し、Yii の組み込みユーザー モデルを拡張します。

class UserManagement extends commonmodelsUser {
    
    ...
}

4.3 ファイル管理関数

ファイルを管理するには、ファイル管理コントローラーが作成されます。コントローラを作成するには、以下の手順に従います。

4.3.1 CLI ツールを使用してコントローラを作成する

./yii g/controller admin/FileManagement

このコマンドは、コントローラ ディレクトリに File Management という名前のファイル管理コントローラを作成し、生成します。必要に応じて、デフォルトのアクションとメソッド。

#4.3.2 ファイル管理オペレーションの追加

ファイル管理コントローラー ファイルを開き、次のオペレーションを追加します:

class FileManagementController extends commoncontrollersBaseController {

    ...
    
    public function actionIndex() {
        // 文件列表页面代码
    }

    public function actionUpload() {
        // 上传文件页面代码
    }

    public function actionDownload($id) {
        // 文件下载特定功能代码
    }

    public function actionDelete($id) {
        // 删除文件功能代码
    }

    ...
    
}

4.3.3 ファイル管理モデルの作成

ファイルを管理するにはモデルが必要です。モデルを作成するには、次の手順に従います:

class FileManagement extends yiidbActiveRecord {
    
    ...
}

  1. 总结

在本文中,我们已经学习了如何使用Yii框架来创建一个可视化操作系统,并提供便捷的管理服务。我们覆盖了许多方面,包括用户管理、文件管理、注册和登录功能等等。通过将这些知识应用于您自己的项目中,您将能够创建一个强大而灵活的Web应用程序,为用户提供出色的体验。

以上がPHP フレームワーク Yii を使用してビジュアル オペレーティング システムを開発し、便利な管理サービスを提供する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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