Yii フレームワークを使用して映画 Web サイトを作成する
インターネットの普及と人々の映画愛に伴い、映画 Web サイトは人気のある Web サイトの種類になりました。動画 Web サイトを作成する場合、適切なフレームワークが非常に必要です。 Yii フレームワークは、使いやすく、パフォーマンスに優れた高性能 PHP フレームワークです。この記事では、Yii フレームワークを使用して映画 Web サイトを作成する方法を検討します。
- Yii フレームワークのインストール
Yii フレームワークを使用する前に、最初にフレームワークをインストールする必要があります。 Yii フレームワークのインストールは非常に簡単です。ターミナルで次のコマンドを実行するだけです:
composer create-project yiisoft/yii2-app-basic
このコマンドは、現在のディレクトリに基本的な Yii2 アプリケーションを作成します。これで、映画 Web サイトの作成を開始する準備が整いました。
- データベースとテーブルの作成
Yii フレームワークは、データベースの操作を簡単にする方法である ActiveRecord を提供します。この例では、映画 ID、タイトル、監督、俳優、年、ジャンル、評価などの情報を含む、movies という名前のデータ テーブルを作成します。テーブルを作成するには、ターミナルでアプリケーション ルート ディレクトリに移動し、次のコマンドを実行します。
php yii migrate/create create_movies_table
次に、生成された移行ファイルを次の内容に編集します。
<?php use yiidbMigration; /** * Handles the creation of table `{{%movies}}`. */ class m210630_050401_create_movies_table extends Migration { /** * {@inheritdoc} */ public function safeUp() { $this->createTable('{{%movies}}', [ 'id' => $this->primaryKey(), 'title' => $this->string()->notNull(), 'director' => $this->string()->notNull(), 'actors' => $this->text()->notNull(), 'year' => $this->integer()->notNull(), 'genre' => $this->string()->notNull(), 'rating' => $this->decimal(3,1)->notNull(), ]); } /** * {@inheritdoc} */ public function safeDown() { $this->dropTable('{{%movies}}'); } }
次に、移行を実行します。映画のデータシートを作成します。
php yii migrate
- ムービーモデルの作成
Yii フレームワークでは、ActiveRecord を使用してデータテーブルのモデルを定義するのが非常に簡単です。モデル ディレクトリに Movie という名前のモデルを作成し、モデル定義でテーブル名とフィールド名を指定できます。
<?php namespace appmodels; use yiidbActiveRecord; class Movie extends ActiveRecord { /** * {@inheritdoc} */ public static function tableName() { return '{{%movies}}'; } /** * {@inheritdoc} */ public function rules() { return [ [['title', 'director', 'actors', 'year', 'genre', 'rating'], 'required'], [['year'], 'integer'], [['rating'], 'number'], [['actors'], 'string'], [['title', 'director', 'genre'], 'string', 'max' => 255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'title' => 'Title', 'director' => 'Director', 'actors' => 'Actors', 'year' => 'Year', 'genre' => 'Genre', 'rating' => 'Rating' ]; } }
- ムービー コントローラーの作成
ムービー コントローラーは、ムービー リストの追加、編集、削除、表示のリクエストなど、ムービーに関するすべてのリクエストを処理します。コントローラ ディレクトリに MovieController という名前のコントローラを作成し、次のコードを追加します。
<?php namespace appcontrollers; use Yii; use yiiwebController; use appmodelsMovie; class MovieController extends Controller { /** * Shows all movies. * * @return string */ public function actionIndex() { $movies = Movie::find()->all(); return $this->render('index', ['movies' => $movies]); } /** * Creates a new movie. * * @return string|yiiwebResponse */ public function actionCreate() { $model = new Movie(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['index']); } return $this->render('create', [ 'model' => $model, ]); } /** * Updates an existing movie. * * @param integer $id * @return string|yiiwebResponse * @throws yiiwebNotFoundHttpException */ public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['index']); } return $this->render('update', [ 'model' => $model, ]); } /** * Deletes an existing movie. * * @param integer $id * @return yiiwebResponse * @throws yiiwebNotFoundHttpException */ public function actionDelete($id) { $this->findModel($id)->delete(); return $this->redirect(['index']); } /** * Finds the Movie model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * * @param integer $id * @return ppmodelsMovie * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Movie::findOne($id)) !== null) { return $model; } throw new NotFoundHttpException('The requested page does not exist.'); } }
その中で、actionIndex メソッドはすべてのムービーのリストを表示し、actionCreate メソッドと actionUpdate メソッドは作成および作成に使用されます。ムービーを編集するには、actionDelete メソッドでムービーを削除します。
- ムービー ビューの作成
次に、ムービー リストの表示、ムービーの追加、ムービー フォームの編集を行うためのビュー ファイルを作成する必要があります。ビュー ファイルを views/movie ディレクトリに保存します。
- index.php - ムービーのリストを表示するために使用されます
<?php use yiihelpersHtml; use yiigridGridView; /* @var $this yiiwebView */ /* @var $movies appmodelsMovie[] */ $this->title = 'Movies'; $this->params['breadcrumbs'][] = $this->title; ?> <h1><?= Html::encode($this->title) ?></h1> <p> <?= Html::a('Create Movie', ['create'], ['class' => 'btn btn-success']) ?> </p> <?= GridView::widget([ 'dataProvider' => new yiidataArrayDataProvider([ 'allModels' => $movies, 'sort' => [ 'attributes' => [ 'title', 'director', 'year', 'genre', 'rating', ], ], ]), 'columns' => [ ['class' => 'yiigridSerialColumn'], 'title', 'director', 'actors:ntext', 'year', 'genre', 'rating', ['class' => 'yiigridActionColumn'], ], ]); ?>
- create.php - 新しいムービーを作成するために使用されます
<?php use yiihelpersHtml; use yiiwidgetsActiveForm; /* @var $this yiiwebView */ /* @var $model appmodelsMovie */ $this->title = 'Create Movie'; $this->params['breadcrumbs'][] = ['label' => 'Movies', 'url' => ['index']]; $this->params['breadcrumbs'][] = $this->title; ?> <h1><?= Html::encode($this->title) ?></h1> <div class="movie-form"> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'director')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'actors')->textarea(['rows' => 6]) ?> <?= $form->field($model, 'year')->textInput() ?> <?= $form->field($model, 'genre')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'rating')->textInput() ?> <div class="form-group"> <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?> </div> <?php ActiveForm::end(); ?> </div>
- update.php - ムービー編集用
<?php use yiihelpersHtml; use yiiwidgetsActiveForm; /* @var $this yiiwebView */ /* @var $model appmodelsMovie */ $this->title = 'Update Movie: ' . $model->title; $this->params['breadcrumbs'][] = ['label' => 'Movies', 'url' => ['index']]; $this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; $this->params['breadcrumbs'][] = 'Update'; ?> <h1><?= Html::encode($this->title) ?></h1> <div class="movie-form"> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'director')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'actors')->textarea(['rows' => 6]) ?> <?= $form->field($model, 'year')->textInput() ?> <?= $form->field($model, 'genre')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'rating')->textInput() ?> <div class="form-group"> <?= Html::submitButton('Save', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?> </div>
- ムービー Web サイトの実行
これで、Yii フレームワークのムービー Web サイトの作成が完了しました。 , all コードの準備はすべて完了しました。映画 Web サイトをローカルで実行するには、ターミナルでアプリケーション ルート ディレクトリに移動し、次のコマンドを実行します。
php yii serve
これにより、ローカル Web サーバーが起動し、アプリケーションがポート 8000 で実行されます。これで、ブラウザで http://localhost:8000/ を開いて映画 Web サイトを表示できるようになります。
この記事では、Yii フレームワークを使用して映画 Web サイトを作成する方法を説明しました。 Yii フレームワークを使用すると、開発がスピードアップされ、ActiveRecord、MVC アーキテクチャ、フォーム検証、セキュリティなどの多くの便利な機能が提供されます。 Yii フレームワークの詳細については、そのドキュメントを参照してください。
以上がYii フレームワークを使用して映画 Web サイトを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









定数と変数は、プログラミングでデータ値を保存するために使用されます。変数は通常、時間の経過とともに変化する値を指します。定数は、プログラムの実行中に値を変更できない変数の一種です。 Python で使用できる組み込み定数は 6 つだけです。False、True、None、NotImplemented、Ellipsis(...)、__debug__ です。これらの定数とは別に、Python には定数値を格納するための組み込みデータ型がありません。例 定数の例を以下に示します。False=100 が出力されます。 SyntaxError:cannotassigntoFalseFalse は、ブール値を格納するために使用される Python の組み込み定数です。

iPhone で通話をカスタマイズする方法 Apple の iOS 17 では、iPhone の通話画面の外観をカスタマイズできる連絡先ポスターと呼ばれる新機能が導入されています。この機能を使用すると、選択した写真、色、フォント、ミー文字を連絡先カードとして使用してポスターをデザインできます。そのため、電話をかけると、受信者の iPhone にあなたのカスタム画像が想像どおりに表示されます。独自の連絡先ポスターを保存されているすべての連絡先と共有するか、誰が閲覧できるかを選択できます。同様に、通話交換中に他の人の連絡先ポスターも表示されます。さらに、Apple では、個々の連絡先に特定の連絡先の写真を設定し、それらの連絡先から電話をかけることができます

タイトル: Realme Phone 初心者ガイド: Realme Phone でフォルダーを作成する方法?今日の社会において、携帯電話は人々の生活に欠かせないツールとなっています。人気のスマートフォン ブランドとして、Realme Phone はそのシンプルで実用的なオペレーティング システムでユーザーに愛されています。 Realme 携帯電話を使用する過程で、多くの人が携帯電話上のファイルやアプリケーションを整理する必要がある状況に遭遇する可能性があり、フォルダーを作成するのが効果的な方法です。この記事では、ユーザーが携帯電話のコンテンツをより適切に管理できるように、Realme 携帯電話にフォルダーを作成する方法を紹介します。いいえ。

この記事は、Windows でのピクセル アート作成に GIMP を使用することに興味がある場合に役立ちます。 GIMP は、無料でオープンソースであるだけでなく、美しい画像やデザインを簡単に作成できる有名なグラフィック編集ソフトウェアです。 GIMP は、初心者にもプロのデザイナーにも同様に適していることに加えて、描画と作成のための唯一の構成要素としてピクセルを利用するデジタル アートの形式であるピクセル アートの作成にも使用できます。 GIMP でピクセル アートを作成する方法 Windows PC で GIMP を使用してピクセル アートを作成する主な手順は次のとおりです。 GIMP をダウンロードしてインストールし、アプリケーションを起動します。新しいイメージを作成します。幅と高さのサイズを変更します。鉛筆ツールを選択します。ブラシの種類をピクセルに設定します。設定

「Gree+ ソフトウェアでファミリーを作成する方法を知りたい」という友達がたくさんいました。操作方法は次のとおりです。詳しく知りたい友達は、一緒に見に来てください。まず、携帯電話で Gree+ ソフトウェアを開き、ログインします。次に、ページ下部のオプション バーで、右端の [My] オプションをクリックして、個人アカウント ページに入ります。 2. マイページにアクセスすると、「ファミリー」の下に「ファミリーを作成」という項目があるので、それをクリックして入力します。 3. 次にファミリーを作成するページにジャンプし、表示に従って入力ボックスに設定するファミリー名を入力し、入力後右上の「保存」ボタンをクリックします。 4. 最後に、ページの下部に「正常に保存しました」というプロンプトが表示され、ファミリが正常に作成されたことが示されます。

Highcharts を使用してガント チャートを作成する方法には、特定のコード サンプルが必要です。はじめに: ガント チャートは、プロジェクトの進捗状況や時間管理を表示するためによく使用されるチャート形式です。タスクの開始時刻、終了時刻、進捗状況を視覚的に表示できます。 Highcharts は、豊富なチャート タイプと柔軟な構成オプションを提供する強力な JavaScript チャート ライブラリです。この記事では、Highcharts を使用してガント チャートを作成する方法と具体的なコード例を紹介します。 1. ハイチャート

Django プロジェクトの旅を始めましょう: コマンド ラインから開始して、最初の Django プロジェクトを作成します。Django は、強力で柔軟な Web アプリケーション フレームワークです。Python をベースにしており、Web アプリケーションの開発に必要な多くのツールと機能を提供します。この記事では、コマンド ラインから最初の Django プロジェクトを作成する方法を説明します。始める前に、Python と Django がインストールされていることを確認してください。ステップ 1: プロジェクト ディレクトリを作成する まず、コマンド ライン ウィンドウを開き、新しいディレクトリを作成します。

iOS17 では、Apple は一般的に使用される電話アプリと連絡先アプリに連絡先ポスター機能を追加しました。この機能を使用すると、ユーザーは連絡先ごとにパーソナライズされたポスターを設定できるため、アドレス帳がより視覚的で個人的なものになります。連絡先ポスターは、ユーザーが特定の連絡先をより迅速に識別して見つけるのに役立ち、ユーザー エクスペリエンスを向上させます。この機能により、ユーザーは自分の好みやニーズに応じて各連絡先に特定の写真やロゴを追加でき、アドレス帳のインターフェイスがより鮮明になり、iOS17 では Apple は iPhone ユーザーに自分自身を表現する新しい方法を提供し、パーソナライズ可能な連絡先ポスターを追加しました。連絡先ポスター機能を使用すると、他の iPhone ユーザーに電話をかけるときに、独自のパーソナライズされたコンテンツを表示できます。あなた
