遵循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)
它实际上是使用正确的密钥更新,但遗憾的是,它正在覆盖其他密钥(它们正被删除).
我使用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来使用.
任何想法,提示?
在用户使用FOSUserBundle的密码重置重置密码后,默认情况下,他被重定向到FOSUserProfile.我想重定向到另一条路线.这是可能的,如果可以,怎么样?
我正在使用离子标签.一些选项卡是从数据库生成的(没有图标的选项卡)
现在当我添加一个新标签并刷新数组时,我应该得到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) 上周一切顺利,当我在设备上运行应用程序或使用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请求.
有人经历过类似的事吗?我对此感到非常头疼.
我使用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) 我正在尝试访问视图助手中的服务定位器,以便我可以访问我的配置.我正在使用此视图助手进行递归功能,因此我不知道在哪里声明服务定位器.
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) 当我执行"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的路径
我不确定它应该在这里,任何提示或解决方案将不胜感激.
我想知道有多少客户实际上订阅了聊天室/会话.
更确切地说,我只想知道是否有超过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?
更新:
我想我开始看到一个解决方案了. …
如何在控制器或服务外部渲染模板?
我一直在关注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)
我完全迷失在这里.
我需要做的就是为正在发送的电子邮件呈现模板.
php ×3
angular ×2
cordova ×2
javascript ×2
symfony ×2
android ×1
angular6 ×1
angularjs ×1
apache ×1
firebase ×1
ionic ×1
ionic2 ×1
ionic4 ×1
macos ×1
phpwebsocket ×1
ratchet ×1
tabs ×1
typescript ×1
url-routing ×1
view-helpers ×1
websocket ×1