Heim >Backend-Entwicklung >PHP-Tutorial >Entwicklung des Yii-Framework-Framework-Moduls

Entwicklung des Yii-Framework-Framework-Moduls

小云云
小云云Original
2017-11-16 10:56:421566Durchsuche

Yii Framework ist ein komponentenbasiertes, leistungsstarkes PHP-Framework für die Entwicklung umfangreicher Webanwendungen. Yii bietet nahezu alles, was für die heutige Web 2.0-Anwendungsentwicklung benötigt wird. Yii ist eines der effizientesten PHP-Frameworks. Yii ist die Idee des Gründers Xue Qiang und begann am 1. Januar 2008 mit der Entwicklung.

Ein etwas größeres Projekt, wenn es gemäß der von yii generierten Webapp entwickelt wird. Alle Controller werden im Ordner „Controllers“ und alle Modelle im Ordner „Models“ abgelegt. Wenn Sie n mehrere Controller und n mehrere Modelle haben, ist die Pflege des Codes in diesem Fall ein sehr mühsamer Prozess. Um diese Situation zu vermeiden, stellt Yii eine Verzeichnisstruktur von Modulen bereit.

Module (Modul) sind eine unabhängige Einheit, einschließlich Ansichten, Controller und anderen Komponenten. Der Unterschied zu einer Anwendung besteht darin, dass sie nicht separat im Modulverzeichnis der Anwendung gespeichert werden können.

Ihr Projekt kann in n mehrere Module unterteilt werden, und jedes Modul verfügt über eigene Controller und Modelle. Eine solche Organisationsstruktur macht Entwicklung und Management wesentlich komfortabler und übersichtlicher.

Module in YII sind sehr flexibel und ein Modul kann Untermodule enthalten. Theoretisch können Module unendlich verschachtelt werden.

Die Verzeichnisstruktur des Moduls (die unten generierte Verzeichnisstruktur dient als Erklärung)

modules Das Speicherverzeichnis des Moduls
└── admin Ein Modul, der Name von Das Modul entspricht nur dem Namen des Verzeichnisses. Es ist auch die Modul-ID
im Routing ├── Komponenten. Zu den im Modul
├── Controllern verwendeten Komponenten gehören Controller
│ └── DefaultController.php Standard-Controller
├── Nachrichten Internationalisierung └──layouts enthält Layoutdateien

Die grundlegende Verzeichnisstruktur ist wie oben. Natürlich können Sie selbst einige benutzerdefinierte Dinge hinzufügen.

So erstellen Sie ein Modul (hier verwenden wir den mit yii gelieferten Gii-Generator, um das Modul zu erstellen)

Erstellen Sie die Grundstruktur mit dem mit yii gelieferten Gii-Generator. Die Methode zum Drehen auf gii ist Ändern Sie den folgenden Inhalt in Ihrer Anwendungsdatei config/main.php:

Besuchen Sie dann die URL Ihrer Anwendung/index.php?r=gii, öffnen Sie sie und wählen Sie das Modul aus Generatoroption im linken Menü. Sie sehen den folgenden Bildschirm:

<?php    
   ......    
  &#39;modules&#39;=>array(    
  &#39;gii&#39;=>array(    
 &#39;class&#39;=>&#39;system.gii.GiiModule&#39;,    
  &#39;password&#39;=>&#39;123456&#39;,//你的密码访问时需要输入    
 &#39;ipFilters&#39;=>array(&#39;127.0.0.1&#39;,&#39;::1&#39;),    
  ),    
  ),
Geben Sie den Namen des Moduls in Modul-ID ein, ich habe hier „admin“ eingegeben, und klicken Sie dann auf die Schaltfläche „Vorschau“. Wie unten gezeigt, werden Ihnen alle Dateien angezeigt, die generiert werden, sodass Sie sie vor der Erstellung in der Vorschau anzeigen können:

Klicken Sie dann auf die Schaltfläche „Generieren“, um alle Dateien zu generieren. Da der Webserverprozess Schreibzugriff erfordert, stellen Sie sicher, dass die Anwendung auf Ihren Ordner /protected schreiben kann.

