php silex,PHP 框架的应用级对象问题 - Silex

58e8d81c4a0d115f2a9f9f245fa77d87.png

...

中型的,我推荐个symfony的精简版框架:silex,(如果逻辑运算复杂的话可以考虑用java,php只负责展示)。

在看到 Yii 框架的时候,还有 Discuz 的源程序,喜欢在初始化和 dispatch 之前 new 一个 application 对象,这个对象有什么用吗?或者说有什么好处吗?

一般不是初始化和配置之后,再路由分发到 Controller/Action 一级开始执行,为什么在这中间要多一层 application 对象呢?

PHP 执行完生命周期就结束了,不管是 require/include/autoload 到最后其实都相当于一个文件对吗?需要的全局参数我可以 define/$_SERVER/$_ENV,需要的全局方法我可以 public static function,那上面说的那个 application 对象究竟有什么用处呢?

回复内容:

在看到 Yii 框架的时候,还有 Discuz 的源程序,喜欢在初始化和 dispatch 之前 new 一个 application 对象,这个对象有什么用吗?或者说有什么好处吗?

一般不是初始化和配置之后,再路由分发到 Controller/Action 一级开始执行,为什么在这中间要多一层 application 对象呢?

PHP 执行完生命周期就结束了,不管是 require/include/autoload 到最后其实都相当于一个文件对吗?需要的全局参数我可以 define/$_SERVER/$_ENV,需要的全局方法我可以 public static function,那上面说的那个 application 对象究竟有什么用处呢?

这个APP对象用处可大了:

测试:一个应用就是一个app对象,所以单元测试的时候只要创建app对象-测试-销毁app对象这样就可以很简单地搞定测试前的setup和测试后teardown;并且可以通过继承app对象,利用多态来打桩,单元测试轻松搞定。

避免全局变量:全局变量是邪恶滴~ 消灭全局变量~ 但是有很多配置是全局的怎么办?都塞到这个app对象里吧

通过不同类型的app对象,可以轻松改变程序对外的接口 -- 拿Yii框架来说,搞个CWebApplication则就是正常的web应用,换个CConsoleApplication就摇身一变——成了一个控制台应用,好神奇地说~

还没想出来...

类似的app对象一般是作为服务容器存在的,例如symfony2和mini型的silex,都是相同的概念,把一些实例化的对象啊配置项啊什么的塞到这个app对象里,那么只要你能访问app对象,就可以拿到这些东西,这种方式我很喜欢。

有个抽象出来的专门作为依赖注入容器的轻便库叫pimple,有时间你可以了解下。

...

中型的,我推荐个symfony的精简版框架:silex,(如果逻辑运算复杂的话可以考虑用java,php只负责展示)。

...  官方网站:http://www.agavi.org/  20、Silex  Silex也是一款基于PHP5.3及其以上版本的微型PHP框架,Silex的API使用非常有意思,因为API足够简单明了,利用Pimple的服务,成为一款很棒的第三方扩...

...的事情

果断c/c++啊,不是标配吗?

Silex(Symfony2)的架构设计是受RoR影响的,从框架使用的角度并没有特别必要;如果你非得在Pythohn和Ruby之间选一个,我建议你选PHP。

坚决不要学 Python 和 Ruby,简直就是浪费时...

...

官方网站:http://www.agavi.org/

20、Silex

Silex也是一款基于PHP5.3及其以上版本的微型PHP框架,Silex的API使用非常有意思,因为API足够简单明了,利用Pimple的服务,成为一款很棒的第三方扩展应...

...work-standard-edition

$ ./app/console server:run

想测试Silex?

$ composer.phar create-project fabpot/silex-skeleton

$ cd silex-skeleton

$ php -S l

... 基本使用 中文文档 加载Silex Microframework 和Tesseract-OCR PHP两个库示例: 参考文档 Composer使用五个小技巧 Composer中文网 Mac下安

...也非常不错。官方网站:http://www.agavi.org/20、SilexSilex也是一款基于PHP5.3及其以上版本的微型PHP框架,Silex的API使用非常有意思,因为API足够简单明了,利用Pimple的服务,成为一款很棒的第三方扩展应用。官方...

...踪帧和数据,并能和任何框架整合(随时可用的集成端和Silex)。

2. PhpFastCache

phpFastCache 是一个开源的 PHP 缓存库,只提供一个简单的 PHP 文件,可方便集成到已有项目,支持多种缓存方法,包括:ap...

...-edition

$ ./app/console server:run

想测试 Silex?

$ composer.phar create-project fabpot/silex-skeleton

$ cd silex-skeleton

$ php -S localhost:

...、Symfony bundle、Kohana module、Wordpress plugin、CakePHP component、Silex package、Craft plugin featu等等。

在官网可以找到链接

还支持 JavaScript, Ruby, Python, Java

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值