php中yaf框架如何使用?

舞夢輝影
发布: 2025-12-04 19:37:06
原创
672人浏览过
Yaf 是用 C 编写的高性能 PHP 框架,需启用扩展、规范目录结构、配置 application.ini 并通过 index.php 启动;核心步骤包括安装 yaf.so/.dll、严格遵循大小写敏感的目录/文件命名约定、编写 Bootstrap 和控制器、配置并运行首个 Hello World。

php中yaf框架如何使用?

Yaf 是一个用 C 语言编写的高性能 PHP 框架,以扩展形式存在,不依赖 Composer(但可配合使用),核心是轻量、快速、常驻内存。它不是“安装一个包”就完事,而是要启用 PHP 扩展 + 正确组织目录 + 配置驱动。下面说清楚怎么真正用起来。

装好 Yaf 扩展是前提

没这步,其他全白搭。PHP 必须加载 yaf.so(Linux/macOS)或 php_yaf.dll(Windows):

  • pecl install yaf 最省事(推荐 PHP 7.0+)
  • Windows 用户需根据 phpinfo() 显示的 “Thread Safety” 选 TS/NTS 版本,手动复制 DLL 并在 php.ini 加 extension=php_yaf.dll
  • Linux 编译安装要确保有 phpize、gcc、pcre-devel(否则报错 pcre.h 找不到)
  • 装完别忘了在 php.ini 加上:extension=yaf.so 和可选配置如 yaf.environ=product
  • 重启 Web 服务(Apache/Nginx)或 PHP-FPM,用 phpinfo() 确认 yaf 模块已出现

搭出标准目录结构

Yaf 对目录名和文件名大小写、位置有硬性约定,错一个就自动加载失败:

  • public/:Web 可访问根目录,放 index.php(唯一入口)和 .htaccess(Apache)或 nginx 重写规则
  • conf/application.ini:主配置文件,必须存在,INI 格式,定义环境、路径、数据库等
  • application/:核心代码目录,含:
    • Bootstrap.php:继承 Yaf_Bootstrap_Abstract,做初始化(如注册插件、设置默认视图路径)
    • controllers/Index.php:控制器,类名必须为 IndexController,方法名必须带 Action 后缀(如 indexAction
    • views/index/index.phtml:对应 IndexController::indexAction 的视图,路径名与控制器/动作名严格匹配
    • models/(可选):放数据操作类,Yaf 不强制 ORM,通常自己用 PDO 封装

写好入口和配置文件

public/index.php 是整个应用的起点,不能写业务逻辑,只负责启动:

立即学习PHP免费学习笔记(深入)”;

MixPHP3.0.27
MixPHP3.0.27

MixPHP 是一个 PHP 命令行模式开发框架;基于 Vega 驱动的 HTTP 可以同时支持 Swoole、WorkerMan、FPM、CLI-Server 生态,并且可以无缝切换;V3 是一个高度解耦的版本,整体代码基于多个独立的模块构建,即便用户不使用我们的脚手架,也可以使用这些独立模块,并且全部模块都支持原生开发。例如:你可以只使用 mix/vega 来搭配 laravel orm 使用

MixPHP3.0.27 12
查看详情 MixPHP3.0.27
  • 定义 APP_PATH(指向 application 目录上级)
  • 实例化 Yaf_Application,传入 application.ini 路径
  • 调用 ->bootstrap()->run(),顺序不能反

conf/application.ini 示例(production 环境):

[production]
yaf.environ = "production"
yaf.app.directory = APPLICATION_PATH "/application"
yaf.dispatcher.throwException = 1
yaf.dispatcher.catchException = 1

; 数据库示例(Yaf 本身不提供 DB 类,需自己集成)
database.adapter = "Pdo_Mysql"
database.params.host = "localhost"
database.params.username = "root"
database.params.password = "123456"
database.params.dbname = "test"
database.params.charset = "utf8"
登录后复制

跑通第一个 Hello World

别急着连库,先验证框架走通:

  • controllers/Index.php 中写:echo "Hello, Yaf!"; 在 indexAction 里
  • 确保 public/.htaccess 或 Nginx 重写把所有请求转给 index.php
  • 访问 http://yourdomain.com/(或 localhost:8080),看到输出即成功
  • 再升级:在 indexAction 里用 $this->getView()->assign("msg", "Hi"),视图里写 msg; ?>

基本上就这些。不复杂但容易忽略大小写、路径拼写、扩展未启用——卡住时优先查这三项。

以上就是php中yaf框架如何使用?的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号