Heim > Backend-Entwicklung > PHP-Tutorial > Installationsanleitung für das Yaf-Framework

Installationsanleitung für das Yaf-Framework

不言
Freigeben: 2023-03-25 18:28:02
Original
11710 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Installationsanleitung für das Yaf-Framework vorgestellt, die jetzt mit allen geteilt werden kann. Freunde in Not können sich darauf beziehen.

Apropos PHP-Framework Der Eindruck bleibt auf einem Codepaket, das auf den verschiedenen von PHP implementierten Funktionskombinationen von MVC basiert. Nur sehr wenige Menschen wissen, dass die C-Sprache auch PHP-Frameworks schreiben kann, und die Geschwindigkeit ist mehr als zehnmal schneller als bei in PHP geschriebenen Frameworks.

Yaf ist ein PHP-Framework, das in der Sprache C geschrieben ist. Es führt das Framework als PHP-Erweiterung aus. Es werden nur die Kernfunktionen von MVC implementiert: Routing und MVC. Der Yaf-Kernel ist rationalisiert und stabil genug, sodass es nahezu keine Betriebsprobleme gibt. Die Risiken sind kontrollierbar und die Leistung ist ausgezeichnet. Da es einfach ist, müssen Sie natürlich Vorgänge wie DB-Schließung und Sitzungserweiterung implementieren.

Als PHP-Programmierer sollte ich mit dem Framework vertraut sein, das von Asiens Programmierer Nummer eins geschrieben wurde: Bruder Niao. Was sind also seine Vorteile?

  • Das in C-Sprache entwickelte PHP-Framework bringt im Vergleich zu nativem PHP fast keinen zusätzlichen Leistungsaufwand mit sich.

  • Alle Frameworks Klassen müssen nicht kompiliert werden. Sie werden beim Start von PHP geladen und befinden sich im Speicher.

  • Kürzerer Speicherumschlagszyklus, verbesserte Speichernutzung und reduzierte Speicherauslastung.

  • Intelligentes automatisches Laden. Unterstützt globale und lokale Laderegeln, um die gemeinsame Nutzung von Klassenbibliotheken zu erleichtern.

  • Hochleistungs-Ansichts-Engine.

  • Ein äußerst flexibles und erweiterbares Framework, das benutzerdefinierte Ansichts-Engines, Plug-Ins, benutzerdefiniertes Routing usw. unterstützt.

  • Erstellen Sie eine Vielzahl von Routen, die mit verschiedenen gängigen Routings kompatibel sind Protokolle.

  • Leistungsstarke und hochflexible Konfigurationsdateiunterstützung, um komplexe Konfigurationsstrukturen zu vermeiden.

  • In Das Framework selbst, gefährliche Bediengewohnheiten sind verboten.

  • Schnellere Ausführungsgeschwindigkeit, weniger Speicherverbrauch.

Framework-Installation:

1: Framework-Installation

Yaf-Erweiterungs-Homepage:http://pecl php.net/package/yaf

$ wget http://pecl.php.net/get/yaf-3.0.7.tgz
$ tar -zxvf yaf-3.0.7.tgz
$ cd yaf-3.0.7
$ /path/to/phpize
$./configure --with-php-config=/path/to/php-config
$ make && make test && make install
Nach dem Login kopieren

Tipp:

Beim Ausführen des Kompilierungsbefehls /path/to/phpize kann beim Ausführen des Befehls der folgende Fehler auftreten:

Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Nach dem Login kopieren

Bitte Weitere Informationen finden Sie unter: https://blog.csdn.net/alen_xiaoxin/article/details/80255766.

Ändern Sie nach dem Kompilieren und Generieren der Erweiterung php.ini und fügen Sie die folgende Konfiguration am Ende der php.ini-Datei hinzu:

[yaf]
yaf.use_namespace = 0
yaf.environ = 'product'
yaf.cache_config = 0
yaf.name_suffix = 1
yaf.lowcase_path = 1

extension = yaf.so
Nach dem Login kopieren

Nach dem Hinzufügen können Sie überprüfen, ob Es gibt eine YAF-Erweiterung in PHPInfo.


