Heim > Fragen und Antworten > Hauptteil
Ich verwende PHP. Die meisten Funktionen in den Projekten, die ich jetzt schreibe, sind in Funktionen gekapselt, und ich weiß nicht, ob dies möglich ist ? Müssen wir noch Klassen verwenden, um es zu implementieren?
Nehmen Sie die Homepage der Segmentfault-Website als Beispiel (die Homepage zeigt einige Fragen an). Wenn ich sie schreiben würde (mit MVC), würde ich zuerst eine Funktion getQuestion(parameter) schreiben, die speziell Fragen abruft, und sie dann hinzufügen Das Homepage-Modell (Klasse) erfordert diese Funktion und ruft diese Funktion dann durch Übergabe von Parametern auf. Nach dem Abrufen der Daten wird sie an die Ansicht gerendert.
Ich habe immer das Gefühl, dass es nicht gut ist, diese Funktion zu schreiben und sie dann aufzurufen, aber ich weiß nicht, wie ich es gut schreiben soll. Ich hoffe, Sie können mir einen Rat geben
大家讲道理2017-05-31 10:35:09
其实都可以不妨碍,但是你要问一种最优解,标准方案的话,那么就使用类
实现吧。
可能你现在对很多概念还不理解,理解模糊,那么先按照被人推崇的做法做,等过一阵子在看。
PHP中文网2017-05-31 10:35:09
你这问题就等于在问面向对象和面向过程哪个好,这个问题已经争论了很多年,如今也有人说面向函数,每个人都有自己喜欢的方式
我的见解是具体情况具体分析,面向对象易复用,易扩展,易维护,但是面向过程性能比面向对象高,如果项目中相同逻辑模块或者重复代码较多,推荐使用面向对象,如果项目结构不复杂而又追求性能,那么比较推荐面向过程。其实一个项目中这两种方式完全可以结合使用。看具体需求
http://m.blog.csdn.net/articl...
曾经蜡笔没有小新2017-05-31 10:35:09
真正的面向对象,必须要有:
有状态 (stateful)
用消息来通信 (message passing)
否则请考虑 函数式 或 过程式。
把 类 当作 命名空间 也是可以的,比如一个 类 里全是 静态方法。
但 require
本身就是 命名空间 的一种实现,所以不需要。
漂亮男人2017-05-31 10:35:09
毫无疑问,使用 OO 编程。
PHP项目发展到7这个版本,已经很OO了,没必要开历史的倒车啊。
追求性能? 别逗了,web应用的性能瓶颈一般不在这个地方。
你说的require这个问题,你用composer + namespace就可以了。
建议你学习一下symfony,laravel这样的框架代码,不要再闭门造车了。