在PHPStorm中,对象数组的代码提示简单而且令人敬畏;
class FooList {
public function __construct(){
$this->_fooList[] = new Foo(1);
$this->_fooList[] = new Foo(2);
$this->_fooList[] = new Foo(3);
$this->_fooList[] = new Foo(4);
}
/**
* @return Foo[]
*/
getFoos() {
return $this->_fooList;
}
}
Run Code Online (Sandbox Code Playgroud)
所以如果我......
$fooList = new FooList();
foreach($fooList as $foo)
{
// Nice hinting.
$foo->FooMethod...
}
Run Code Online (Sandbox Code Playgroud)
PHPStorm理解$ fooList是一个Foos数组,因此知道$ foo的类型是Foo.
问题是我想要一个FooList数组.
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
$listOfLists[] = new FooList();
foreach ($listOfLists as $fooList)
{
foreach($fooList as $foo)
{
// No …Run Code Online (Sandbox Code Playgroud) 我试图在Mac Mac 10.8.5的Mini Mac中使用Apache 2.4.7和php5.5
Apache 2.4.7按照此处的说明安装
运行apachectl -v,显示
Server version: Apache/2.4.7 (Unix)
Server built: Mar 4 2014 19:23:56
Run Code Online (Sandbox Code Playgroud)
PHP5.5按照此处的说明安装
运行php -v,显示
PHP 5.5.8 (cli) (built: Jan 12 2014 18:50:29)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
我在apache http.conf文件中添加了以下行
LoadModule php5_module /usr/local/php5/libphp5.so
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用,因为当我尝试启动服务器时
sudo apachectl start
Run Code Online (Sandbox Code Playgroud)
它会产生以下错误
httpd: Syntax error …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的项目中安装CKEditor.我正在使用Laravel.
我知道我可以下载文件,但我喜欢让我的生活变得困难,我决定将CKEditor安装为npm依赖项.
正如他们在这里的文档中所述,我将包添加到package.json,如下所示:
"dependencies": {
"jquery": "^1.11.1",
"bootstrap-sass": "^3.0.0",
"elixir-coffeeify": "^1.0.3",
"laravel-elixir": "^4.0.0",
"font-awesome": "^4.5.0",
"ckeditor": "^4.5.7"
}
Run Code Online (Sandbox Code Playgroud)
现在我想我必须在app.coffee中要求它,所以我尝试了:
window.$ = window.jQuery = require('jquery')
require('bootstrap-sass')
require('ckeditor')
Run Code Online (Sandbox Code Playgroud)
这肯定会将ckeditor.js脚本添加到我的app.js. 但是ckeditor似乎有自己的依赖项,例如config.js或editor.css,当然服务器对这些请求的响应为404.
我怎么能这样安装CKeditor?
谢谢!
我明白,在下面的代码中......
$foo = TRUE;
$bar = 1;
if ($foo === TRUE)
{
echo 'Foo';
}
if ($bar === TRUE)
{
echo 'Bar';
}
Run Code Online (Sandbox Code Playgroud)
...因为类型比较,只会打印Foo.
但是,我的问题是......
if ($foo === TRUE)
{
echo 'Foo1';
}
if (TRUE === $foo)
{
echo 'Foo2';
}
Run Code Online (Sandbox Code Playgroud)
...因为据我所知,它们是一样的,但我记得在某个地方读过它们不是.我只是在梦想有关PHP的奇怪内容,还是实际上有区别?
谢谢!
从我所看到的,运算符优先级在这两个示例中是有意义的:
$a = false;
$b = true;
$c = $a || $b;
Run Code Online (Sandbox Code Playgroud)
这里 $c 是真的
$a = false;
$b = true;
$c = $a or $b;
Run Code Online (Sandbox Code Playgroud)
这里 $c 是假的
我明白这背后的原因。但是以下内容:
$a = false;
$b = true;
return $a or $b;
Run Code Online (Sandbox Code Playgroud)
返回 true,这让我很困惑。
这是什么原因?
我正在使用 Codeception 构建 API 验收测试。
我熟悉那里的单元测试,并且在运行类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。
但是我没有找到类似的验收测试。
请注意,我使用的是“类”方法,而不是过程方法。
所以我有一个这样的课程...
class ResourceCest {
public function _beforeSuite(ApiTester $I)
{
// Ideally this would work, but it doesn't.
}
public function _before(ApiTester $I)
{
$I->am('Api Tester');
}
public function somethingThatIWantToExecute(ApiTester $I)
{
$I->sendGet('something');
// etc
}
}
Run Code Online (Sandbox Code Playgroud)
我可以创建像 setUp 这样的方法,但随后 Codeception 将其作为测试执行,从而在运行测试时输出一些内容。
php ×4
acceptance ×1
apache ×1
api ×1
boolean ×1
ckeditor ×1
code-hinting ×1
codeception ×1
gulp ×1
laravel ×1
macos ×1
node.js ×1
phpstorm ×1