Merhabalar,
Facebook'taki PHP grubunda birisi boyle bir istekde bulunmus. Siniftan sadece tek bir "instance" uretmek, daha sonra istenildiginde ise bir Exception vermesi isteniyordu.
PHP5.4'un nimaetlerinden traitler yardimiyla bunu hazirladim. Guzel bir ornek olacagini dusunuyorum.
Trait kullanilarak hazirlanan sinif ilk getInstance() metodu kullanildiginda sinifin bir ornegini gonderecek, bir dahaki cagirildiginda ise DisposableClassException gonderecektir. Bunu yakalamak da size kalmis. :)
Showing posts with label php oop. Show all posts
Showing posts with label php oop. Show all posts
Tuesday, February 4, 2014
Friday, December 27, 2013
[PHP] DOMDocument Sınıfının Desteklenmeyen Etiketlerde Hata Vermesinin Engellenmesi
Başlık pek bi' uzun oldu. Sorun ve çözümü pek kolay hâlbu ki.
DOMDocument sınıfını kullanırken veya kullanan bir dependency ile çalışırken uygun olmayan etiket hatası almanız gayet mümkün. Hele de şu vakitlerde Facebook gibi sosyal ağların semantik algılama için web sitelerine eklenmesini istediği W3 standartları dışında olan etiketlerden dolayı.
QueryPath kullanırken ben de aşağıdaki hatayı aldım. Ufak bir araştırma ile DOMDocument'in hata yakalama özelliğini pasif ederek uyarı vermemesni sağladım. Hatalardan kaçtığımdan değil; ancak bu sorunu aşmanın hatayı gözardı etmekten başka çaresi yok.
DOMDocument sınıfını kullanırken veya kullanan bir dependency ile çalışırken uygun olmayan etiket hatası almanız gayet mümkün. Hele de şu vakitlerde Facebook gibi sosyal ağların semantik algılama için web sitelerine eklenmesini istediği W3 standartları dışında olan etiketlerden dolayı.
QueryPath kullanırken ben de aşağıdaki hatayı aldım. Ufak bir araştırma ile DOMDocument'in hata yakalama özelliğini pasif ederek uyarı vermemesni sağladım. Hatalardan kaçtığımdan değil; ancak bu sorunu aşmanın hatayı gözardı etmekten başka çaresi yok.
Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Tag fb:like invalid in Entity, line: 135 in /.../querypath/src/QueryPath/DOMQuery.php on line 3643Çözümü şu şekilde yapabilirsiniz:
Sunday, September 15, 2013
Tasarım Desenleri Serüvenleri
Merhabalar,
'Tasarım Desenleri' konulu uzun süreli bir serüven yaşayacağız. Bu serüvende bizi yanlız bırakmayacak değerli dostlarımız PHP, Java, JavaScript ve Ruby dilleri olacaktır. 4 dili birden kullanmamızın tabii ki bir sebebi var: Dil yeteneklerimizi geliştirebilmek.
'Tasarım Desenleri'ni tam anlamıyla kavrayabilmek amaçlı bir serüven olacak bu. Serüvenlerimizde olabildiğinde güncel yaşamda karşımıza çıkabilecek örnekler kullanıp öğrenme eğirimizi minimuma düşürmeye çalışacağız.
Öğreneceğimiz 'Tasarım Desenleri'ni kavramamıza yardımcı olacak UML diagramlarından da yararlanacağız tabii. Bu nedenle UML'ler hakkında en azından başlangıç seviyesinde bir bilgi edinmeniz önerilir.
Eğer 'Tasarım Desenleri' konusunda 'Nedir?' sorusu ile başlayayacaksanız sizi buradan Wikipedia sayfasına alalım.
'Tasarım Desenleri' konulu uzun süreli bir serüven yaşayacağız. Bu serüvende bizi yanlız bırakmayacak değerli dostlarımız PHP, Java, JavaScript ve Ruby dilleri olacaktır. 4 dili birden kullanmamızın tabii ki bir sebebi var: Dil yeteneklerimizi geliştirebilmek.
'Tasarım Desenleri'ni tam anlamıyla kavrayabilmek amaçlı bir serüven olacak bu. Serüvenlerimizde olabildiğinde güncel yaşamda karşımıza çıkabilecek örnekler kullanıp öğrenme eğirimizi minimuma düşürmeye çalışacağız.
Öğreneceğimiz 'Tasarım Desenleri'ni kavramamıza yardımcı olacak UML diagramlarından da yararlanacağız tabii. Bu nedenle UML'ler hakkında en azından başlangıç seviyesinde bir bilgi edinmeniz önerilir.
Eğer 'Tasarım Desenleri' konusunda 'Nedir?' sorusu ile başlayayacaksanız sizi buradan Wikipedia sayfasına alalım.
Serüvenler:
Kurucu Tasarım Desenleri (Creational Design Patterns)
Yapısal Tasarım Desenleri (Structural Design Patterns)
Davranışsal Tasarım Desenleri (Behavioral Design Patterns)
Labels:
design patterns,
java oop,
javascript oop,
php oop,
ruby oop,
tasarım desenleri
Subscribe to:
Posts (Atom)