ホームページ > バックエンド開発 > PHPチュートリアル > Yaf フレームワークのインストール ガイド

Yaf フレームワークのインストール ガイド

不言
リリース: 2023-03-25 18:28:02
オリジナル
11717 人が閲覧しました

この記事では、主に Yaf フレームワークのインストールガイドを紹介します。これを必要とする友人に参考にしてください。

PHP フレームワークといえば、多くの人の印象が PHP で実装されたものとして残っています。 MVC のさまざまな機能の組み合わせに基づいたコード パッケージ。 C 言語でも PHP フレームワークを作成でき、その速度は PHP で作成されたフレームワークよりも 10 倍以上速いことを知っている人はほとんどいません。

Yaf は C 言語で書かれた PHP フレームワークです。フレームワークを PHP 拡張機能として実行します。 MVC のコア機能であるルーティングと MVC のみが実装されています。 Yaf カーネルは合理化されており、十分に安定しているため、動作上の問題はほとんどありません。リスクは制御可能であり、パフォーマンスは優れています。もちろん単純なのでDBクローズやセッション展開などの操作は実装する必要があります。

PHP プログラマーとして、アジアナンバーワンのプログラマーであるブラザー・ニアオによって書かれたフレームワークについてはよく知っているはずですが、その利点は何でしょうか?

    C 言語で開発された PHP フレームワークは、ネイティブ PHP と比較して追加のパフォーマンスのオーバーヘッドがほとんどありません
  • すべてのフレームワーク クラスは、PHP の起動時にロードされ、メモリに常駐します。
  • メモリ回転サイクルの短縮、メモリ使用率の向上、メモリ占有の削減

  • クラス ライブラリの共有に便利な、スマートな自動読み込みルール。

    カスタムビューエンジン、プラグイン、カスタムルーティングなどをサポートする柔軟性と拡張性の高いフレームワーク
  • 現在一般的なさまざまなルーティングプロトコルと互換性のあるさまざまなルートを内蔵
  • 強力で柔軟性が高い。構成ファイルのサポート。また、複雑な構成構造によって引き起こされるパフォーマンスの損失を回避するために、構成ファイルのキャッシュをサポートします
  • フレームワーク自体で、実行速度が速くなり、メモリ使用量が減ります
  • 。フレームワークのインストール:
  • 1: フレームワークのインストール

  • Yaf 拡張ホームページ:
  • 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
    ログイン後にコピー
  • ヒント:
  • コンパイルコマンド実行時 /path/to/phpize 、コマンドの実行時に次のエラーが発生する可能性があります:
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.
ログイン後にコピー

解決策を探している場合は、https://blog.csdn .net/alen_xiaoxin/article/details/80255766 を参照してください。
拡張機能をコンパイルして生成した後、php.ini を変更し、php.ini ファイルの最後に次の設定を追加します:

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

extension = yaf.so
ログイン後にコピー

追加後、phpinfo に yaf 拡張機能があるかどうかを確認できます。

設定手順:

yaf.user_namespace は 1 で、名前空間モードを有効にします。 0オフ。

yaf.environ は、Yaf によって読み取られるデフォルトの環境設定です。


yaf.cache_config プロジェクト構成をキャッシュするかどうか。


yaf.name_suffix はサフィックスをオンにします。 1 以降は、クラス名が XxxModel.php、XxxController.php モードでロードされます。
  • yaf.lowcase_path パス情報のディレクトリ部分を小文字に変換します。
  • 2. 最初の Yaf プロジェクトを作成します
  • 作成するには 2 つの方法があります:

  • ディレクトリを手動で作成する
  • Yaf が提供するコマンドラインを使用してディレクトリを生成する

第二种方法可自行到: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__) . &#39;/../&#39;)); /* 指向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的错误日志,找出问题在哪里。

以上がYaf フレームワークのインストール ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート