小编Sha*_*haz的帖子

试图在php中实现(理解)Decorator模式

我正在尝试理解Decorator模式,我已经阅读了其他相关的问题,然后我决定尝试一个简单的例子(我是一个PHP新手):

interface iTitle {
   public function getTitle();
}

class Title implements iTitle {
   protected $_text;

   public function __construct() {
      $this->_text='Our page';
   }

   public function getTitle() {
      return $this->_text;
   }
}

abstract class TitleDecorator implements iTitle {
   protected $_title;

   public function __construct(iTitle $title) {
      $this->_title=$title;
   }
}

class BeforeTitle extends TitleDecorator {
   public function getTitle() {
      return 'Welcome to '.$this->_title->getTitle();
   }
}

class AfterTitle extends TitleDecorator {
   public function getTitle() {
      return $this->_title->getTitle().', Dear user!';
   }
}
Run Code Online (Sandbox Code Playgroud)

这是Decorator模式的一种(某种)正确的实现吗?如果不是,那么正确的方法是什么?如果是的话,这可以改进吗?或者这可能更适合另一种模式?

任何帮助/想法将不胜感激,提前感谢!

php design-patterns

7
推荐指数
1
解决办法
620
查看次数

如何编码法语/西班牙语字符使用clickatell的http api?

我想你们中的一些人有使用Clickatell的经验.我的问题是:当我使用法语或西班牙语字符(URL编码)通过他们的http api发送消息时,他们不会在手机上显示(字符).

我正在使用这个--guide-:http:// support.clickatell.com /faq.php?mode=view_entry&kbid=121&kbcat=26

我已经用几部手机对它进行了测试,并且它们都表现出相同的结果:"一个人!我是一个人吗?" 应该是"çava!monélèvemiiña?" (或类似的东西)

不幸的是他们的支持不是很具体(对我来说),我现在有点困惑,这就是我得到的:

请参阅:http://www.dreamfabric.com/sms/default_alphabet.html

此后,请根据上述标准对您的text =参数进行编码以使您的法语字符在手机上正确显示.

php sms http url-encoding clickatell

5
推荐指数
1
解决办法
4448
查看次数

如何比较Magento查询中的两个字段?

我正在使用我在某处找到的代码获取所有活跃的特殊产品:

  $collection = $this->_addProductAttributesAndPrices($collection)
 ->addStoreFilter()
 ->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))
 ->addAttributeToFilter('special_to_date', array('or'=> array(
    0 => array('date' => true, 'from' => $todayDate),
    1 => array('is' => new Zend_Db_Expr('null')))
 ), 'left')
 ->setPageSize($this->get_prod_count())
 ->setCurPage($this->get_cur_page());
Run Code Online (Sandbox Code Playgroud)

现在我想只得到特价<=价格的产品,但我仍然无法实现如何做到这一点.

我一直在阅读这个页面:http://www.magentocommerce.com/wiki/5_-_modules_and_development/catalog/using_collections_in_magento

我尝试了这个没有成功:

     ->addAttributeToFilter('special_price', array('lt' => 'price'))
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

magento magento-1.5

4
推荐指数
1
解决办法
1797
查看次数

如何在K2中为类别创建和使用模板?

我正在使用Joomla 1.5和K2 2.5而且我不知道如何为一个类别提供特定的样式,我仍然不理解"覆盖"的事情.

我一直在关注这个教程:

http://getk2.org/documentation/tutorials/item/174-templating-with-k2-and-the-concepts-of-sub-templates

我的类别仍然具有相同的风格,我在那里缺少什么?

我一直小心翼翼(我想是这样),所有文件到目前为止都没有成功.

joomla joomla1.5 joomla-k2

4
推荐指数
1
解决办法
1万
查看次数

将视图名称添加到Body上的CSS类

我正在寻找一种方法来回显视图名称,并将其作为CSS类放入body标记内的主模板中.

