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


can we define lot of methods in php class?

有人问这个问题,但我想讨论一下类的功能。如果我们定义很多方法,例如类中的 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;

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

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

最后的想法:正如@N.B.评论的那样,看起来你正在构建一个ORM。您可能已经有许多经过良好测试和广泛部署的 ORM。除非这纯粹是为了您的学习利益,否则您最好使用其中之一。

这些方法只加载到内存中一次,然后在实例化类时重复使用。只有类中的属性(变量(会占用创建的每个对象的内存。您的示例具有许多属性。