Heim > Artikel > Backend-Entwicklung > So erstellen Sie ein Projekt mit openPNE
Ich weiß nicht, ob Sie openPNE verwendet haben. Tatsächlich können wir openPNE zum Erstellen von Projekten verwenden. Heute stellen wir die Methode zum Erstellen eines Projekts in openPNE vor. Sie können bei Bedarf darauf zurückgreifen.
Suchen Sie den PHP-Befehl unter der cmd-Eingabeaufforderung.
Öffnen Sie „Arbeitsplatz“ – > „Eigenschaften“ – > „Erweitert“ – > „Umgebungsvariablen“ – > „Systemvariablen“ – > ;"Pfad", bearbeiten Sie seinen Wert und fügen Sie die folgende Pfadadresse voran:
D:\wamp\bin\php\php5.3.0; ===========php编译安装目录
Kopieren Sie php.ini in das C:Windows-Verzeichnis
Symfony ist ein einfach zu erstellendes ProgrammDas heruntergeladene Symfony Entpacken Sie das komprimierte Paket in den www-Ordner und nennen Sie es symfony
Befehlszeileneingabe
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的新模块
Der von PHP aufgerufene Symfony-Befehl öffnet das Verzeichnis, in dem der Symfony-Befehl relativ zum aktuellen Verzeichnis gespeichert ist
Zugriff auf die in der Aktionsklasse geschriebene Aktionsmethode und der entsprechende Vorlagenpfad MyModule Modulname MyAction Aktionsmethodenname das Rewrite-Modul
Öffnen Sie den Ordner, in dem sich openPNE befindet, unter dem Befehl cmd und geben Sie
php symfony openpne:install
PHPs APC-Erweiterung ein: Laden Sie bei Bedarf die php_apc.dll in 115 in das wampbinphpphp5.3.0ext-Verzeichnis herunter Öffnen Sie den php_apc des PHP Erweiterung und öffnen Sie php.ini, suchen Sie extension=php_apc.dll und fügen Sie hinzu
apc.enabled=0 apc.shm_segments=0 apc.enable_cli=0
Wenn sich im Stammverzeichnis ein Cache-Ordner befindet, löschen Sie den Inhalt im Cache
Erstellen Sie ein Programmcmd-Eingabe
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 ===========清除一次缓存Aktionsaktion und Zugriffsrechte
Erstellen Sie eine opVotePluginVoteActions..php-Datei im PluginsopVotePluginlibactions-Verzeichnis. Schreiben Sie die Klasse class opVotePluginVoteActions sfActions{}
in die Datei und erben Sie dann die gerade geschriebene Klasse in der Datei opVotePluginappspc_frontendmodulesvoteactions..php. voteActions PluginVoteActions{}
Nicht nur die Computerfront Im Ordner pc_frontend können alle Front- und Backmodulaktionen für mobile Computer unter opVotePluginapps diese Klasse erben, um eine Klasse zum Verwalten mehrerer Frontends zu implementieren.
Erstellen Sie die Datei „pluginsopVotePluginappspc_frontendmodulesvoteconfigsecurity.yml“. Geben Sie all:
is_secure: on
credentials : SNSMember
Gibt an, dass für dieses Modul eine Authentifizierung erforderlich ist und nur Mitglieder darauf zugreifen können Plugins erstellenopVotePluginappspc_frontendmodulesvotetemplatesshowSuccess .php
Führen Sie den Befehl php symfony einmal aus. cc
Erstellte DatenbanktabelleErstellen Sie die Datei „plugins/opVotePlugin/config/doctrine/schema.yml“. Geben Sie
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 }ein, um drei Tabellen zu erstellen: vote_question, vote_question_option und vote_answer. Die Beziehungen stellen die Einrichtung von Fremdschlüsselbeziehungen dar. Führen Sie zu diesem Zeitpunkt den Befehl php symfony openpne:install aus, um openPNE neu zu installieren und die ersten drei Tabellen zu erstellen. Führen Sie dann php symfony doctrine:build --all --and- aus. laden, um die Daten erneut einzufügen
Routing-Regeln
Create Plugins/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') ), ); } } ?>Create.plugins/opVotePlugin/apps/pc_frontend/config/routing.yml
Eingabe
vote: : opVotePluginFrontendRouteCollection options: { name: vote }Geben Sie an, welche Klasse Routing-Regeln festlegen soll
Geben Sie den Befehl php symfony cc ein
Geben Sie den Befehl php symfony app:routes pc_frontend ein, um zu überprüfen, ob das Routing erfolgreich eingestellt wurde
Sie können auch die opVotePluginFrontendCollection..php und erstellen Routing.yml-Dateien, auf die über die Standardroute zugegriffen wird.
Empfohlenes Lernen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonSo erstellen Sie ein Projekt mit openPNE. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!