首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Zend表单中访问受保护的变量?

如何在Zend表单中访问受保护的变量?
EN

Stack Overflow用户
提问于 2012-04-03 11:39:27
回答 1查看 536关注 0票数 1

我正在尝试创建一个动态多选项选择,使用动态值作为运费下拉列表,

数组进入并创建select输入,但是省略了受保护的值。这对我来说毫无意义。我甚至尝试使用公共getter来访问受保护的值,但它仍然是空白的。

代码语言:javascript
复制
        protected $_regular     = 4.95;
        protected $_oneDay      = 14.95;
        protected $_twoDay      = 14.95;

        public function getShippingOpts(){

            return array(
                "regular"=>"Regular 5-7 Business Days $".$this->_regular,
                "two-day"=>"Express 3-4 Business Days $".$this->_twoDay,
                "one-day"=>"Overnight 1-2 Business Days $".$this->_oneDay
            );
        }

下面是放在表单初始化函数中的$form代码:

代码语言:javascript
复制
    $shType = new Zend_Form_Element_Radio("sh_type");
    $shType->setLabel("Please select a type of shipping")
            ->setAttrib('class', 'co-shipping-type')
            ->setRequired(true)
    ->setMultiOptions(ORed_Shipping_LabelFactory::getShippingOpts());
    $shTypeToSubmit = new Zend_Form_Element_Hidden('speed');
    $shipping2->addElements(array($shType, $shTypeToSubmit));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-03 17:22:02

由于您不是在创建ORed_Shipping_LabelFactory实例,因此不能使用实例变量(以$this开头的变量是实例变量)。

代码语言:javascript
复制
   static $_regular     = 4.95;
            static $_oneDay      = 14.95;
            static $_twoDay      = 14.95;

            public static function getShippingOpts(){

                return array(
                    "regular"=>"Regular 5-7 Business Days $".self::$_regular,
                    "two-day"=>"Express 3-4 Business Days $". self::$_twoDay,
                    "one-day"=>"Overnight 1-2 Business Days $". self::$_oneDay
                );
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9986775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档