小编Gor*_*don的帖子

Reference — What does this symbol mean in PHP?

What is this?

This is a collection of questions that come up every now and then about syntax in PHP. This is also a Community Wiki, so everyone is invited to participate in maintaining this list.

Why is this?

It used to be hard to find questions about operators and other syntax tokens.¹
The main idea is to have links to existing questions on Stack Overflow, so it's easier for us to reference them, not to copy over content from …

php arguments symbols operators

4314
推荐指数
21
解决办法
63万
查看次数

PHP的收益意味着什么?

我最近偶然发现了这段代码:

function xrange($min, $max) 
{
    for ($i = $min; $i <= $max; $i++) {
        yield $i;
    }
}
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这个yield关键字.试着运行我得到的代码

解析错误:语法错误,第x行意外的T_VARIABLE

那么这个yield关键字是什么?它甚至是有效的PHP吗?如果是,我该如何使用它?

php generator yield-keyword php-5.5

214
推荐指数
6
解决办法
8万
查看次数

将数组打印到文件

我想将数组打印到文件中.

我希望该文件看起来与这样的代码看起来完全相似.

print_r ($abc); 假设$ abc是一个数组.

是否有任何一行解决方案,而不是每个外观常规.

PS - 我目前使用序列化但我想使文件可读,因为序列化数组的可读性非常难.

php serialization

169
推荐指数
8
解决办法
32万
查看次数

如何禁用XDebug

我认为自从我安装XDebug以来我的服务器变得很慢.所以,为了测试我的假设,我想完全禁用XDebug.我一直在寻找有关如何做到这一点的教程,但我找不到这些信息.

php apc xdebug

117
推荐指数
17
解决办法
17万
查看次数

接口常量的优缺点

PHP接口允许在接口中定义常量,例如

interface FooBar
{
    const FOO = 1;
    const BAR = 2;
}
echo FooBar::FOO; // 1
Run Code Online (Sandbox Code Playgroud)

任何实现类都将自动提供这些常量,例如

class MyFooBar implement FooBar
{
}
echo MyFooBar::FOO; // 1
Run Code Online (Sandbox Code Playgroud)

我对此的看法是,任何Global都是邪恶的.但我想知道接口常量是否同样适用.鉴于对接口的编码通常被认为是良好的做法,使用接口常量是在类上下文之外使用的唯一常量吗?

虽然我很想听听您的个人意见以及您是否使用界面常量,但我主要是在您的答案中寻找客观原因.我不希望这是一个民意调查问题.我对使用接口常量对可维护性有什么影响感兴趣.耦合.或单元测试.它与SOLID PHP有什么关系?它是否违反了任何被认为是PHP良好实践的编码原则?你明白了......

注意: Java有一个类似的问题列出了一些很好的理由,说明它们是Bad Practice,但由于Java不是PHP,我认为再次在PHP标记中提出它是合理的.

php interface constants

101
推荐指数
2
解决办法
3万
查看次数

用于文件名的字符串清理程序

我正在寻找一个PHP函数,它将清理一个字符串,并准备用于文件名.谁知道一个方便的?

(我可以写一个,但我担心我会忽略一个角色!)

编辑:用于保存Windows NTFS文件系统上的文件.

php string sanitization

96
推荐指数
11
解决办法
12万
查看次数

除Graphite之外的statsd数据的GUI?

我刚安装了石墨/ statsd用于生产用途.我真的很高兴,但我的一位同事问我是否有办法让它看起来更漂亮.老实说,我不能说我也不奇怪.

有没有替代Graphite UI可以更好地渲染数据,可能使用了一个很棒的前端图形库和http推送?

metrics data-visualization graphite

90
推荐指数
5
解决办法
5万
查看次数

是否存在<a href="fax:number">数字</a>之类的内容?

正如我们所用

<a href="tel:number">number</a> or <a href="mailto:mailid>mailid</a>
Run Code Online (Sandbox Code Playgroud)

对于电话号码和电子邮件,是否<a href="fax:number">number</a>存在传真等问题?

html fax url-scheme

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

Symfony2设置默认选项字段选择

我正在以下列方式创建表单:

$form = $this->createFormBuilder($breed)
             ->add('species', 'entity', array(
                  'class' => 'BFPEduBundle:Item',
                  'property' => 'name',
                  'query_builder' => function(ItemRepository $er){
                      return $er->createQueryBuilder('i')
                                ->where("i.type = 'species'")
                                ->orderBy('i.name', 'ASC');
                  }))
             ->add('breed', 'text', array('required'=>true))
             ->add('size', 'textarea', array('required' => false))
             ->getForm()
Run Code Online (Sandbox Code Playgroud)

如何为物种列表框设置默认值?


谢谢你的回复,我道歉,我想我应该重新解释一下我的问题.一旦我有一个从模型中检索的值,如何为物种选择列表中的相应值将该值设置为SELECTED ="yes"?

因此,TWIG视图中的选择选项输出将如下所示:

<option value="174" selected="yes">Dog</option>
Run Code Online (Sandbox Code Playgroud)

forms default symfony-forms symfony

68
推荐指数
5
解决办法
14万
查看次数

如何在.NET中冻结冰棒(使类不可变)

我正在设计一个类,我希望在主线程完成配置之后只读它,即"冻结"它.Eric Lippert将这种冰棍称为不变性.冻结后,可以同时访问多个线程进行读取.

我的问题是如何以线程安全的方式编写这个实际有效的方法,即不要试图不必要地聪明.

尝试1:

public class Foobar
{
   private Boolean _isFrozen;

   public void Freeze() { _isFrozen = true; }

   // Only intended to be called by main thread, so checks if class is frozen. If it is the operation is invalid.
   public void WriteValue(Object val)
   {
      if (_isFrozen)
         throw new InvalidOperationException();

      // write ...
   }

   public Object ReadSomething()
   {
      return it;
   }
}
Run Code Online (Sandbox Code Playgroud)

Eric Lippert似乎认为这篇文章可以.我知道写入具有释放语义,但据我所知,这仅适用于排序,并不一定意味着所有线程都会在写入后立即看到该值.谁能证实这一点?这意味着这个解决方案不是线程安全的(当然这可能不是唯一的原因).

尝试2:

以上,但Interlocked.Exchange用于确保实际发布的值:

public …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading

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