原因是我有一些页面需要更改某些CSS元素,但内联代码效率低下,我真的不想为该页面制作专用视图.

因此,例如,如果我要登陆主页,那么正文标记将是:

<body class="home">
Run Code Online (Sandbox Code Playgroud)

如果我要去关于我们的页面,它将改为:

<body class="about">
Run Code Online (Sandbox Code Playgroud)

php laravel

4
推荐指数
4
解决办法
1648
查看次数

根据月相显示图像

我想知道是否可以在PHP中计算当前的月相或从某个地方(www,rss,我不知道......)获取它.

基本上我需要根据当前的月相显示网站中的图像.

我发现了这个:http://jivebay.com/2010/01/04/calculating-the-moon-phase-part-2/,然而,作者说这不是100%准确.

有任何想法吗 ?谢谢!

php

3
推荐指数
1
解决办法
5486
查看次数

jQuery"取代"AJAX吗?

我是新手,我使用基本的-AJAX技术 - 就像一年前一样.

一个月前我意识到jQuery存在,我也以基本的方式使用它.

我想知道的是jQuery是否可以像AJAX那样做和/或"替换"它.

从w3schools获取的示例:可以使用jQuery创建吗?

function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)

ajax jquery

2
推荐指数
2
解决办法
3539
查看次数

Flutter 中 dio 的全局配置(拦截器)

第一次使用 Flutter。我正在使用 dio 发送 HTTP 请求,我必须为所有请求添加一个标头,我使用拦截器来做,如下所示:

Dio dio = new Dio();
dio.interceptors.add(InterceptorsWrapper(
    onRequest:(RequestOptions options) async {
      options.headers["X-Requested-With"] = "XMLHttpRequest";
    })
);
Run Code Online (Sandbox Code Playgroud)

它在 main.dart 中工作,但如果我想导入另一个类,如 MyHomePage.dart 并在那里执行 HTTP 请求,我也必须在该类中重新定义拦截器。

如何在不将它添加到每个 .dart 文件中的情况下为我的整个应用程序实现这个拦截器?

dart flutter dio

2
推荐指数
1
解决办法
3179
查看次数

在joomla的单独页面上打开阅读更多链接

我正在使用joomla 2.5.在创建文章时,我添加了更多链接.我遇到的问题是,当一个页面有一篇文章时,读取更多链接会用新文章覆盖该内容.我希望阅读更多链接作为单独的页面打开.我希望它是动态的而不是手动更改.

我遗失的任何东西?任何帮助表示赞赏.谢谢

php joomla joomla-module joomla2.5

1
推荐指数
1
解决办法
9989
查看次数

我是否总是需要将组件内容包装在div(或类似文件)中?

我正在Vue2中创建单个文件组件,并且包括一个子组件:

父组件:

<template>
  <div>
     <my-component-2>
     </my-component-2>
  </div>
</template>

<script>
  ....
</script>
Run Code Online (Sandbox Code Playgroud)

子组件(my-component-2):

<template>
     <my-component-3>
     </my-component-3>
</template>

<script>
  ....
</script>
Run Code Online (Sandbox Code Playgroud)

孙子组件(my-component-3):

<template>
     <div v-for="(item, index) in items">
     </div>
</template>

<script>
  ...
</script>
Run Code Online (Sandbox Code Playgroud)

但是my-component-3不是“渲染的”,但是,如果我将<my-component-3>div 包裹起来(就像在调用my-component-2的父组件中一样),那么它将起作用。

有没有一种方法可以调用子组件而不将其包装在任何html标记中?

vue.js vue-component vuejs2

1
推荐指数
1
解决办法
1522
查看次数

显示每个循环的最后一项

我有一个php文档,我想显示一个数组中最后一项的变量.

我怎么拥有它:

<?php if(count($items)): ?>
<?php foreach ($items as $key=>$item):?>

    <?php echo $lastone ?>

<?php endforeach; ?>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)

php joomla joomla-k2

0
推荐指数
1
解决办法
160
查看次数