刚接触speedphp,请教几个问题。

#1 wind

看了一遍手册,还有几个问题不大明白,烦请管理员解答一下。

1、小网站如何部署前/后台结构?手册上只有一个大规模应用的结构部署,那么小型的有没有部署例子?

2、speedy的介绍很少,如在视图里如何包含文件也没写,是用PHP原生的include吗?还是在控制文件里放入多个$this->display("abc.htm");?

3、按需载入能提高效率,可为何Core下的文件多是几个class集合在一起呢?如spView.php里的spHtml,这个类功能并不是必要的,可否把它取出来放在扩展里呢?还有spModel.php spPager、spVerifier,觉得这些放在扩展里按需载入合理些。

4、手册上的权限控制spacl例子似乎只有动作的而没有用户和角色的?这个spacl可否用于后台上的多用户和多权限应用?

5、在speedphp里,session和cookie都没有封装,是不是都按原生php的方法操作就行了?

6、URLRewrite能不能二种方式集合在一块用呢?
如原来这样的:speedphp.com/index.php?c=cms&a=article&by=time&tid=213
可否改成这样:speedphp.com/cms/article/?by=time&tid=213

有劳了!

2012-04-18 11:52:08

#2 jake

1、小网站如何部署前/后台结构?手册上只有一个大规模应用的结构部署,那么小型的有没有部署例子?

小网站可以是一堆控制器是前台,一堆控制器是后台,不做严格区分,做好权限控制就行。(权限控制参考手册)。

2、speedy的介绍很少,如在视图里如何包含文件也没写,是用PHP原生的include吗?还是在控制文件里放入多个$this->display("abc.htm");?

speedy的教程 http://www.speedphp.com/view-speedy.html  模板包含模板,就是include即可。都是PHP语法,很简单所以不多作介绍。

3、按需载入能提高效率,可为何Core下的文件多是几个class集合在一起呢?如spView.php里的spHtml,这个类功能并不是必要的,可否把它取出来放在扩展里呢?还有spModel.php spPager、spVerifier,觉得这些放在扩展里按需载入合理些。

按需载入有两种,一个是文件载入,一个是实例化占用内存。sp开头的那些类,基本都是常用的(按整个开发过程使用的次数计算),所以做了文件载入,一般而言不会占用什么的资源 —— 相比载入文件后再实例化的。

当然,spHtml有些特殊,因为当初speedphp是最早提供通用静态HTML生成的框架,所以spHtml作为一个特色功能被放在核心包里面,这点后面会分离出来,不过资源占用不会有问题。

4、手册上的权限控制spacl例子似乎只有动作的而没有用户和角色的?这个spacl可否用于后台上的多用户和多权限应用?

权限控制这个http://www.speedphp.com/interaction-acl.html,如果仔细看,就会知道,教程一直都在说角色。“任意访问者”、“GBUSER”、“GBADMIN”这几个都是用户组,或者称为角色。而角色和用户的对应,权限控制里面没有特别地做,因为一般角色和用户的关系是一对一,或者多对多,所以可以直接用数据库操作的关联来做。

5、在speedphp里,session和cookie都没有封装,是不是都按原生php的方法操作就行了?

对,封装那两个东西,根本没必要。

6、URLRewrite能不能二种方式集合在一块用呢?
如原来这样的:speedphp.com/index.php?c=cms&a=article&by=time&tid=213
可否改成这样:speedphp.com/cms/article/?by=time&tid=213

可以的,请看手册关于rewrite的配置 http://www.speedphp.com/interaction-diy-rewrite.html 文章的后面有说到兼容?地址的事情。

补充:仔细看手册吧!

2012-04-18 12:59:56

#3 wind

谢谢! 我有细看手册,只是限于本机没环境没法测试,只好先将疑问提一下,回去再一一测试。

再问下:
.在这个版本内,倘若我自行将集合的类spHtml取出来会不会影响到其它文件?
.控制器里可否使用目录?如:controller/admin/abc.php 这样的结构?

2012-04-18 14:03:52

#4 jake

在这个版本内,倘若我自行将集合的类spHtml取出来会不会影响到其它文件?

不会

控制器里可否使用目录?如:controller/admin/abc.php 这样的结构?

不可以,控制器就是一层的目录。

在开发版里面,增加了modules的功能,不过一般就一层控制器已经可以支持小到中型应用了。

2012-04-18 14:10:37

#5 wind


前后台文件放在一起还是不大好,期待新版本的modules功能。

2012-04-18 15:31:22

#6 jake

wind 发表于 2012-4-18 15:31
前后台文件放在一起还是不大好,期待新版本的modules功能。
那只是大型应用才会用到的,一般应用很少用到。
只要权限控制做好了,安全是有保障的。


像我们官网就是放一起的。

2012-04-18 16:52:08