ホームページ  >  記事  >  バックエンド開発  >  openPNEを使用してプロジェクトを作成する方法

openPNEを使用してプロジェクトを作成する方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-07-16 15:56:091987ブラウズ

openPNE を使用したことがあるかどうかはわかりませんが、実際、openPNE を使用してプロジェクトを作成できます。今回はopenPNEでプロジェクトを作成する方法を紹介しますので、必要に応じて参考にしてください。

openPNEを使用してプロジェクトを作成する方法

cmd コマンド プロンプトで php コマンドを見つけます。
[マイ コンピュータ] -> [プロパティ] -> [詳細設定] を開きます。 ->「環境変数」->「システム変数」->「パス」の値を編集し、先頭に次のパス アドレスを追加します。

:

D:\wamp\bin\php\php5.3.0;   ===========php编译安装目录

php を配置します。 ini を C:\Windows ディレクトリにコピーします。

symfony 用の簡単なビルド プログラム

ダウンロードした symfony 圧縮パッケージを www フォルダーに抽出し、symfony という名前を付けます

コマンドライン入力

e:打开E盘根目录
cd..\..    ===========返回上两级,或打开指定目录
cd wamp\www\symfony    ===========打开指定目录
php data\bin\symfony -V    ===========查询symfony版本信息
php data\bin\symfony generate:project newProject    ===========在www\symfony文件夹下生成一个名叫newProject的新项目
php data\bin\symfony generate:app myApp    ===========在该项目的APPS文件夹下生成一个名叫myApp新程序
php data\bin\symfony generate:module myApp myModule    ===========在myApp程序文件夹下建立一个名叫myModule的新模块

phpによって呼び出されたsymfonyコマンドは、現在のディレクトリを基準にしてsymfonyコマンドが保存されているディレクトリを開きます

アクションクラスに記述されたアクションメソッドとアクセスパス対応するテンプレート mymodule モジュール名 myAction アクション メソッド名

OpenPNE インストール

ダウンロードした圧縮パッケージをサーバー ディレクトリに解凍します

ProjectConfiguration を探します。 php. サンプルの名前は ProjectConfiguration..php

Apache サービスが書き換えモジュールを開きます

cmd コマンドの下にある openPNE があるフォルダーを開き、

php symfony openpne:install

APC と入力します。 PHP の拡張機能: 必要に応じて、115 の php_apc.dll を wamp\bin\php\php5.3.0\ext ディレクトリにダウンロードします。

php 拡張機能の php_apc を開き、php.ini を開き、extension=php_apc を見つけます。 dll を作成し、次の行に追加します

apc.enabled=0
apc.shm_segments=0
apc.enable_cli=0

ルート ディレクトリにキャッシュ フォルダーがある場合は、キャッシュの内容をクリアします

##プログラムを作成します ##cmd input

php symfony opGenerate:plugin opVotePlugin    ===========创建一个vote插件程序
php symfony opGenerate:app opVotePlugin pc_frontend    ===========为vote插件程序创建电脑前台文件夹
php symfony opGenerate:module opVotePlugin pc_frontend vote    ===========在vote插件程序电脑前台文件夹内创建vote模块
php symfony cc    ===========清除一次缓存

action アクションとアクセス権

plugins\opVotePlugin\lib\actions ディレクトリに opVotePluginVoteActions..php ファイルを作成します

クラス class opVotePluginVoteActions sfActions{}## をファイルに書き込みます

#その後、opVotePlugin\apps\pc_frontend\modules\vote\actions\actions..php ファイル内のクラスが、書き込んだばかりのクラスを継承します

voteActions opVotePluginVoteActions{}

コンピューター フロントエンドだけではありません。pc_frontend フォルダーでは、opVotePlugin\apps にあるすべてのモバイル コンピューター フロント モジュール アクションとバック モジュール アクションがこのクラスを継承して、複数のフロント エンドを管理する 1 つのクラスを実装できます

plugins\opVotePlugin\apps\pc_frontend\modules\vote\ config\security.yml ファイルを作成し、

all:

is_secure: on

credentials: SNSMember# と入力します。

## は、このモジュールには検証が必要で、メンバーのみがアクセスできることを意味します。

