sabitleri.zend framework 2 yerde uygulamada kullanılabilir sabitleri beyan etmek zorunda
constants.NAME_TITLE = "User Name",
ve nasıl Zend Framework 2'de yapıyorsun: Zend Framework 1'de biz application.ini
içinde bildirmek için kullanılan?
sabitleri.zend framework 2 yerde uygulamada kullanılabilir sabitleri beyan etmek zorunda
constants.NAME_TITLE = "User Name",
ve nasıl Zend Framework 2'de yapıyorsun: Zend Framework 1'de biz application.ini
içinde bildirmek için kullanılan?
Ben çözüm here bulduk. Modelde depolama sınıfı oluşturmalısınız. Bu sınıfta istediğiniz kadar sabit oluşturabilirsiniz.
<?php
namespace Application\Model;
class Application {
const EMAIL = '[email protected]';
}
Şimdi
o tarafından her yerde erişilebilir:
<?php echo Application\Model\Application::EMAIL; ?>
teşekkürler varmış gibi zend framework 2'de varsa tavsiye yolunu izlemek istiyordu! Ben de onları seri ile orada diziler yerleştirerek ediyorum: http://stackoverflow.com/questions/1290318/php-constants-containing-arrays sizin modüllerde yinelenen bir sürü kod azaltır! – Armfoot
const UPLOAD_PATH = getcwd(). '/ Kamu/yükleme /'; bu neden hata üretiyor? – anil
Ayrıca fonksiyonu ve değişken yazabilirsiniz: Yani örneğin böyle bir görünümde sürekli yazdırabilirsiniz
NameOfModule\Model\NameOfModel::NAMEOFCONSTANT
Uygulamanıza denetleyici, model ve görünümler gibi herhangi bir yerde erişilebilir.
<?php
namespace Webapp;
class ControllerName
{
const EMAIL = '[email protected]';
public static function myFunction()
{
echo "doing work well.";
}
}
ve Zend Framework 2, bir alternatif çözüm için
<?php echo Webapp\ControllerName::EMAIL; ?>
ve
<?php echo Webapp\ControllerName::myFunction(); ?>
Söylediklerin teknik olarak doğru.Açıklığa kavuşturmak için, normalde hiç kimse bir denetleyicide sabit ve statik yöntemler kullanmamalıdır (bu denetleyici dışında hiçbir yere ait olmayan nadir bir durum değilse) – evilReiko
gibi bu sınıf fonksiyonu ve özelliği erişebilirler.
her yerde tıpkı config/autoload/yerel.php
'array_name' => array(
'variable_name' => value,
),
içindeki global değişken tanımlamak ve kullanabilirsiniz:
$this->config = $obj->getServiceLocator()->get('config'); //create config object
$this->you_variable = $this->config['arrayname']['variable_name']; // fetch value
echo $this->you_variable; // print value
$ obj nedir? Hata vereceğini düşünmüyor musun? – user3542450
PHP 5.4 veya daha üst bir sürümü kullanıyorsanız, bunu 1 satırda yapabilirsiniz, örneğin: echo $ obj-> getServiceLocator() -> get ('config') ['arrayname'] ['variable_name']; ' – evilReiko
tanımlayabilir, şöyle atamak ve erişim SABİT edebilirsiniz: olmak kullanın sonra
use Zend\Config\Config as Zend_Config;
use Zend\Config\Processor\Constant as Zend_Constant;
Ve: takma adla bu iki sınıf kullanın Kontrolör sınıfının sizin herhangi fonksiyona düşük kod:
bar
bu sabitleri ne önemi var:
O o/p verecek? Nerede kullanmalı? – Sam
Çerçeve olmadan nasıl yaparsınız? Eğer sadece sabitleri tanımlamanıza izin veren bir işlev varsa. – Crisp
@Sam Bu sabitler, ex için konfigürasyonda ayarladığım global değişkenleri tanımlamak içindir. LINK_TO_SOAP_SERVICE, değerleri farklı ortamlar için farklıdır. Bu yüzden onları bir yere koyup tüm projede kullanıyorum. – user2367458