php里有函数,但感觉它缺少个叫过程的东东。函数有时候用起来不方便,特别是变量多的时候可以插入主程序的有include和eval,5.3以后有goto但都不理想,无法封装一连串的动作。就是所谓程序块

解决方案 »

  1.   

    这句我没看懂,难道楼主认为“过程”在“特别是变量多的时候”用起来比“函数”方便?
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]
      

  2.   

    procedure与function本质上是没有区别的,函数只不过在返回时放入一个特定的寄存器中
      

  3.   

    我所说的过程不是原本意义的过程,表达成程序块比较贴切。
    函数是靠传值和返回值来封装一连串的动作的我需要的功能大体如下:while { 
    N行程序
     }在主程序其他地方我想执行一次或几次非循环的“N行程序”,除了复制,没别的办法。
    而我的这一连串的操作可能涉及很多个变量的改变,如果用函数,要么定义global,要么传参数,期间的效率也不高
    include可以把另外一段程序引入主程序,但不是我想要的,因为涉及多个文件,如果 include类似,不是包含文件而是包含一段程序,倒正是我想要的。虽然goto已经可实用了,但写行号,并不方便。
      

  4.   

    把N行程序定义一个名称当调用这个名字的时候,如果它处在主程序,则自动全局变量,直接改动变量或别的操作,不通过返回值;如果它处在函数里,则自动全局函数里的变量。其实完全类似include,只不过不想include文件,而且引入定义好的一段程序。明白了否?
      

  5.   

    看到最后才看懂你想要的功能,其实写成函数有什么问题吗,这本来就应该写成一个功能模块,至于你说的函数变量多,则完全可以通过对象的方式来解决,然后在函数里面进行对象属性检测的时候,进行相对应的限制就行了.
    至于说你现在想不用函数也不用include,就做到复用代码的目的,起码我是没听说过.
      

  6.   

    eval可以实现,但感觉效率不高,书写麻烦
      

  7.   

    楼主好像是JavaScript的牛人?这个名字好熟悉
    JavaScript的function 中就不用声明全局变量。不过话说回来,楼主研究这个就有点太钻就脚尖了。每一种语言的特点是你无力去改变的,了解他使用它就可以了
      

  8.   

    貌似无解了,没找到向php开发组提交新特性的地方。目前的解决方案就是用函数,global一串全局变量,忽略参数和返回值本帖讨论结束
      

  9.   

    过程与函数不就是一样嘛?return了,不接收一样的。
    就在return 这个而己。想共享多个变量,class就可以做到。
      

  10.   

    Gooooooooooooooooooooooooooooooooooooooooooooooood
      

  11.   

    晕死,php的函数就相当于VB的函数和过程的结合体!怎么叫没有,晕...
      

  12.   

    估计楼主还没完全搞懂php与面向对象的关系
      

  13.   

    早就说过php目前的一次性运行方式不适合面向对象即使全面向对象,也不是频繁的调用属性,也是通过参数调用的多