Mit diesem Modul konfigurieren

Wir konfigurieren die Hauptkonfigurationsdatei protected/config/main.php. Der folgende Code muss geändert und „admin“ hinzugefügt werden:

Nachdem Sie die oben genannten Änderungen gespeichert haben, ist unser neues Admin-Modul einsatzbereit. Wir können auf das von uns erstellte Modul zugreifen über:

yourapp/index.php?r=admin/default/index

 &#39;modules&#39;=>array(    
 &#39;gii&#39;=>array(    
  &#39;class&#39;=>&#39;system.gii.GiiModule&#39;,    
&#39;password&#39;=>&#39;你的密码&#39;,    
 ),    
 &#39;admin&#39;,    
),
Layout im Modul verwenden

uns Besuchen Sie index.php ?r=admin/default/index und Sie werden feststellen, dass das Modul die Datei /protected/views /layouts/main.php unter Ihrer Anwendung verwendet, und wir möchten möglicherweise /protected/modules/admin/views/layouts /main verwenden Die .php-Datei ermöglicht dem Admin-Modul eine unabhängige Layoutansicht. Wir können den folgenden Code hinzufügen in:

protectedmodulesadmincontrollersDefaultController.php.

public $layout='application.modules.admin.views.layouts.main';

Wir kopieren von /protected/views/layouts/main.php nach /protected/modules/ admin /views/layouts/ , leicht geändert, sodass das Modul eine unabhängige Layoutansicht hat.

Verwenden Sie Assets im Modul

Wenn Sie ein neues Modul hinzufügen, enthält es im Allgemeinen Bilddateien, CSS-Dateien, JavaScript-Dateien usw.

Module können direkt aus dem Hauptverzeichnis der Website referenziert werden. Wenn Sie jedoch ein Modul erstellen möchten, auf das überall verwiesen werden kann, und Namenskonflikte vermeiden möchten, müssen Sie Assets verwenden.

Der Prozess ist (der Modulname lautet hier admin):

1. Platzieren Sie die benötigten Ressourcen unter „modules/admin/assets“.

2. Yii::app()->assetManager kann dann automatisch private Ressourcen im öffentlichen Verzeichnis der Website „directory/assets“ veröffentlichen.

3. Yii erstellt automatisch eine zufällige Nicht-Ressource -conflicting-Ordner im Verzeichnis /assets, z. B. 2b31b42b, und kopieren Sie die Dateien in Ihr Verzeichnis „modules/admin/assets“.

Mein Modul ist beispielsweise Admin. Der Dateipfad wird durch den folgenden Code erhalten. Ändern Sie die Datei protectedmodulesadminAdminModule.php.

 class AdminModule extends CWebModule{    
 private$_assetsUrl;    
 $this->_assetsUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias(&#39;application.modules.admin.assets&#39;));    
 return$this->_assetsUrl;    
 }    
 public function setAssetsUrl($value){    
$this->_assetsUrl=$value;    
  }    
 }

然后,在 /protected/modules/admin/views/layouts/main.php 中使用 $this->module->assetsUrl 就可以调用你的css等文件了。模板文件的代码如下:

<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css" />

4,通过如上操作,该模块只要把admin目录拷贝,就可以多次复用了。

模块的配置,使用方法

在配置文件 /config/main.php 中:

配置文件中也可以及添加对模块中属性初始化的参数例如:

 &#39;modules&#39;=>array(&#39;admin&#39;=>array(&#39;web_url&#39;=>&#39;www.phpernote.com&#39;),

对应在 Controller 中的访问方式是:

Yii::app()->controller->module->web_url;

作为程序员,我们要知道,Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

希望本节内容能让大家在Yii框架上有更多的收获。

相关推荐:

简单介绍Yii2的使用场景

推荐10款安装Yii源码(收藏)

PHP的Yii框架中的属性Property

yii2框架的下载安装图文教程

Yii2利用表单进行文件上传的实例讲解

Das obige ist der detaillierte Inhalt vonEntwicklung des Yii-Framework-Framework-Moduls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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