這篇文章主要講解了“openPNE怎么創建項目”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“openPNE怎么創建項目”吧!
不知道你們有沒有用過openPNE,其實我們可以使用openPNE創建過項目。今天我們就來介紹一下openPNE創建過項目的方法,有需要的可以參考參考。
使在cmd命令符下找到php命令
打開“我的電腦”->“屬性”->“高級”->“環境變量”->“系統變量”->“path”,編輯其值,在前面
增加下面的路徑地址:
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.sample改名成ProjectConfiguration..php
Apache服務打開rewrite模塊
cmd命令符下打開openPNE所在文件夾,輸入
php symfony openpne:install
PHP的APC擴展:如有需要將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
如果根目錄有cache文件夾把cache中的內容清空
創建一個程序
cmd輸入
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下的所有手機電腦前后臺模塊動作都可以繼承這個類,實現一個類管理多個前端
建立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
建立數據庫表
創建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三個表其中的relations表示設立外鍵關聯
此時執行命令php symfony openpne:install將重新安裝openPNE并創建前面三張表
之后再執行一次php symfony doctrine:build --all --and-load 重新插入數據
路由規則
創建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')
),
);
}
}
?>創建plugins/opVotePlugin/apps/pc_frontend/config/routing.yml
輸入
vote:
: opVotePluginFrontendRouteCollection
options: { name: vote }指定由哪個類來設定路由規則
輸入命令php symfony cc
輸入命令php symfony app:routes pc_frontend 查看路由是否設定成功
不創建opVotePluginFrontendCollection..php與routing.yml文件也可,將按默認路由訪問
感謝各位的閱讀,以上就是“openPNE怎么創建項目”的內容了,經過本文的學習后,相信大家對openPNE怎么創建項目這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。