Press "Enter" to skip to content

Yaf - A PHP Framework Extension

如我在2011PHP技术峰会上介绍的Ap, 它的开源版本Yaf 2.0终于发布了.
后续我会建立一个专门的site来做文档, 等相关支持工作.. 现在就是先行放出源代码和手册.
手册地址:http://yaf.laruence.com/manual
源代码地址:Yaf at Github
如果有公司或者企业用户使用, 可以咨询我相关部署开发规范细则..
另外, 作为开源项目, Yaf非常渴望有兴趣的同学一起参与开发. 贡献自己的代码. 当然, 因为打算做一个Yaf的Site, 也需要一些前端的同学, 参与进来.. 先谢谢大家的热情了.
谢谢

65 Comments

  1. 尜艾
    尜艾 June 13, 2016

    php7.1 包这个错误
    $ make && make install
    报错
    /bin/sh /software/php-yaf/libtool –mode=compile cc -I. -I/software/php-yaf -DPHP_ATOM_INC -I/software/php-yaf/include -I/software/php-yaf/main -I/software/php-yaf -I/usr/local/php7/include/php -I/usr/local/php7/include/php/main -I/usr/local/php7/include/php/TSRM -I/usr/local/php7/include/php/Zend -I/usr/local/php7/include/php/ext -I/usr/local/php7/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /software/php-yaf/views/yaf_view_simple.c -o views/yaf_view_simple.lo
    cc -I. -I/software/php-yaf -DPHP_ATOM_INC -I/software/php-yaf/include -I/software/php-yaf/main -I/software/php-yaf -I/usr/local/php7/include/php -I/usr/local/php7/include/php/main -I/usr/local/php7/include/php/TSRM -I/usr/local/php7/include/php/Zend -I/usr/local/php7/include/php/ext -I/usr/local/php7/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /software/php-yaf/views/yaf_view_simple.c -fPIC -DPIC -o views/.libs/yaf_view_simple.o
    /software/php-yaf/views/yaf_view_simple.c: In function ‘yaf_view_simple_extract’:
    /software/php-yaf/views/yaf_view_simple.c:110: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:110: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:129: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:129: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c: In function ‘yaf_view_simple_display’:
    /software/php-yaf/views/yaf_view_simple.c:260: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:261: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:268: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:281: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:291: error: ‘zend_executor_globals’ has no member named ‘scope’
    /software/php-yaf/views/yaf_view_simple.c:297: error: ‘zend_executor_globals’ has no member named ‘scope’
    make: *** [views/yaf_view_simple.lo] Error 1

  2. Emile
    Emile October 16, 2014

    Genuinely no matter if someone doesn’t understand then its up to other visitors that they will help, so
    here it occurs.

  3. wangjstu
    wangjstu September 5, 2014

    问题已经解决了:
    ······
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:227: error: ?.S_CONSTANT_ARRAY?.undeclared (first use in this function)
    make: *** [yaf_config.lo] Error 1
    make中报错,已经安装了pcre-devel
    解决方法:
    参考论坛:http://www.yafphp.com/thread-2652-1-1.html
    ———–
    顶,努力学习

  4. wangjstu
    wangjstu September 4, 2014

    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c -fPIC -DPIC -o .libs/yaf_config.o
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c: In function ?.af_config_zval_dtor?.
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:89: error: ?.S_CONSTANT_ARRAY?.undeclared (first use in this function)
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:89: error: (Each undeclared identifier is reported only once
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:89: error: for each function it appears in.)
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c: In function ?.af_config_ini_zval_persistent?.
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:189: error: ?.S_CONSTANT_ARRAY?.undeclared (first use in this function)
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c: In function ?.af_config_ini_zval_losable?.
    /home/wangjun/Downloads/yaf-2.2.9/yaf_config.c:227: error: ?.S_CONSTANT_ARRAY?.undeclared (first use in this function)
    make: *** [yaf_config.lo] Error 1
    make中报错,已经安装了pcre-devel

  5. 求chm版手册
    求chm版手册 July 21, 2013

    求yaf的chm版手册,这样不能上网也能查手册

  6. wander
    wander July 8, 2013

    Yaf和smarty3结合出现下面错误,要如何解决?
    Warning: Yaf_Loader::autoload(): Failed opening script D:\Apache2.2\htdocs\yaf/application\library\Smarty\Internal\TemplateCompilerBase.php: No such file or directory in D:\Apache2.2\htdocs\yaf\application\library\Smarty\sysplugins\smarty_internal_smartytemplatecompiler.php on line 23 Warning: Yaf_Loader::autoload(): Failed opening script D:\Apache2.2\htdocs\yaf/application\library\Smarty\Internal\Templatelexer.php: No such file or directory in D:\Apache2.2\htdocs\yaf\application\library\Smarty\sysplugins\smarty_internal_smartytemplatecompiler.php on line 95 Warning: Yaf_Loader::autoload(): Failed opening script D:\Apache2.2\htdocs\yaf/application\library\Smarty\Internal\Templateparser.php: No such file or directory in D:\Apache2.2\htdocs\yaf\application\library\Smarty\sysplugins\smarty_internal_smartytemplatecompiler.php on line 96 Warning: Yaf_Loader::autoload(): Failed opening script D:\Apache2.2\htdocs\yaf/application\library\Smarty\Internal\CompileBase.php: No such file or directory in D:\Apache2.2\htdocs\yaf\application\library\Smarty\sysplugins\smarty_internal_compile_foreach.php on line 18 Warning: Yaf_Loader::autoload(): Failed opening script D:\Apache2.2\htdocs\yaf/application\library\Smarty\Internal\Write\File.php: No such file or directory in D:\Apache2.2\htdocs\yaf\application\library\Smarty\sysplugins\smarty_internal_template.php on line 201

  7. 雪候鸟
    雪候鸟 March 7, 2013

    @web of course won’t, feel free to use them.

  8. web
    web March 7, 2013

    Hello just stumbled upon your blog from Google after I entered in,
    “Yaf-A PHP Framework Extension | 风雪之隅” or
    perhaps something similar (can’t quite remember exactly). Anyways, I’m pleased I found it simply because your subject material
    is exactly what I’m searching for (writing a college paper) and I hope you don’t mind if I collect some material from here and I will of course credit you as
    the reference. Many thanks.
    My homepage :: web

  9. lxh
    lxh November 12, 2012

    遇到个很奇怪的问题,我在windows下把程序都调整好了
    Version 2.1.18
    然后放到linux下 Version 2.2.7-dev,就出了个很诡异的问题。
    我用Action类继承Yaf_Controller_Abstract 然后控制器里面 IndexController extends Action,然后将一些初始化的函数 写在了Action里面,发现里面的函数会很奇怪的调用两次。
    这些函数都在Action类的 init()方法中调用,最开始以为是那些方法前缀是init造成的,去掉后依旧会调用两次。
    诺诺的问一句Yaf框架有专门的交流群么?求加入。QQ:330318747求指导

  10. hidoos
    hidoos September 1, 2012

    不懂php,但是可以做为前端参与进来吗?

  11. chickenzzz
    chickenzzz June 27, 2012

    我来为手册做些小更正:
    1)http://yaf.laruence.com/manual/yaf.incli.times.html这页
    <?php
    $request = new Yaf_Request_Simple();
    print_r($requst);
    print_r($requst);应改为 print_r($request);
    2)同上一页的例9.3
    $ php request.php "request_uir=/index/hello"
    后面的参数应该为 "request_uri=/index/hello"
    3)http://yaf.laruence.com/manual/tutorial.firstpage.html#tutorial.rewrite
    关于nginx的配置,原来的是
    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;
    }
    }
    这个除了index controller运行得很好,其它都报500 Internal Server Error
    改为下面的,问题解决
    if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
    break;
    }
    花了大半天的时间来调错,真是悲剧的日子。还得提一下,YAF_Loader::autoLoad()找不到script不要报warnning了吧……和smarty3结合的结果也是悲剧一个。

  12. zwp
    zwp May 22, 2012

    怎么配置多模块?
    比如我要加个admin模块
    你的目录机构应该是
    modules
    —admin
    —-controller
    —-views
    ???是这样吗?
    里面的controller要怎么命名?
    .ini要不要配置什么的??试不出来。

  13. zwp
    zwp May 22, 2012

    就这样算完事了?
    有打算封装DB抽象类吗?

  14. Lee
    Lee March 18, 2012

    最近看了一下YAF打算使用它来做一个企业级的站点,请问高手yaf现在是否成熟。。。
    发现文档还是不够详细。。如果能达到像CI框架的文档,那非常棒了。
    再请教laruence一个问题, 比如yaf通过Bootstrap.php加载Samrty后,是不是每次使用Smarty都要在控制器方法中 new Smarty ,然后在在设置数据,还有就是如果加载了数据库操作类,是不是也和Smarty一样都要在每个model中实例化。。还是可以有其他的方法。。?

  15. Jacky
    Jacky March 16, 2012

    你好,
    我想问下,你的框架是否已经有人开发好的框架了,有没有支持站。
    另外,有没有PDO的数据库操作支持。

  16. libj
    libj March 1, 2012

    如果需要做YAF的site,我这个菜鸟能不能参与,又该怎么联系您

  17. qianjin
    qianjin December 26, 2011

    一直在纠结框架中,自己也曾写了几个框架。看到这个,让我恍然大悟。我将持续关注

  18. aureole
    aureole November 21, 2011

    因为打算做一个Yaf的Site, 也需要一些前端的同学
    一直做PHP前端。在想深入了解PHP中了解到了laruence,谢谢

  19. Andy Jackson
    Andy Jackson November 4, 2011

    迷途之中了解到你,高兴之极…

  20. poprains
    poprains September 17, 2011

    回复:Me.strone
    我在centos 5.6 x64下编译也出现了和楼下一样的错误
    In file included from /root/yaf-2.1.2/yaf_router.c:28:
    /usr/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
    In file included from /root/yaf-2.1.2/yaf_router.c:28:
    /usr/include/php/ext/pcre/php_pcre.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    /usr/include/php/ext/pcre/php_pcre.h:46: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    /usr/include/php/ext/pcre/php_pcre.h:52: error: expected specifier-qualifier-list before ‘pcre’
    make: *** [yaf_router.lo] 错误 1
    确保你安装了pcre-devel centos下是这样,安装后即可解决
    yum install pcre-devel

  21. 雪候鸟
    雪候鸟 September 12, 2011

    @Me.strone 没有其他的错误信息么? 你可以尝试先make clean, 然后再make.

  22. Me.strone
    Me.strone September 12, 2011

    ubuntu下编辑安装yaf的时候出现这么一种错误:make: *** [yaf_router.lo] 错误 1,求解决方案。

  23. unity
    unity August 18, 2011

    请问Yaf的site做得怎样了?我希望参与,需要做点什么呢?

  24. 大V
    大V August 11, 2011

    您好。近期在学用yaf,看文档,但未发现有对数据库MYSQL操作的说明,请问能给一份样例么?
    盼回,谢谢。

  25. 雪候鸟
    雪候鸟 July 3, 2011

    @james tang, 你主动调用display和系统默认render是互相独立的, 如果你需要只是渲染你自己的模板, 那需要Ap_Dispatcher::getInstance()->autoRender(FALSE)关闭系统默认的render

  26. James Tang
    James Tang July 3, 2011

    请问Model怎么写?
    谢谢

  27. James Tang
    James Tang July 3, 2011

    请问为什么在的helloController的userAction里面调用了$this->getView()->display(‘hello/user_account.phtml’),Yaf还试图去找默认的模板(’hello/user.phtml’)?
    谢谢

  28. James Tang
    James Tang July 3, 2011

    正在学习Yaf,发现文档还不是很完善。不过感觉很好用,希望在以后的项目中使用Yaf,非常感谢!

  29. 雪候鸟
    雪候鸟 June 1, 2011

    @Liam Hi, 非常感谢反馈, 根据你提供的信息, 我尝试着修改了所有的头文件中的申明, 但因为我没有Mac环境, 所以没有验证, 你可以从svn拉下来再试一下.

  30. Liam
    Liam June 1, 2011

    make的时候出现:
    .libs/yaf_bootstrap.o .libs/yaf_dispatcher.o .libs/yaf_exception.o .libs/yaf_config.o .libs/yaf_request.o .libs/yaf_response.o .libs/yaf_view.o .libs/yaf_controller.o .libs/yaf_action.o .libs/yaf_router.o .libs/yaf_loader.o .libs/yaf_registry.o .libs/yaf_plugin.o .libs/yaf_session.o
    ld: duplicate symbol _yaf_application_ce in .libs/yaf_application.o and .libs/yaf.o
    collect2: ld returned 1 exit status
    make: *** [yaf.la] Error 1
    这个是什么问题?

  31. […] 那就是这个优化建议所追求的效果了 比如, 我在Yaf中, 为视图引擎定义了魔术方法__set, 于是就有些朋友这么来用: […]

  32. johnpupu
    johnpupu May 29, 2011

    FreeBSD ports 裡面已經有了…

  33. ryan
    ryan May 27, 2011

    文档用什么工具打开? 有一个xml文件

  34. myts001
    myts001 May 26, 2011

    文档写的很好,和PHP官方文档格式,风格很像,想知道文档是用什么工具编写的?

  35. 雪候鸟
    雪候鸟 May 25, 2011

    @酒逍遥 呵呵, 是啊, 用搜狗拼音输入法. 🙂

  36. 酒逍遥
    酒逍遥 May 24, 2011

    文档写的很清楚 就是错别字有点多哈
    框架目前看来主要是 项目部署 以及 路由 调度上面的
    模板引擎 用的原生 php脚本
    数据库 应该是通过 api去后端 c写的服务去取 所以框架里也没有涉及到
    虽然框架性能上确实是提升很大 但是 适用性上可能有一定局限性呢

  37. locke
    locke May 19, 2011

    建议有个地方配置站点上的session失效问题, 比如一个服务器上有两个站点, 我可以通过某中方式实现站点a会话失效期为30分钟, 站点b会话失效期为1小时

  38. toms
    toms May 16, 2011

    坚决支持之——————–

  39. signdbg
    signdbg May 16, 2011

    不好意思, 看了一下文档,原来不支持了.

  40. signdbg
    signdbg May 16, 2011

    恭喜了大侠:
    但是怎么用vs6.0来编译?

  41. 小桑
    小桑 May 13, 2011

    求windows5.3版扩展。。。

  42. johnpupu
    johnpupu May 13, 2011

    phpinfo() 裡面的訊息還是1.0.0
    1.0.0 $Id: php_yaf.h 1877 2011-05-05 06:16:10Z huixinchen $

  43. adam.lu
    adam.lu May 13, 2011

    http://yaf.laruence.com/manual/yaf.bench.html
    中的测试结果中(例1.4)有处笔误。
    原文:例 1.4. 请求1000次, 原生的PHP
    应为:例 1.4. 请求100次, 原生的PHP
    :-).
    请问,这个框架到目前为止有没有在正式项目中使用过?

  44. 雪候鸟
    雪候鸟 May 13, 2011

    @小桑 恩,恩, 唉, 因为准备的匆忙, 很多下纰漏, 我慢慢一点一点改.. 多谢,多谢

  45. 小桑
    小桑 May 13, 2011

    例 11.54. Yaf_Controller_Abstract::display 的例子
    public funciton init() {
    /* 首先关闭自动渲染 */
    Yaf_Dispatcher::getInstance()->disableView();
    }
    funciton –> function 额。。还发现很多类似的小错误。。嘻嘻。

  46. smices
    smices May 13, 2011

    要强烈的顶一下.
    不知道没有加入VC9 NTS . 先顶了再说.

  47. johnpupu
    johnpupu May 13, 2011

    千呼萬喚始出來
    賀!!!!!

  48. 木头月亮
    木头月亮 May 13, 2011

    恭喜恭喜!另问2011PHP技术峰会上介绍的odp是做什么用的呢?或者原理是什么呢?

  49. Ray
    Ray May 13, 2011

    哈哈 占位 回头学习一下 都是大东西啊

  50. 王道中强流
    王道中强流 May 13, 2011

    哇靠 太牛X了,佩服得五体投地
    我也在写一个PHP框架,叫TMDPHP

  51. Jay
    Jay May 12, 2011

    帮顶了!

  52. yufeng
    yufeng May 12, 2011

    前排占位。。。。哈哈。

  53. ryan
    ryan May 12, 2011

    等了很久了~~

  54. 阳光
    阳光 May 12, 2011

    这个要顶下,顺便帮鸟哥宣传下。

Comments are closed.