Konfigurationsanweisungen:


  • yaf.user_namespace ist 1, um den Namespace-Modus zu aktivieren. 0 aus.

  • yaf.environ ist die von Yaf standardmäßig gelesene Umgebungskonfiguration.

  • yaf.cache_config Ob die Projektkonfiguration zwischengespeichert werden soll.

  • yaf.name_suffix aktiviert das Suffix. Nachdem es 1 ist, wird der Klassenname im XxxModel.php- und XxxController.php-Modus geladen.

  • yaf.lowcase_path Der Verzeichnisteil in den Pfadinformationen wird in Kleinbuchstaben umgewandelt.

2. Erstellen Sie das erste Yaf-Projekt

Es gibt zwei Möglichkeiten, es zu erstellen:


  1. Erstellen Sie das Verzeichnis manuell

  2. Verwenden Sie die von Yaf bereitgestellte Befehlszeile, um das Verzeichnis zu generieren

第二种方法可自行到:https://github.com/laruence/php-yaf,下载源码,因为 Yaf 提供的命令工具没有随 Yaf 源码一起,在该项目下面有一个tools文件夹,里面就是命令行工具。

一个典型的目录结构:

<p style="margin-bottom: 7px;">+ public<br/>  |- index.php //入口文件<br/>  |- .htaccess //重写规则    <br/>  |+ css<br/>  |+ img<br/>  |+ js<br/>+ conf<br/>  |- application.ini //配置文件   <br/>+ application<br/>  |+ controllers<br/>     |- Index.php //默认控制器<br/>  |+ views    <br/>     |+ index   //控制器<br/>        |- index.phtml //默认视图<br/>  |+ modules //其他模块<br/>  |+ library //本地类库<br/>  |+ models  //model目录<br/>  |+ plugins //插件目录<br/></p>
Nach dem Login kopieren

入口文件:

入口文件是所有请求的入口, 一般都借助于rewrite规则, 把所有的请求都重定向到这个入口文件。

一个经典的入口文件piublic/index.php:

<?php
define("APP_PATH",  realpath(dirname(__FILE__) . &#39;/../&#39;)); /* 指向public的上一级 */
$app  = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app->run();
Nach dem Login kopieren

重写规则:

Apache的Rewrite (httpd.conf):

#.htaccess, 当然也可以写在httpd.conf
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
Nach dem Login kopieren

Nginx的Rewrite (nginx.conf):

server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}
Nach dem Login kopieren

配置文件:

在Yaf中, 配置文件支持继承, 支持分节. 并对PHP的常量进行支持. 你不用担心配置文件太大造成解析性能问题, 因为Yaf会在第一个运行的时候载入配置文件, 把格式化后的内容保持在内存中. 直到配置文件有了修改, 才会再次载入。

一个简单的配置文件application/application.ini:

[product]
;支持直接写PHP中的已定义常量
application.directory=APP_PATH "/application/"
Nach dem Login kopieren

控制器:

在Yaf中, 默认的模块/控制器/动作, 都是以Index命名的, 当然,这是可通过配置文件修改的.

对于默认模块, 控制器的目录是在application目录下的controllers目录下, Action的命名规则是"名字+Action"

默认控制器application/controllers/Index.php

<?php
class IndexController extends Yaf_Controller_Abstract {
   public function indexAction() {//默认Action
       $this->getView()->assign("content", "Hello World");
   }
}
?>
Nach dem Login kopieren

视图文件:

Yaf支持简单的视图引擎, 并且支持用户自定义自己的视图引擎, 比如Smarty。

对于默认模块, 视图文件的路径是在application目录下的views目录中以小写的action名的目录中。

一个默认Action的视图application/views/index/index.phtml

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
  <?php echo $content;?>
 </body>
</html>
Nach dem Login kopieren

运行:

在浏览器输入你服务器配置的域名即可:

http://www.yourhostname.com/application/index.php
Nach dem Login kopieren

我是在本地配置的直接把端口指向public目录,所以直接输入:localhost:8081,即可看到

注意:

如果看不到Hello world,那么请到服务器查看PHP的错误日志,找出问题在哪里。

Das obige ist der detaillierte Inhalt vonInstallationsanleitung für das Yaf-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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