我有以下代码(例如,实际上,这是我的真实代码):
<?php
class Foobar
{
public static function foo()
{
exit('foo');
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行$foobar = new FooBar; $foobar->foo()它显示foo.
为什么PHP会尝试在对象上下文中使用静态方法?有办法避免这种情况吗?
好吧,你们没有得到我的问题:我知道静态和非静态方法之间的区别以及如何调用它们.这是我的全部意义,如果我打电话$foobar->foo(),为什么PHP会尝试运行静态方法?
注意:我运行PHP 5.4.4,报告错误E_ALL.
我在 Vagrant Box (homestead) 上运行 Laravel
当我这样做时vagrant up,我收到一条消息:
: A newer version of the box 'laravel/homestead' is available and already
: installed, but your Vagrant machine is running against
: version '6.3.0'. To update to version '7.1.0',
: destroy and recreate your machine.
Run Code Online (Sandbox Code Playgroud)
我应该运行哪些命令以及我应该准备哪些潜在问题?
我已经安装Laravel Homestead/Vagrant/Virtualbox上Windows,因为它说的官方网站
但它真的很慢.页面更新大约需要5秒钟.
这不仅仅是我的观察.拉克拉斯特对此进行了讨论.
laracast论坛有一些有趣的想法,但那里很糟糕(对不起Jeffery),很难理解哪些想法被接受,哪些被拒绝.
在stackoverflow中,我们有一个投票系统来投票解决工作解决方案,并请求为每个解决方案单独提供更多详细信息.请发布您的解决方案和经验.
根据我的经验 - 曾经有一种情况,当Windows运行更新并强行关闭我的系统时,它启动时速度非常快(至少快10倍)但是在下次重启后它再次变慢.现在我知道可以采取一些措施来加速它,它不是" slow hardware case"它是一个软件配置案例!
我在Intel-Core-i7上使用Windows-10,使用Oracle Virtualbox-5.2.12 ......(一切都是最新版本,无需更新)
我在我的代码中有这样一行:
ModelName::create($data);
Run Code Online (Sandbox Code Playgroud)
其中ModelName只是一个Eloquent模型.有没有办法在单元测试中模拟这个调用?我尝试过:
$client_mock = \Mockery::mock('Eloquent','App\Models\ModelName');
$client_mock->shouldReceive('create')
->with($data)->andReturns($returnValue);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我需要更新 laravel/homestead 吗?这是一个 Vagrant 盒子。我在我的开发环境中使用它。
我记得它是一个 shell 命令,但我不记得这个命令,我找不到它。请帮忙
这个查询只能不起作用,它只显示1行
$data = Post::select('id', 'name')
->whereIn('id', [$order])
->orderByRaw(\DB::raw("FIELD(id, $order)"))
->get();
Run Code Online (Sandbox Code Playgroud)
但这是有效的,它显示所有行
$data = Post::select('id', 'name')
->whereIn('id', [1,2,3])
->orderByRaw(\DB::raw("FIELD(id, $order)"))
->get();
Run Code Online (Sandbox Code Playgroud)
对不起我的英文:D谢谢!
Echarts3(百度)在工具提示中着色
默认情况下,工具提示具有与图形相同颜色的轮,如下所示:
http://echarts.baidu.com/gallery/editor.html?c=candlestick-brush
但是,如果我自定义工具提示,它将删除颜色编码的圆形,如下例所示:
https://ecomfe.github.io/echarts/doc/example/tooltip.html#-en
有没有办法使用自定义工具提示并将颜色回滚.
这是解释它的另一种方式.转到此链接 饼图简单 ,你会发现没有彩色圆形的图表.
删除以下行:
formatter: "{a} <br/>{b} : {c} ({d}%)"
Run Code Online (Sandbox Code Playgroud)
然后按<运行>进行刷新,您将看到回合.
我使用 Carbon(PHP 库)将日期设置为日期。但我希望它不要持续到下个月,而是停止到月底。例子:
Carbon::create(2018, 2, 27, 0, 0, 0)->day(31);
Run Code Online (Sandbox Code Playgroud)
我越来越
2018-03-03 00:00:00
但是我需要
2018-02-28 00:00:00
当您运行几个月时,Carbon 会为您提供->subMonthsNoOverflow()和 ->addMonthsNoOverflow()这确实很有帮助,但没有什么比这更适合设定一天了。
正如您所料,当验证失败时,我创建了一个重定向.
return Redirect::to('search')->withErrors($v->messages())
Run Code Online (Sandbox Code Playgroud)
我可以在视图中访问它而没有问题,但我想做一些不同的事情.我有一个ErrorPartial.blade.php,我希望将其传递给我的搜索视图.
return View::make('search.searchForm')
->with('title', 'Search Page')
->with('components', Subject::select('Component')->distinct()->get())
->with('measurementRow',$measurementRow)
->with('races', Race::parseRaceTable())
->with('errorPartial', View::make('errorPartial')
->with('errors',$v->messages())
->render())
;
Run Code Online (Sandbox Code Playgroud)
问题是我无法在此控制器功能中访问$ v.我可以访问将要传递给视图的错误吗?我试过这个:
return Redirect::to('search')->withErrors($v->messages())
->with('v', $v);
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误.
Serialization of 'Closure' is not allowed
Run Code Online (Sandbox Code Playgroud)
我可以在我的搜索视图中创建部分视图,但我想知道它们是否是这样做的一种方式.如果有人知道哪个更有效率或GPP那么我也不介意知道这一点.
谢谢
laravel ×5
php ×4
homestead ×3
eloquent ×2
vagrant ×2
baidu ×1
charts ×1
controller ×1
echarts ×1
javascript ×1
laravel-4 ×1
laravel-5 ×1
mockery ×1
php-carbon ×1
unit-testing ×1
validation ×1
view ×1
virtualbox ×1