[Linux-programlama] Re: PHP5, Interface içerisinde sabit tanımlamak

---------

[Linux-programlama] Re: PHP5, Interface içerisinde sabit tanımlamak

From: Mehmet Gürevin <mehmetgurevin_at_gmail.com>
Date: Sat, 23 Aug 2008 13:32:14 +0300
Message-ID: <1635d1bf0808230332y33ea070ene844713762459ef4@mail.gmail.com>

evet, interface içerisinde property tanýmlayamýyoruz ancak benim asýl
yapmak istediðim sabit tanýmlamaktý.

ve þu þekilde bir sonuca ulaþabildim.
<?php
        interface gInterface{
                const G_INTERFACE_BASE = 0x0100;
        }

        interface gObjectInterface extends gInterface{
                const G_VERSION = '0.0.2';
        }
        
        class gObject implements gObjectInterface{
                //
        }
        
        interface gStringInterface extends gInterface{
                const LEFT_TRIM = 0x00FF;
        }
        
        class gString extends gObject implements gStringInterface{
                //
        }
        
        echo(gString::G_INTERFACE_BASE); // 0
        echo('<br />');
        echo(gString::G_VERSION); // 256
        echo('<br />');
        echo(gString::LEFT_TRIM); // 255
?>

aslýnda hedeflediðim yapýda aynen boyle birþeydi zaten. const
anahtarýnýn bu þekilde kullanýlabileceði aklýma gelmemiþti.
ref: http://tr2.php.net/manual/en/language.oop5.constants.php

kolay gelsin.

2008/8/23 Altan Tanrýverdi <altant_at_gmail.com>:
> PHP'de interface içerisinde özellik kullanýlamaz. Getter ve Setter
> kullanmalýsýn.
>
> 23 Aðustos 2008 Cumartesi 12:22 tarihinde Mehmet Gürevin
> <mehmetgurevin_at_gmail.com> yazdý:
>>
>> Merhaba, yazmýþ olduðum bir classa implement ettiðim bir interface
>> içerisinde deðiþken tanýmý yapmak istiyorum. Tanýmladýðým bu
>> deðiþkenleri sabit kullanmayý amaçlýyorum.
>>
>> Bu iþlem java'da interface içerisinde sabit tanýmlamak gibi olmalý
>> diye düþündüm ama ne yazýk ki muaffak olamadým :(
>>
>> Java'da þu þekilde yaptýðým iþlemi;
>>
>> public interface arayuz{
>> public static final int sabit = 10;
>> }
>>
>> public class sinif implements arayuz{
>> //
>> }
>>
>> sinif s = new sinif();
>> system.out.println(s.sabit);
>>
>> PHP'de þu þekilde yapmaya çalýþýyorum;
>>
>> interface arayuz{
>> public sabit = 10; // yada public static sabit = 10;
>> }
>>
>> class sinif implements arayuz{
>> //
>> }
>>
>> $s = new sinif();
>> echo($s->sabit); // yada echo(sinif::sabit);
>>
>> ve aldýðým hata þu þekilde;
>> Fatal error: Interfaces may not include member variables in
>> /var/www/tan/gString.php on line 7
>>
>> yardýmcý olacak arkadaþlara þimdiden teþekkürlerimi sunarým.
>> _______________________________________________
>> Linux-programlama mailing list
>> Linux-programlama_at_liste.linux.org.tr
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
>
> --
> Ýyi çalýþmalar...
>
> =======================================
> Altan Tanrýverdi
> Çað Grup Bilgi Ýþlem Müdürü
>
> www.cagajans.com www.turkiyevitrin.com
> Becerikli Sok. No: 19/ 8-9 06660 Kýzýlay/ANKARA
> T/F: 0312 434 29 34
> =======================================
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Sat 23 Aug 2008 - 12:56:16 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.