私は PHP を使用しています。現在作成しているプロジェクトの関数のほとんどは関数にカプセル化されています。必要に応じて、関数を呼び出すためにパラメーターを要求してから渡すだけです。これが悪いかどうかはわかりません。それを実装するにはクラスを使用する必要がありますか?
例として、segmentfault Web サイトのホームページを取り上げます (ホームページにはいくつかの質問が表示されます)。(MVC を使用して) 記述してもらいたい場合は、まず質問を取得する getQuestion(parameter) 関数を具体的に作成します。 require関数内でホームページモデル(class)に追加し、パラメータを渡してこの関数を呼び出し、データを取得したらViewにレンダリングします。
「この関数をrequireしてから呼び出してデータを取得する」という書き方はよくないといつも思うのですが、どうやって書けばいいのかわかりません。アドバイスをいただければ幸いです。
其实都可以不妨碍,但是你要问一种最优解,标准方案的话,那么就使用
类
实现吧。可能你现在对很多概念还不理解,理解模糊,那么先按照被人推崇的做法做,等过一阵子在看。
面向对象的几个特性:封装、继承、多态,如果你的需求抽象出来有其中的特性,就应该考虑用oop。
你这问题就等于在问面向对象和面向过程哪个好,这个问题已经争论了很多年,如今也有人说面向函数,每个人都有自己喜欢的方式
我的见解是具体情况具体分析,面向对象易复用,易扩展,易维护,但是面向过程性能比面向对象高,如果项目中相同逻辑模块或者重复代码较多,推荐使用面向对象,如果项目结构不复杂而又追求性能,那么比较推荐面向过程。其实一个项目中这两种方式完全可以结合使用。看具体需求
http://m.blog.csdn.net/articl...
大型项目尽量使用类实现,而小型项目通过函数更加简便
需要重用的尽量通过类实现
通过类的好处是,代码写多了,模块化之后再写新项目会很轻松
真正的面向对象,必须要有:
有状态 (stateful)
用消息来通信 (message passing)
否则请考虑 函数式 或 过程式。
把 类 当作 命名空间 也是可以的,比如一个 类 里全是 静态方法。
但
require
本身就是 命名空间 的一种实现,所以不需要。可以看看这篇
面向对象与设计模式 /a/11...
毫无疑问,使用 OO 编程。
PHP项目发展到7这个版本,已经很OO了,没必要开历史的倒车啊。
追求性能? 别逗了,web应用的性能瓶颈一般不在这个地方。
你说的require这个问题,你用composer + namespace就可以了。
建议你学习一下symfony,laravel这样的框架代码,不要再闭门造车了。
设计模式是不限于实现方式的,只是一种思想,按照个人喜好即可。
我本人喜欢用一个静态类(类里面全部是静态方法)处理这种场景
怎么方便怎么来
看着自己的项目来吧,不要一个项目什么都用,统一跟着项目走。