我们可以在php类中定义很多方法吗?

时间:2015-04-03 07:54:40

标签: php oop

有些人问这个问题,但我想讨论一下课堂的功能性。 如果我们定义了很多方法,那么在类中可以实现1000,3000或更多代码行。 它会影响课堂表现吗?我的意思是,如果我们实例化一个类的对象,所有方法都转到内存中?它的花费是内存使用量?或者它根本不重要。

像这样:

class User extends databaseObject{

    protected static $table_name="users";
    protected static $db_fields=array('id','user_type_id','firstname','lastname','password','email',
    'mobile','ostan_id','city_id','tahsilat_id','education_cluster_id','code_meli','birth_date',
    'mobile_verify_code','mail_verify_code','is_instituter','gender_id','active_by','actived_date');

    protected static $required=array('firstname','lastname','password','email','mobile');
    protected static $missing=array();

    public $id;
    public $user_type_id;
    public $firstname="";
    public $lastname="";
    public $password;
    public $email;
    public $mobile;
    public $ostan_id;
    public $city_id;
    public $tahsilat_id;
    public $education_cluster_id;
    public $code_meli;
    public $birth_date;
    public $mobile_verify_code;
    public $mail_verify_code;
    public $is_verified;
    public $is_instituter=0;
    public $active_by;
    public $actived_date;

2 个答案:

答案 0 :(得分:2)

答案:在遇到性能问题之前,请不要担心内存使用情况或性能。

一个真正的答案:一个类中的行/属性/方法的数量没有实质性甚至可见的差异(当然,除非你的php文件开始以多兆字节为单位,否则千万不会发生这种情况代码行。在这种罕见的情况下,不是PHP放慢速度,它只是在等待磁盘I / O,它没有办法解决它。证明它的最佳方式:基准测试。您会发现微秒和亚微秒的性能变化不值得您尝试改进。最后,应用程序的速度取决于您选择的数据结构以及用于与之交互的算法,代码行无关紧要。

最后的想法:作为@ N.B。评论说,看起来你正在建立一个ORM。已有许多经过良好测试和大量部署的ORM,您可能想要选择它们。除非这纯粹是为了您的学习效益,否则您最好使用其中一个。

答案 1 :(得分:1)

这些方法只加载一次到内存中,然后在实例化一个类时重用。只有类中的属性(变量)才会占用每个创建对象的内存。你的例子有很多属性。