小编Bri*_*euc的帖子

Cloud Firestore:使用动态密钥更新嵌套对象中的字段

遵循firestore的官方文档:

{
    name: "Frank",
    favorites: { food: "Pizza", color: "Blue", subject: "recess" },
    age: 12
}

// To update favorite color:
db.collection("users").doc("frank").update({
    "favorites.color": "Red"
})
Run Code Online (Sandbox Code Playgroud)

我想使用动态键而不是颜色.

db.collection("users").doc("frank").update({
    "favorites[" + KEY + "].color": true
});
Run Code Online (Sandbox Code Playgroud)

这当然是不可能的,并会抛出错误.

我一直试图这样做:

db.collection("users").doc("frank").update({
    favorites: {
        [key]: {
            color": true
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

它实际上是使用正确的密钥更新,但遗憾的是,它正在覆盖其他密钥(它们正被删除).

javascript firebase google-cloud-firestore

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

如何设置要使用的默认php.ini,OSX Yosemite

我使用OSX Yosemite设置了一个新环境.

我正在使用内置的PHP.

我想改变在php.ini一些配置,如date.timezone但尽管重新启动Apache服务器(须藤的apachectl重新启动)没有任何修改的正常工作.

phpinfo()给出了一个不同于php --ini命令的路径.

phpinfo()函数:

配置文件(php.ini)路径/ usr/local/php5/lib

加载的配置文件/usr/local/php5/lib/php.ini

通过命令:

哪个php

在/ usr/bin中/ PHP

php --ini

配置文件(php.ini)路径:/ etc

加载的配置文件:/etc/php.ini

扫描:/ Library/Server/Web/Config/php中的其他.ini文件

解析了其他.ini文件:(无)

所以我想我必须告诉我应该在哪里设置默认的php.ini来使用.

任何想法,提示?

php apache macos

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

FOSUserBundle:密码重置后的成功目标

在用户使用FOSUserBundle的密码重置重置密码后,默认情况下,他被重定向到FOSUserProfile.我想重定向到另一条路线.这是可能的,如果可以,怎么样?

url-routing symfony fosuserbundle

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

Ionic 2:添加新动态选项卡后刷新选项卡视图

我正在使用离子标签.一些选项卡是从数据库生成的(没有图标的选项卡)

离子动态标签

现在当我添加一个新标签并刷新数组时,我应该得到3个动态标签.相反,我有5个(前2个和前2个具有最新创建的选项卡)尽管数组正确有3个对象.

添加动态标签

添加了动态标签

[对象,对象,对象]

在此输入图像描述

所以这里的相关代码(tabs组件有一个监听选项卡创建的事件):

// tabs.ts

import { Component } from '@angular/core';
import { Events } from 'ionic-angular';
import { DatabaseService } from "../../providers/database.service";

import { ItemsPage } from '../items/items';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';
import { CategoryPage } from '../category/category';

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {

  categories: any = [];

  tab1Root = HomePage;
  tab2Root = CategoryPage;
  tab3Root = ItemsPage;
  tab4Root = ContactPage;

  constructor(public databaseService: DatabaseService, public events: Events) {
      this.events.subscribe('category:created', …
Run Code Online (Sandbox Code Playgroud)

javascript tabs ionic-framework ionic2 angular

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

Cordova/Ionic:$ http请求在设备上模拟或运行时不进行处理

上周一切顺利,当我在设备上运行应用程序或使用Genymotion进行模拟时,所有对api的调用都在工作(要么返回数据,要么失败但至少显示一些内容).

我在用

ionic run android
Run Code Online (Sandbox Code Playgroud)

我添加更新全球cordova离子:

npm install -g cordova ionic
Run Code Online (Sandbox Code Playgroud)

因为所有$ http请求都没有处理.当Api仍然正常工作并且CORS完美设置时,我无法得到任何响应.

我找到的唯一方法是使用选项--livereload或-l:

ionic run -l android
Run Code Online (Sandbox Code Playgroud)

我想避免不惜任何代价使用livereload.

我开始使用ionic 1.0.0和cordova lib 4.3.0从头开始创建一个项目.

angular.module('starter.controllers', [])

.controller('AppCtrl', function($scope, $ionicModal, $timeout, $http) {

  alert('calling api');
  // Create an anonymous access_token
  $http
      .get(domain+'/oauth/v2/token?client_id='+public_id+'&client_secret='+secret+'&grant_type=client_credentials')
      .then(function(response){
          alert(response.data.access_token);
      });
})
Run Code Online (Sandbox Code Playgroud)

所以在使用时:

ionic serve
Run Code Online (Sandbox Code Playgroud)

它正确地警告"调用api"然后响应(该示例的OAuth访问令牌).

但在使用时:

ionic run android
Run Code Online (Sandbox Code Playgroud)

它仅警告'调用api'但似乎不处理http请求.

有人经历过类似的事吗?我对此感到非常头疼.

angularjs cordova phonegap-build ionic

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

Ionic 4/Angular 6:选项卡中的嵌套子路径

我使用Ionic Tabs Component生成了一个应用程序.

标签是交货,关于联系.

然后我生成了一个页面细节.

我希望页面详细信息成为" 交付"选项卡的子项.

当我在详细信息页面上时,我正在浏览交付选项卡.

有人在Ionic Forum上提出了类似的问题

生成的目录结构:

- about
- contact
- deliveries
    deliveries.module.ts
- details
    details.module.ts
- tabs
    tabs.module.ts
    tabs.page.html
    tabs.router.module.ts
app.module.ts
app-routing.module.ts
Run Code Online (Sandbox Code Playgroud)

这是生成的app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
  { path: '', loadChildren: './tabs/tabs.module#TabsPageModule' },
];
@NgModule({
  imports: [
    RouterModule.forRoot(routes)
  ],
  exports: [RouterModule]
}) …
Run Code Online (Sandbox Code Playgroud)

typescript angular ionic4 angular6

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

Zend框架2:视图助手中的服务定位器

我正在尝试访问视图助手中的服务定位器,以便我可以访问我的配置.我正在使用此视图助手进行递归功能,因此我不知道在哪里声明服务定位器.

namespace Application\View\Helper;

use Zend\View\Helper\AbstractHelper;
use CatMgt\Model\CategoryTable as RecursiveTable;

class CategoryRecursiveViewHelper extends AbstractHelper
{
    protected $table;

    public function __construct(RecursiveTable $rec)
    {
        $this->table = $rec; 
    }

    public function __invoke($project_id, $id, $user_themes_forbidden, $level, $d, $role_level)
    {

       $config = $serviceLocator->getServiceLocator()->get('config');

       //So i can access $config['templates']

       $this->__invoke($val->project_id, $id, $user_themes_forbidden, $level, $d, $role_level);

    }

}
Run Code Online (Sandbox Code Playgroud)

我试过解决方案给这里链接

但它没有帮助,这样做是否可行?

namespace Application\View\Helper;

use Zend\View\Helper\AbstractHelper;
use CatMgt\Model\CategoryTable as RecursiveTable;
use Zend\View\HelperPluginManager as ServiceManager;

class CategoryRecursiveViewHelper extends AbstractHelper
{
    protected $table;
    protected $serviceManager;

    public function __construct(RecursiveTable $rec, ServiceManager $serviceManager) …
Run Code Online (Sandbox Code Playgroud)

php view-helpers service-locator zend-framework2

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

Cordova:命令失败,退出代码为EACCES

当我执行"cordova platform add android"命令时返回:

错误:/Users/brieuc/.cordova/lib/android/cordova/3.6.4/bin/create:命令失败,退出代码为EACCES,位于ChildProcess.whenDone(/ usr/local/lib/node_modules/cordova/node_modules/cordova- lib/src/cordova/superspawn.js:135:23)在Process.ChildProcess._handle.onexit(child_process.js:818:12)的ChildProcess.emit(events.js:95:17)

我已经读过它可能是一个许可问题,所以我试图使用"sudo cordova platform add android",但返回相同的错误.

我还尝试在我的项目文件夹和平台文件夹中使用chmod 777.

我试图删除平台文件夹,重新创建文件夹然后返回相同的错误.

有关您的信息,命令"java","ant","cordova","npm"都可以识别.

我唯一的猜测是我的SDK路径是错误的.

在这里我做了什么:

(我在Mac Yosemite上获取信息)

我下载了Standalone SDK工具.

我创建了一个文件夹/ Development/Android并添加了解压缩的下载文件夹(android-sdk-macosx).

有关您的信息,"platforms"文件夹为空.

我在/ etc/paths中添加了/ Development/Android/android-sdk-macosx/tools的路径

我不确定它应该在这里,任何提示或解决方案将不胜感激.

android cordova

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

棘轮/ Websockets:订阅对象的客户数量是多少?

我想知道有多少客户实际上订阅了聊天室/会话.

更确切地说,我只想知道是否有超过1个客户端.(聊天室实际上是两个用户之间的私密对话).

一次只有一个聊天室/私人对话(每个用户).

class Chat implements WampServerInterface
{
    protected $conversationId;
    public function __construct(){
        $this->conversationId = null;
    }
    public function onSubscribe(ConnectionInterface $conn, $conversation_id){
        $this->conversationId = $conversation_id;
        echo "Client $conn->resourceId assigned to the conversation : $conversation_id\n";
    }
    public function onPublish(ConnectionInterface $conn, $conversation_id, $event, array $exclude, array $eligible){
        // How to get $nb_clients ?
        echo "$nb_clients User(s) in conversation";
        echo "Message sent to $conversation_id : $event";
        // ...
        $message = $event; 
        // Send data to conversation
        $this->conversationId->broadcast($message);
    }
}
Run Code Online (Sandbox Code Playgroud)

那么在给定的代码中,如何获得$ nb_clients?


更新:

我想我开始看到一个解决方案了. …

php websocket phpwebsocket ratchet

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

Symfony 2:如何在控制器或服务外部呈现模板?

如何在控制器或服务外部渲染模板?

我一直在关注Symfony2的文档.文件

namespace Acme\HelloBundle\Newsletter;

use Symfony\Component\Templating\EngineInterface;

class NewsletterManager
{
    protected $mailer;

    protected $templating;

    public function __construct(
        \Swift_Mailer $mailer,
        EngineInterface $templating
    ) {
        $this->mailer = $mailer;
        $this->templating = $templating;
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

这就是我打电话给我的帮手:

$transport = \Swift_MailTransport::newInstance();
$mailer = \Swift_Mailer::newInstance($transport);
$helper = new MailHelper($mailer);
$helper->sendEmail($from, $to, $subject, $path_to_twig, $arr_to_twig);
Run Code Online (Sandbox Code Playgroud)

所以这里缺少的第一件事是构造方法的第二个参数:

$helper = new MailHelper($mailer);
Run Code Online (Sandbox Code Playgroud)

但是我如何实例化EngineInterface?

当然不能是:

new EngineInterface();
Run Code Online (Sandbox Code Playgroud)

我完全迷失在这里.

我需要做的就是为正在发送的电子邮件呈现模板.

symfony

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