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?
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
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.
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
第二种方法可自行到: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>
入口文件是所有请求的入口, 一般都借助于rewrite规则, 把所有的请求都重定向到这个入口文件。
一个经典的入口文件piublic/index.php:
<?php define("APP_PATH", realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */ $app = new Yaf_Application(APP_PATH . "/conf/application.ini"); $app->run();
Apache的Rewrite (httpd.conf):
#.htaccess, 当然也可以写在httpd.conf RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php
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; } }
在Yaf中, 配置文件支持继承, 支持分节. 并对PHP的常量进行支持. 你不用担心配置文件太大造成解析性能问题, 因为Yaf会在第一个运行的时候载入配置文件, 把格式化后的内容保持在内存中. 直到配置文件有了修改, 才会再次载入。
一个简单的配置文件application/application.ini:
[product] ;支持直接写PHP中的已定义常量 application.directory=APP_PATH "/application/"
在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"); } } ?>
Yaf支持简单的视图引擎, 并且支持用户自定义自己的视图引擎, 比如Smarty。
对于默认模块, 视图文件的路径是在application目录下的views目录中以小写的action名的目录中。
一个默认Action的视图application/views/index/index.phtml
<html> <head> <title>Hello World</title> </head> <body> <?php echo $content;?> </body> </html>
在浏览器输入你服务器配置的域名即可:
http://www.yourhostname.com/application/index.php
我是在本地配置的直接把端口指向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!