Değişkenleri bir sınıf ayarlanması gerekir zaman

6 Cevap php

Hay, ne zaman değişkenleri bir PHP sınıfı içinde yer olmalıdır?

<?php
    class MyClass {
        var $my_var;    // here? like var $my_var = null;
        function __construct(){
            $this->my_var = null; // or here?
        }
    }
?>

6 Cevap

Bu onları başlatmak istediğinize bağlıdır. Ben mümkünse beyan ederken onları başlatmak için tercih, ama onlar olması gerekiyorsa, örneğin, bir yöntem çağrısı sonucu, o zaman yapıcı onları başlatmak gerekir.

Ben yapıcı bunları başlatmak için iyi olacağını düşünüyorum. Bir değer temin edemez çünkü ben normalde geliştirici bir tercih meselesi olduğunu düşünüyorum, ama auto-implemented properties C # 3.0 ile tanıtılması ile, ben sadece kurucusunu (ler) tüm intialization koymak daha mantıklı düşünüyorum Bir özellik için bu şekilde ilan etti. Ve değişkenleri başlatılamadığı nerede tutarlı olmak kodunuzu daha okunaklı hale getirir.

Değişkenin kullanımına bağlıdır. OOP sınıfın yapıcısı içinde değişkenlerini başlatmak vurguluyor.

Ben derim

	class Foo 
	{
		public $bar = 'default';

		function __construct($custom_bar = null) {
			if(!is_null($custom_bar))
				$this->bar = $custom_bar;
		}

En kısa sürede doğru bir şekilde ayarlamak için yeterli bilgi var gibi.

Benim için, (yapıcı dışında) ilanından başlatılır değişken sabit gibi çok fazla görünüyor. Bu tamamen tercih, ama eğer mümkünse yapıcı başlatmak için seçin.