PHP kendisi bir çerçeve ya da büyük kütüphanesine dönüşüyor?

5 Cevap php

Başlangıçta PHP bir betik dili oldu. Ama OOP giriş ve iyileştirme sonra ben çekirdek eklenmiş daha nesneleri görürsünüz. Onlar DOM (PHP 4 ve 5 çeşit), bir çok büyüdü sonra SPL ve PECL, armut veya Zend Framework ya da her birimiz tarafından uygulanan bir parçası olmalıdır DateTime aile gibi kütüphaneler ile başladı.

PHP başka bir şey iletilen tüm bu nesneler ile, yalnızca yerleşik işlevler için gerekmiyor mu?

Örnek: DateTime class is part of the core ve ben Zend_Date çok benzer olduğunu görüyoruz.

Wikipedia on standard library.

5 Cevap

PHP always web sayfaları ve oturumları taşıma için özel destek olduğu anlamda, inşaat web siteleri için bir "çerçeve" olmuştur. [Bana temelde bir web sitesi değil PHP kodlu ciddi bir uygulamayı göster]. IMHO, bir programlama langauge olarak, hatta OO sonradan eklenmesiyle, tavsiye için çok az vardır; PHP kaydeder tek şey is (fonksiyonların büyük bir kütüphane de dahil olmak üzere), web desteği ve ücretsiz olmasıdır.

Bir langauge olarak kendisini taşıyan nasıl kötü bir örnek olarak, PHP millet Unicode ile sorun yaşıyorsanız. Unicode hakkında ipuçları yüksek ve orta 90'lı geri temizleyin ve her modern dildeki onlara bu yana sadece dilde doğrudan Unicode desteği olması konusunda ısrar etti. İpucu: PHP tasarlanmış değildi; sadece büyüdü.

Bir betik dili nesne yönelimli olmamalı ya da nesneler olmamalıdır diyor başka bir şey değildir. (PHP 5.3 gibi, her zaman mevcut,) SPL bir "arayüzleri ve standart sorunları çözmek içindir sınıfların koleksiyonu" dir. (source) O değil zaten yararlı şeyler çekirdek (veri yapıları, Yineleyicilerde geniş bir yelpazede, dosyalar, gelişmiş sınıf autoloading araçları) 'de istisna tipleri genişletilmiş bir set, OO-API'ler sağlar Bir daha OO yoldur.

Ben tüm hata ayıklama var ve ben ne yapmak istediğinizi çoğu için fonksiyonları sağlar yok büyük bir standart kütüphanesi yanayım. Bir XML dosyasını okumak istiyorsanız, ben bunu yapmak istiyorum böyle ortak bir şeydir gibi bir kitaplık için kazma gitmek zorunda olmamalıdır.

PECL, Armut veya Zend Framework veya implemented by each one of us. parçası olmalıdır DateTime aile

Bu birçok insan tarafından kullanılır, neden bu çekirdek olmamalı? Herkes aynı şeyi farklı bir versiyonunu uygulama hiçbir anlamı yoktur.

Sadece build-in fonksiyonlar? Hiç Java gibi dilleri veya C # kullandınız mı? Birkaç sınıflar ve arayüzler ilave bir çerçeve içine PHP dönüm ise bu dilleri pratikte artık işletim sistemleri vardır.

PHP bir çerçeve haline gelmiyor. Hatta yakın değil.

According to Wikipedia:

A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality [...]

Bu Zend Framework ve CakePHP gibi projelerimizi açıklayacağız, ama PHP hale geliyor nerede görüyorsanız genel eğilim açıklanmaz daha nesne yönelimli. Birçok dil (Ruby bir örnektir) tamamen nesne yönelimli ve henüz çerçeveler değildir. Ruby on Ruby ile yazılmış bir çerçeve bir örnektir.

Yani hayır, PHP bir çerçeve haline gelmiyor.

Ben güzel bir kurdele ile tüm aşağı kravat güzellikler dolu ama gerçekten bir şey, çünkü bu büyük bir kütüphaneye dönüşürken düşünüyorum.

Böyle Zend veya Symfony gibi bir çerçeve bir PHP organize uygulama için harikalar yapacaktır. PHP tek başına, büyük projeler için çok iyi değil.