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 = ( 'vote_list' => sfRequestRoute( '/vote', ('module' => 'vote', 'action' => 'index'), ('sf_method' => ('get')) ), 'vote_new' => sfRequestRoute( '/vote/new', ('module' => 'vote', 'action' => 'new'), ('sf_method' => ('get')) ), 'vote_create' => sfRequestRoute( '/vote/create', ('module' => 'vote', 'action' => 'create'), ('sf_method' => ('post')) ), 'vote_edit' => sfDoctrineRoute( '/vote/edit/:id', ('module' => 'vote', 'action' => 'edit'), ('id' => '\d+', 'sf_method' => ('get')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_update' => sfDoctrineRoute( '/vote/update/:id', ('module' => 'vote', 'action' => 'update'), ('id' => '\d+', 'sf_method' => ('post')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_show' => sfDoctrineRoute( '/vote/show/:id', ('module' => 'vote', 'action' => 'show'), ('id' => '\d+', 'sf_method' => ('get')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_post' => sfDoctrineRoute( '/vote/post/:id', ('module' => 'vote', 'action' => 'post'), ('id' => '\d+', 'sf_method' => ('post')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_delete_confirm' => sfDoctrineRoute( '/vote/delete/:id', ('module' => 'vote', 'action' => 'deleteConfirm'), ('id' => '\d+', 'sf_method' => ('get')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_delete' => sfDoctrineRoute( '/vote/delete/:id', ('module' => 'vote', 'action' => 'delete'), ('id' => '\d+', 'sf_method' => ('post')), ('model' => 'VoteQuestion', 'type' => 'object') ), 'vote_nodefaults' => sfRoute( '/vote/*', ('module' => 'default', 'action' => 'error') ), ); } } ?>
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 サイトの他の関連記事を参照してください。