目前在做一款网页产品,只有一个页面,其它模块都是从ajax请求的字符串中生成,现在的每一个模块都独立为一个js文件,但理论上又可以把所有js文件集中在一个超大的php文件里,目前我还只是有这么个想法,还没去集合在一起,所以我想先问一下,这个超大的PHP文件(几M),在每求ajax的请求时会不会出现效率问题,还是说这个php文件本身会自己缓存起来?

解决方案 »

  1.   

    使用的post 请求 。我试过最大300m文件的传输, 在大的没试过
      

  2.   

    我这个不是单单请求下载,因为你下载可以等,我这个不能等,而且只有一个页面,会有很多繁杂的操作,需要数据即时反馈,其实我现在把模块分拆成js文件没什么问题,但是还是想先了解一下请求一个超大的PHP文件会出现什么状况,刚刚有这想法,回头再去测试
      

  3.   

    extjs又是主要应用于后端的管理,我这个是前端的产品,比较繁杂
      

  4.   

    不太明白楼主的需求..是要把js集中到一个php文件管理? 那前台请求它做什么?是有一个超大php要下载?是有一个超大的php需要后台解释执行并返回?
      

  5.   

    说每个JS文件是一个模块,其实就只是一段能生成JS代码的字符串,但既只是字符串,所以在想是否可以集中起来放在php文件里,每次ajax的请求就只是访问php文件然后返回一段对应的字符串.现在的问题是如果这个php文件越来越大,在访问上会不会有什么问题?
    to:lgg201
     应该就是你说的"是有一个超大的php需要后台解释执行并返回?"
      

  6.   

    这个需要看你的超大php文件自身结构是否复杂...因为php是解释型语言, 都是在运行时再去定义类, 变量, 方法的...所以, 对于结构复杂, 内容量很大的文件而言, 肯定是要慢挺多的....
    php有几种代码加速工具: apc, eaccelerator, xcache, 按照网上的对比分析, 三者其实没有太大差异, 通常都能达到3倍左右的提速...
    这种缓存加速工具对楼主所说的超大php文件是有好处的, 但不能完全解决问题, 因为它们缓存的是操作码, 而程序运行时, 该创建的东西还是要创建的...因此, cpu还是要转的...建议是实际情况允许的话, 把超大给拆了.....因为其实php应用应该不会大到一个业务下来就需要一个可以称为超大的源代码来处理
      

  7.   

    按照你说的这种情况, 其实, 你就是要一个php来动态生成js脚本.那你肯定是有参数来控制的...那你这个超大php可以作为一个入口...把那些真正生成js的内容, 按照一定方式(这个得看你们具体情况)分类, 写到多个文件中然后, 这个入口php是一个小文件, 根据参数条件引用(require)需要的文件...这样, 把业务隔离开来, 降低不需要的消耗(在同一个文件, php要解释, 就有消耗)
      

  8.   

    哈哈非常感谢lgg201的分析,其实我这想法只是基于代码安全的考虑,但事实谁都知道也安全不到哪去,那我还是分解成js文件吧,之前也有考虑过一开始就加载所有文件,但这个想法很不成熟,现在都是在关闭模块时就销毁js对象,但感觉也一般般,只是心理舒服一些