我有一个价格列表,其中包含一个小数点的逗号和一个点作为千位分隔符.
一些例子:
12,30
116,10
1.563,14
这些来自第三方.我想将它们转换为浮点数并将它们加在一起.
做这个的最好方式是什么?number_format似乎不适用于这种格式,str_replace似乎有点矫枉过正,因为我必须在每个数字上多做一次.
有更好的方法吗?谢谢.
测试Laravel控制台命令的最佳方法是什么?
这是我正在运行的命令的示例。它在构造函数和handle方法中接受一个值。
class DoSomething extends Command
{
protected $signature = 'app:do-something';
protected $description = 'Does something';
public function __construct(A $a)
{
...
}
public function handle(B $b)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
在测试类中,我可以模拟A和B,但是我不知道如何传入$ a。
$this->artisan('app:do-something', [$b]);
Run Code Online (Sandbox Code Playgroud)
可能吗?还是我要解决所有这些错误?我是否应该将所有事情都传递给handle()方法?
谢谢。
我有一些代码来获取日历事件并显示它们.自上次调用后,如果事件已更改,则仅更新显示.
var calendar = {
events = null,
display_calendar_events : function (data) {
// Some display stuff...
},
get_events: function() {
// Get messages for calendar
$.getJSON("/ajax/get-events/", function(json){
var new_events = json.data;
// If events haven't changed, do nothing
if (this.events === new_events) {
return true;
}
// Events have changed.
// Save new events
this.events = new_events;
// Display new events
this.display_calendar_events(json);
});
},
}
Run Code Online (Sandbox Code Playgroud)
我称之为:
calendar.get_queued_events();
Run Code Online (Sandbox Code Playgroud)
问题是,我收到错误"this.display_calendar_events不是函数"(最后一行代码).但是,如果我将此行更改为:
calendar.display_canendar_events(josn)
Run Code Online (Sandbox Code Playgroud)
有用.使用"this.events"存储旧事件在两种情况下都能正常工作.
谁可以给我解释一下这个?"这个"如何为某些东西而不是其他东西工作?谢谢.
我正在尝试为每个广告帐户设置每个广告的每日费用.我们在Facebook上花了很多钱,而金融希望看到它的发展方向.基本上,我每天都在寻找昨天每套广告的花费.问题是,有很多广告集.
我试图分两部分来做这件事.首先从Graph API获取广告集ID.然后使用Marketing API获取支出.
我收到了所有广告集的列表.我不能在一次通话中这样做,因为有很多结果(超过九页).
GET/v2.4/me/adaccounts?fields=name,adcampaign_groups{id,name,campaign_group_status,account_id,adcampaigns{id,name}}
Run Code Online (Sandbox Code Playgroud)
为了获得昨天的支出,我正在为每个广告集调用Marketing API.这是我正在使用的PHP代码:
// Get spend for yesterday
$adSet = new \FacebookAds\Object\AdSet($adSetId);
$params = array(
'date_preset' => InsightsPresets::YESTERDAY,
);
/** @var Cursor $insights */
$insights = $adSet->getInsights(array('spend'), $params);
$insights->rewind();
$spend = 0;
if ($insights->current() != false) {
$spend = $insights->current()->getData()['spend'];
}
Run Code Online (Sandbox Code Playgroud)
由于我有很多广告集,所以在我获得所需数据之前很久就达到了我的小跑限制.
有没有办法在一次通话中获取此信息?如果没有,我可以在较少的电话中从Marketing API获取支出数据吗?
如果有帮助,我很高兴更新到Graph API v2.5.我正在使用作曲家库:
facebook/php-sdk-v4: ~5.0
facebook/php-ads-sdk: 2.4.*
Run Code Online (Sandbox Code Playgroud)
谢谢.
php facebook facebook-graph-api facebook-marketing-api facebook-graph-api-v2.4
我正在使用SOAP 连接到第三方服务.此服务有时会返回SoapFaults.因为这是预期的,我想通过模拟SoapFaults来测试它.它将返回五种标准的SoapFaults.
这是一个真正的SoapFault的开始:
object(SoapFault)#7 (11) {
["message":protected]=>
string(19) "{ 'INVALID_INPUT' }"
Run Code Online (Sandbox Code Playgroud)
我对此消息感兴趣.在我的代码中,我使用$ e-> getMessage().
catch (SoapFault $e)
{
// Catch any Soap faults and convert to an error message
switch ($e->getMessage())
{
case "{ 'INVALID_INPUT' }":
$this->addError(self::INVALID_INPUT);
return FALSE;
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何模拟SoapClient响应.SoapClient对象似乎没有接受任何输入来设置消息,并且该方法getMessage()是最终的,所以我无法模拟它.
任何想法,将不胜感激.谢谢.
是否可以将ZF2表单用作独立组件?ZF1可以实现这一点,但我无法用ZF2来解决这个问题.
我可以创建一个表单和一个验证器,但无法弄清楚如何呈现表单:
$form = new AddressBookForm('address_book'); \\ extends Zend\Form\Form
if ($this->input->isPost()) {
$validator = new AddressBookValidator(); \\ implements Zend\InputFilter\InputFilterAwareInterface
$form->setInputFilter($validator->getInputFilter());
$form->setData($this->input->getPost());
if ($form->isValid()) {
echo 'valid'; exit;
}
}
// Render form somehow here???
Run Code Online (Sandbox Code Playgroud)
我尝试创建一个视图,但无法弄清楚如何给它视图助手.谢谢.