0

0

用openPNE怎样才能创建一个项目

醉折花枝作酒筹

醉折花枝作酒筹

发布时间:2021-07-16 15:56:09

|

2079人浏览过

|

来源于博客园

转载

不知道你们有没有用过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

输入

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文件也可,将按默认路由访问

推荐学习:php视频教程

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号