2015-01-27 17 views
11

sınıfındaki "Silex \ Application" yöntemini "paylaş" yöntemini çağırmayı denedim. En son sürümünde silex-iskeletiyle bir proje geliştiriyorum.Silex 2

Kodu:

$app['login'] = $app->share(function() use($app) { 
    return new Model\UserModel($app); 
}); 

Hata: sınıf "Silex \ Application" konulu yöntemi "pay" aramaya teşebbüs

Herhangi paylaşım yöntemini kullanmaya çalışıyorum bana aşağıdaki hata gösterdiğinde Bu hata önerileri veya olası nedeni

cevap

21

Silex 2.0, shared yöntemini kaldırmış olan Pimple 3.0 kullanıyor, artık tüm hizmetler varsayılan olarak, Yeni bir örnek istiyorsanız, changelog for version 2.0'da belirtildiği gibi factory yöntemini çağırmanız gerekir.

Yani bir giriş hizmet istiyorsanız bunu şöyle oluşturmalısınız:

<?php 

$app['login'] = function($app) { 
    return new Model\UserModel($app); 
}; 

doğrudan it's GitHub repository

PS 3.0 Sivilce sürümü için dokümanlar bir göz atabilirsiniz: Bu yazının yazıldığı sırada, Silex 2.0'ın numaralı numaralı sürümde olduğunu unutmayın, bu nedenle kodunuzu 2.0 kararlı bir sürüm elde edene kadar uyarlamaya hazır olun.2.0 has reached prod status as of 2016-05-18

+0

Teşekkürler mTorres, sosyal ağlarımda paylaştım, cevabı bulmaya çalışmak için çok fazla zaman harcadım. saygıları –

+0

Hoşgeldiniz @LuisFernandoCzaresBulbarela. Cevabım gerçekten sorununuzu çözerse, bunu kabul etmeli ve bu soruyu kapalı olarak işaretlemelisiniz. Daha fazla bilgi için [SO yardım] bölümüne bakın (http://stackoverflow.com/help/someone-answers). – mTorres