opVotePluginVoteActions クラスにアクションを書き込みます。

executeShow(sfWebRequest){}

次に、作成します。 plugins\opVotePlugin\apps\pc_frontend\modules\vote\templates\showSuccess.php

コマンド php symfony cc を 1 回実行します

データベース テーブルを作成します

plugins/opVotePlugin/config/doctrine/schema.yml ファイルを作成し、

options:
  charset: utf8

VoteQuestion:
  actAs: [Timestampable]
  columns:
    id: { type: (4), primary: , autoincrement:  }
    member_id: { type: (4), notnull:  }
    title: { type: (140), notnull:  }
    body: { type:  }
  relations:
    Member: { onDelete: cascade }

VoteQuestionOption:
  columns:
    id: { type: (4), primary: , autoincrement:  }
    vote_question_id: { type: (4), notnull:  }
    body: { type: (140), notnull:  }
  relations:
    VoteQuestion: { onDelete: cascade, foreignAlias: VoteQuestionOptions }

VoteAnswer:
  actAs: [Timestampable]
  columns:
    id: { type: (4), primary: , autoincrement:  }
    member_id: { type: (4), notnull:  }
    vote_question_id: { type: (4), notnull:  }
    vote_question_option_id: { type: (4), notnull:  }
    body: { type:  }
  relations:
    Member: { onDelete: cascade }
    VoteQuestion: { onDelete: cascade, foreignAlias: VoteAnswers }
    VoteQuestionOption: { onDelete: cascade, foreignAlias: VoteAnswers }

と入力すると、vote_question、vote_question_option、vote_answer の 3 つのテーブルがそれぞれ作成されたことを意味します。


この時点で、コマンド php symfony openpne:install を実行すると、openPNE が再インストールされ、前の 3 つのテーブルが作成されます

execute php symfony doctrine:build --all --and -再度ロードしてデータを再挿入します

ルーティング ルール

create plugins/opVotePlugin/lib/routing/opVotePluginFrontendCollection..phpEnter

<?php
 opVotePluginFrontendRouteCollection  sfRouteCollection
{
  __construct( )
  {
    parent::__construct();
->routes = (
      &#39;vote_list&#39; =>  sfRequestRoute(    
        &#39;/vote&#39;,                                    (&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;index&#39;),            (&#39;sf_method&#39; => (&#39;get&#39;))
      ),
      &#39;vote_new&#39; =>  sfRequestRoute(
        &#39;/vote/new&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;new&#39;),
(&#39;sf_method&#39; => (&#39;get&#39;))
      ),
      &#39;vote_create&#39; =>  sfRequestRoute(
        &#39;/vote/create&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;create&#39;),
(&#39;sf_method&#39; => (&#39;post&#39;))
      ),
      &#39;vote_edit&#39; =>  sfDoctrineRoute(
        &#39;/vote/edit/:id&#39;,            (&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;edit&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_update&#39; =>  sfDoctrineRoute(
        &#39;/vote/update/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;update&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_show&#39; =>  sfDoctrineRoute(
        &#39;/vote/show/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;show&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_post&#39; =>  sfDoctrineRoute(
        &#39;/vote/post/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;post&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_delete_confirm&#39; =>  sfDoctrineRoute(
        &#39;/vote/delete/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;deleteConfirm&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_delete&#39; =>  sfDoctrineRoute(
        &#39;/vote/delete/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;delete&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
     &#39;vote_nodefaults&#39; =>  sfRoute(
        &#39;/vote/*&#39;,
(&#39;module&#39; => &#39;default&#39;, &#39;action&#39; => &#39;error&#39;)
      ),
    );
  }
}
?>

Create plugins/opVotePlugin/apps/pc_frontend/config/routing.yml

Enter

vote:
: opVotePluginFrontendRouteCollection
  options: { name: vote }

ルーティング ルールを設定するクラスを指定

コマンド php symfony を入力しますcc

コマンド php symfony app:routes pc_frontend を入力して、ルートが正常に設定されているかどうかを確認します

opVotePluginFrontendCollection..php および routing.yml ファイルを作成しないことも可能です。

推奨学習:

php ビデオ チュートリアル

以上がopenPNEを使用してプロジェクトを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。