openPNE를 사용해 보셨는지 모르겠습니다. 실제로 우리는 openPNE를 사용하여 프로젝트를 만들 수 있습니다. 오늘은 openPNE에서 프로젝트를 생성하는 방법을 소개하겠습니다. 필요하시면 참고하시면 됩니다.
cmd 명령 프롬프트에서 php 명령을 찾으세요
"내 컴퓨터"->"속성"->"고급"->"환경 변수"->"시스템 변수"- >를 엽니다. ;"path", 해당 값을 편집하고 앞에 다음 경로 주소를 추가합니다.
D:\wamp\bin\php\php5.3.0; ===========php编译安装目录
php.ini를 C:Windows 디렉터리에 복사
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을 wampbinphpphp5.3.0ext 디렉터리에 다운로드합니다.
php의 php_apc를 엽니다. 확장 프로그램을 열고 php.ini 를 열고, Extension=php_apc.dll을 찾아
apc.enabled=0 apc.shm_segments=0 apc.enable_cli=0
를 추가하세요. 루트 디렉터리에 캐시 폴더가 있으면 캐시의 내용을 삭제하세요
프로그램 만들기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 ===========清除一次缓存
플러그인sopVotePluginlibactions 디렉터리에 opVotePluginVoteActions..php 파일을 생성합니다. 파일에 클래스 클래스 opVotePluginVoteActions sfActions{}
를 작성한 다음 opVotePluginappspc_frontendmodulesvoteactionsactions..php 파일에 방금 작성된 클래스를 상속합니다.
voteActions PluginVoteActions{}컴퓨터 프런트 데스크뿐만 아니라 pc_frontend 폴더에서 opVotePluginapps 아래의 모든 모바일 컴퓨터 프런트 및 백 모듈 작업은 이 클래스를 상속하여 여러 프런트 엔드를 관리하는 하나의 클래스를 구현할 수 있습니다. pluginsopVotePluginappspc_frontendmodulesvoteconfigsecurity.yml 파일을 생성하고 all: is_secure: on 자격 증명: SNSMember이 모듈에는 인증이 필요하며 구성원만 액세스할 수 있음을 나타냅니다.opVotePluginVoteActions 클래스에 작업 작성executeShow(sfWebRequest){}그런 다음 플러그인sopVotePluginapp을 생성합니다. spc_frontendmodulesvotetemplatesshowSuccess .phpphp 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 }
지금 명령을 실행하면 php Symfony openpne:install이 openPNE를 다시 설치하고 처음 세 개의 테이블을 생성한 다음
라우팅 규칙
플러그인 생성/opVotePlugin/ lib/routing/opVotePluginFrontendCollection..phpInput
<?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') ), ); } } ?>
Input
vote: : opVotePluginFrontendRouteCollection options: { name: vote }
php 비디오 튜토리얼
위 내용은 openPNE를 사용하여 프로젝트를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!