So erstellen Sie ein Projekt mit openPNE

醉折花枝作酒筹
Freigeben: 2023-03-11 16:30:02
nach vorne
1919 Leute haben es durchsucht

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.

So erstellen Sie ein Projekt mit openPNE

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编译安装目录
Nach dem Login kopieren

Kopieren Sie php.ini in das C:Windows-Verzeichnis

Symfony ist ein einfach zu erstellendes Programm

Das 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的新模块
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Wenn sich im Stammverzeichnis ein Cache-Ordner befindet, löschen Sie den Inhalt im Cache

Erstellen Sie ein Programm

cmd-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    ===========清除一次缓存
Nach dem Login kopieren

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 Datenbanktabelle

Erstellen 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 }
Nach dem Login kopieren

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..php

Input

<?php
 opVotePluginFrontendRouteCollection  sfRouteCollection
{
  __construct( )
  {
    parent::__construct();
->routes = (
      &#39;vote_list&#39; =>  sfRequestRoute(    
        &#39;/vote&#39;,                                    (&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;index&#39;),            (&#39;sf_method&#39; => (&#39;get&#39;))
      ),
      &#39;vote_new&#39; =>  sfRequestRoute(
        &#39;/vote/new&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;new&#39;),
(&#39;sf_method&#39; => (&#39;get&#39;))
      ),
      &#39;vote_create&#39; =>  sfRequestRoute(
        &#39;/vote/create&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;create&#39;),
(&#39;sf_method&#39; => (&#39;post&#39;))
      ),
      &#39;vote_edit&#39; =>  sfDoctrineRoute(
        &#39;/vote/edit/:id&#39;,            (&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;edit&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_update&#39; =>  sfDoctrineRoute(
        &#39;/vote/update/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;update&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_show&#39; =>  sfDoctrineRoute(
        &#39;/vote/show/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;show&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_post&#39; =>  sfDoctrineRoute(
        &#39;/vote/post/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;post&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_delete_confirm&#39; =>  sfDoctrineRoute(
        &#39;/vote/delete/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;deleteConfirm&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;get&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
      &#39;vote_delete&#39; =>  sfDoctrineRoute(
        &#39;/vote/delete/:id&#39;,
(&#39;module&#39; => &#39;vote&#39;, &#39;action&#39; => &#39;delete&#39;),
(&#39;id&#39; => &#39;\d+&#39;, &#39;sf_method&#39; => (&#39;post&#39;)),
(&#39;model&#39; => &#39;VoteQuestion&#39;, &#39;type&#39; => &#39;object&#39;)
      ),
     &#39;vote_nodefaults&#39; =>  sfRoute(
        &#39;/vote/*&#39;,
(&#39;module&#39; => &#39;default&#39;, &#39;action&#39; => &#39;error&#39;)
      ),
    );
  }
}
?>
Nach dem Login kopieren

Create.plugins/opVotePlugin/apps/pc_frontend/config/routing.yml

Eingabe

vote:
: opVotePluginFrontendRouteCollection
  options: { name: vote }
Nach dem Login kopieren
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-Tutorial

Das 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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!