溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

openPNE怎么創(chuàng)建項(xiàng)目

發(fā)布時(shí)間:2021-07-19 00:30:21 來源:億速云 閱讀:140 作者:chen 欄目:編程語言

這篇文章主要講解了“openPNE怎么創(chuàng)建項(xiàng)目”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“openPNE怎么創(chuàng)建項(xiàng)目”吧!

不知道你們有沒有用過openPNE,其實(shí)我們可以使用openPNE創(chuàng)建過項(xiàng)目。今天我們就來介紹一下openPNE創(chuàng)建過項(xiàng)目的方法,有需要的可以參考參考。

使在cmd命令符下找到php命令
打開“我的電腦”->“屬性”->“高級(jí)”->“環(huán)境變量”->“系統(tǒng)變量”->“path”,編輯其值,在前面

增加下面的路徑地址:

D:\wamp\bin\php\php5.3.0;   ===========php編譯安裝目錄

將php.ini復(fù)制到C:\Windows 目錄下

symfony簡(jiǎn)單的建程序

將下載好的symfony壓縮包解壓縮到www文件夾下起名symfony

命令行輸入

e:打開E盤根目錄
cd..\..    ===========返回上兩級(jí),或打開指定目錄
cd wamp\www\symfony    ===========打開指定目錄
php data\bin\symfony -V    ===========查詢symfony版本信息
php data\bin\symfony generate:project newProject    ===========在www\symfony文件夾下生成一個(gè)名叫newProject的新項(xiàng)目
php data\bin\symfony generate:app myApp    ===========在該項(xiàng)目的APPS文件夾下生成一個(gè)名叫myApp新程序
php data\bin\symfony generate:module myApp myModule    ===========在myApp程序文件夾下建立一個(gè)名叫myModule的新模塊

php調(diào)用的symfony命令打開的是相對(duì)當(dāng)前目錄存放symfony命令的目錄

在動(dòng)作類中寫的動(dòng)作方法與對(duì)應(yīng)模板的訪問路徑 mymodule模塊名 myAction動(dòng)作方法名

OpenPNE 安裝

將下載好的壓縮包解壓縮到服務(wù)器目錄

查找 ProjectConfiguration..php.sample改名成ProjectConfiguration..php

Apache服務(wù)打開rewrite模塊

cmd命令符下打開openPNE所在文件夾,輸入

php symfony openpne:install

PHP的APC擴(kuò)展:如有需要將115中的php_apc.dll下載到wamp\bin\php\php5.3.0\ext目錄下

打開php擴(kuò)展的php_apc,打開php.ini,找到extension=php_apc.dll并在下一行添加

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

如果根目錄有cache文件夾把cache中的內(nèi)容清空

創(chuàng)建一個(gè)程序

cmd輸入

php symfony opGenerate:plugin opVotePlugin    ===========創(chuàng)建一個(gè)vote插件程序
php symfony opGenerate:app opVotePlugin pc_frontend    ===========為vote插件程序創(chuàng)建電腦前臺(tái)文件夾
php symfony opGenerate:module opVotePlugin pc_frontend vote    ===========在vote插件程序電腦前臺(tái)文件夾內(nèi)創(chuàng)建vote模塊
php symfony cc    ===========清除一次緩存

action動(dòng)作及訪問權(quán)限

在plugins\opVotePlugin\lib\actions目錄下創(chuàng)建一個(gè)opVotePluginVoteActions..php文件

文件中寫類class opVotePluginVoteActions  sfActions{}

然后在opVotePlugin\apps\pc_frontend\modules\vote\actions\actions..php文件中的類繼承剛才寫的類

voteActions  opVotePluginVoteActions{}

不僅電腦前臺(tái)pc_frontend文件夾內(nèi),在opVotePlugin\apps下的所有手機(jī)電腦前后臺(tái)模塊動(dòng)作都可以繼承這個(gè)類,實(shí)現(xiàn)一個(gè)類管理多個(gè)前端

建立plugins\opVotePlugin\apps\pc_frontend\modules\vote\config\security.yml文件然后輸入

all:

is_secure: on

credentials: SNSMember

表示此模塊需要驗(yàn)證,只有會(huì)員才能訪問

在opVotePluginVoteActions類中寫一個(gè)動(dòng)作

executeShow(sfWebRequest ){}

然后創(chuàng)建plugins\opVotePlugin\apps\pc_frontend\modules\vote\templates\showSuccess.php

執(zhí)行一次命令php symfony cc

建立數(shù)據(jù)庫表

創(chuàng)建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 }

表示分別創(chuàng)建了vote_question,vote_question_option,vote_answer三個(gè)表其中的relations表示設(shè)立外鍵關(guān)聯(lián)

此時(shí)執(zhí)行命令php symfony openpne:install將重新安裝openPNE并創(chuàng)建前面三張表

之后再執(zhí)行一次php symfony doctrine:build --all --and-load 重新插入數(shù)據(jù)

路由規(guī)則

創(chuàng)建plugins/opVotePlugin/lib/routing/opVotePluginFrontendCollection..php

輸入

<?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')
      ),
    );
  }
}
?>

創(chuàng)建plugins/opVotePlugin/apps/pc_frontend/config/routing.yml

輸入

vote:
: opVotePluginFrontendRouteCollection
  options: { name: vote }

指定由哪個(gè)類來設(shè)定路由規(guī)則

輸入命令php symfony cc

輸入命令php symfony app:routes pc_frontend 查看路由是否設(shè)定成功

不創(chuàng)建opVotePluginFrontendCollection..php與routing.yml文件也可,將按默認(rèn)路由訪問

感謝各位的閱讀,以上就是“openPNE怎么創(chuàng)建項(xiàng)目”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)openPNE怎么創(chuàng)建項(xiàng)目這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI