merak ediyorum.Bağımlılıklar Symfony2'nin
Mesela ben bir NewsBundle
var. Şimdi bir CommentBundle
olup olmadığını kontrol etmek zorundayım. Eğer bir tane varsa, birkaç tane daha kod koymalı.
Herhangi bir öneriniz var mı?
merak ediyorum.Bağımlılıklar Symfony2'nin
Mesela ben bir NewsBundle
var. Şimdi bir CommentBundle
olup olmadığını kontrol etmek zorundayım. Eğer bir tane varsa, birkaç tane daha kod koymalı.
Herhangi bir öneriniz var mı?
Her paketin sahip olması gereken ana Bundle sınıfında class_exists kullanabilirsiniz. Belirli hizmet Kumandanızda gelen var (veya başka bir kap tanıyan kodu) eğer
if (class_exists('Acme\CommentBundle\AcmeCommentBundle'))
{
// Bundle exists and is loaded by AppKernel...
}
markymark cevabı ek olarak, kontrol edebilirsiniz aşağıdaki snippet'iyle:
Örneğinif ($this->container->has('foo_service.alias'))
{
// service is loaded and usable
}
Belirli bir hizmetin tam adından emin değilseniz veya yalnızca tekmeler ve kıkırdıyorsanız, kabine kayıtlı tüm hizmetleri görmek için konsol komutunu php app/console container:debug
çalıştırabilirsiniz.
1, cevabın yukarıdaki biri olarak bana daha net ve doğru. Servis talep etmek daha iyidir - demetler için değil. – Besnik
Kernel sınıfı bir paket kayıtlı ise, belirli bir sınıfın bir aktif grubunun parçası ya da kontrol etmek için bir yardımcı yöntemlerinin bir listesini ihtiva eder.
public BundleInterface[] getBundles()
Gets the registered bundle instances.
public bool isClassInActiveBundle(string $class)
Checks if a given class name belongs to an active bundle.
Sevgili @markymark, bunun size doğru sonuç vereceğinden emin misiniz? demeti dosya sisteminde mevcut değil (ne hizmetler yüklendi ne Paketin yolları anlamında) AppKernel' 'kaydedildi: durum düşünün. o 'class_exists ('Bazı \ Ad \ Uzay \ Sınıfı') özdevinimli o paket ile sicil değildi hatta rağmen sınıf çalışacağız doğru değil mi? Bunun hakkında ne düşünüyorsun acaba? HTH –